首页 > 语言 > PHP > 正文

php+ajax文件上传

2024-09-04 11:45:04
字体:大 中 小
来源:转载
供稿:网友

这是昨天在应用开发时用到的一款ajax图片上传功能了,方法很简单的就是把文件利用js给iframe来直接上传,如果上传文件成功返回1,再用js判断是否上传成功如果是就输出图片并显示预览效果,代码如下:

  1. <!doctype html public "-//w3c//dtd xhtml 1.0 transitional//en" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv="content-type" content="text/html; charset=gb2312" /> 
  5. <title>ajax文件上传</title> 
  6. <style type="text/css"> 
  7. #f1_upload_process { display:none;} 
  8. </style> 
  9. <script language="javascript" type="text/javascript"> 
  10. <!-- 
  11.  
  12. function $(id) 
  13. { 
  14.  return document.getelementbyid(id); 
  15. } 
  16.  
  17. function startupload(){ 
  18.       if( $('myfile').value =='' ) 
  19.    { 
  20.     alert('请选择要上传图片!'); 
  21.     return false; 
  22.    } 
  23.    var array = $('myfile').value.split('.'); 
  24.    var ext = array[1].tolowercase();    
  25.    if( ext =="gif" || ext =="jpg" || ext =="png" ) 
  26.    {     
  27.     $('f1_upload_process').style.display = 'block'; 
  28.     $('f1_upload_form').style.display = 'block'; 
  29.     return true; 
  30.    } 
  31.    else 
  32.    { 
  33.    alert('只允许上传gif jpg png格式图像文件!'); 
  34.    return false;   
  35.    } 
  36. } 
  37.  
  38. function stopupload(success,pic){ 
  39.       var result = ''; 
  40.       if (success ==1 ){ 
  41.    result ='<img src='+pic+' />'; 
  42.    $('logo').value=pic; 
  43.       } 
  44.       else { 
  45.          result = '<span class="emsg">logo图片上传失败,请联系开发人员!</span><br/><br/>'; 
  46.       } 
  47.       $('f1_upload_process').style.display = 'none'; 
  48.       $('f1_upload_form').innerhtml = result + '<br /><label><input name="myfile" type="file" size="30" /></label><label><input type="submit" name="submitbtn" class="sbtn" value="上传图片" /></label>'; 
  49.       $('f1_upload_form').style.display = 'block';      
  50.       return true;    
  51. } 
  52.  
  53. //--> 
  54. </script>  
  55. </head> 
  56.  
  57. <body> 
  58. <form action="upload.php" method="post" enctype="multipart/form-data" target="upload_target" onsubmit="javascript:return startupload();" > 
  59.      <span id="f1_upload_process"><img src="loader.gif" /></span> 
  60.      <span id="f1_upload_form" align="center"> 
  61.        <input name="myfile" type="file" id="myfile" size="30" />    
  62.        <input type="submit" name="submitbtn" class="sbtn" value="上传图片" /> 
  63.          
  64.      </span> 
  65.       
  66.      <iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe> 
  67.  (可上传 gif,jpg,png) 
  68. </form> 
  69. </body> 
  70. </html> 

upload.php,代码如下:

  1. <?php 
  2.    $destination_path = '../../upfile/jianjulogo/';//getcwd().directory_separator; 
  3.  
  4.    $result = 0; 
  5.     
  6.    $target_path = $destination_path . basename( $_files['myfile']['name']); 
  7.  
  8.    if(@move_uploaded_file($_files['myfile']['tmp_name'], $target_path)) {//开源代码Vevb.com 
  9.       $result = 1; 
  10.    } 
  11.    echo $target_path; 
  12.    sleep(1); 
  13.  
  14.  
  15. ?> 
  16. <script language="javascript" type="text/javascript">window.top.window.stopupload(<?php echo $result; ?>,'<?=$target_path?>');</script>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表