文件上傳的樂趣

修改php配置文件(php.ini),改變文件上傳大小

? ? ? ? ?配置項 post_max_size =1024M

? ? ? ? ? ? ? ? ? ? ?upload_max_filesize =1024M

多文件上傳

form表單中添加多個input[type='file']標簽

加上multiple = 'multiple'屬性

多文件無刷新上傳(ajax)

<input type='file' id='file' name='file[]' multiple = 'multiple'>

//上傳按鈕改為button,給點擊事件

<button onclick='upload()'>多文件上傳</button>

//js

<script>

function upload() {

var xhr=new XMLHttpRequest();//第一步

//新建一個FormData對象

var formData=new FormData();//++++++++++

//獲取id=file文件

var newfile=document.getElementById('file').files;

//? ? ? ? console.log(newfile);

//? ? ? ? return;

//追加文件數據

//? ? ? ? formData.append('file', newfile);單個文件

for(i=0;i<newfile.length;i++){

? ? ? formData.append("file["+i+"]",newfile[i]);//++++++++++

}

//post方式

xhr.open('POST','upload.php');//第二步驟

//發送請求

xhr.send(formData);//第三步驟

//ajax返回

xhr.onreadystatechange=function(){//第四步

? ? ? ? ? if(xhr.readyState==4&&xhr.status==200) {

? ? ? ? ? ? ? ? console.log(xhr.responseText);

? ? ? ? ? }

?};

//設置超時時間

xhr.timeout=10000;

xhr.ontimeout=function(event){

? ? ? ? ? ? alert('請求超時!');

? ? ? ?}

}

//php文件


/**

* 文件上傳保存

*/

print_r($_FILES);

for($i=0;$i<count($_FILES["file"]['name']);$i++){

$name=$_FILES["file"]["name"][$i];

move_uploaded_file($_FILES["file"]["tmp_name"][$i],iconv("UTF-8","gb2312",$name));

}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Ajax和XMLHttpRequest 我們通常將Ajax等同于XMLHttpRequest,但細究起來它們兩個是...
    changxiaonan閱讀 2,259評論 0 2
  • 方法一 對php.ini進行修改 file_uploads = on; //是否允許通過http上傳文件的開關(默...
    SilverBullet007閱讀 907評論 0 1
  • 在完成上傳三維模型的功能的時候,考慮到一般的三維模型都是多個文件組成的文件夾,所以就試了試紅寶書中提到的FormD...
    shaYanL閱讀 2,029評論 2 2
  • 基于官方文檔的翻譯,官方文檔 file_browser_callback這個選項允許你添加自己的文件或者圖片瀏覽器...
    Keriy閱讀 22,379評論 2 9
  • 路飛是被吵醒的,準確的說是被艾斯吵醒的,剛睜開眼睛的他腦中還很渾噩,神情還不清明,眼前閃過的一幀幀都是夢里...
    小良公子閱讀 621評論 0 1