4 回答

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超1個(gè)贊
它本身就支持選擇多個(gè)文件的!在php中,通過三維數(shù)據(jù)來獲取相應(yīng)的信息,比如:
<form action="u_f.php" method="post" enctype="multipart/form-data">?選擇要上傳的文件: <input type="file" name="myfiles[]" multiple="">?<br>? ? <input type="submit" value="上傳"></form>提交多個(gè)文件后(按順序的),$_FILES["myfiles"]["name"][$i]:就是獲取各個(gè)文件名的,$_FILES["myfiles"]["size"][$i]:就是獲取各個(gè)文件的大小的

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超6個(gè)贊
<?php
$max_files=5; //最多上傳文件的個(gè)數(shù),與 up.htm 中的 input file 控件的個(gè)數(shù)相同
$up_ok_files=0; //成功上傳的文件個(gè)數(shù)
$up_folder="ups"; //保存上傳文件的目標(biāo)文件夾
if(isset($_FILES['myfile'])){
//由于 $_FILES['myfile'] 是個(gè)數(shù)組,所以需要使用循環(huán)遍歷
for($i=0;$i<$max_files;$i++){
//如果未出錯(cuò)
if($_FILES['myfile']['error'][$i]==0){
if(move_uploaded_file($_FILES['myfile']['tmp_name'][$i],$up_folder."/".$_FILES['myfile']['name'][$i])){
//成功上傳后,計(jì)數(shù)器增 1
$up_ok_files +=1;
}
else{
echo "<h4 style='color:red;'>在服務(wù)器中保存失敗</h4>";
}
}
}
echo "<h4>成功上傳 ".$up_ok_files. " 個(gè)文件</h4>";
}
?>
如果對 $_FILES['myfile'] 這個(gè)數(shù)組的結(jié)構(gòu)不清楚,那么可以在循環(huán)之前加入這句代碼將其顯示出來:
print_r($_FILES['myfile']);
對這個(gè)數(shù)組的結(jié)構(gòu)了解之后,理解上述代碼就比較容易了。
foreach循環(huán)實(shí)現(xiàn)
常規(guī)下,php上傳一張圖片,頁面上添加一個(gè)文件域,上傳后,得到的數(shù)組是二維數(shù)組
轉(zhuǎn)變一下,
頁面上添加多個(gè)文件域,并且他們的name屬性相同,而且是以數(shù)組形式提交(比如:name="file[]")
那么上傳后,得到的是三維數(shù)組
而,php中,foreach循環(huán)對遍歷數(shù)組那真是完美至極
用foreach遍歷一次這個(gè)三維數(shù)組,得到的結(jié)果就又是二維數(shù)組,那么,就和上傳一張圖片一樣一樣的了

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊
foreach循環(huán)實(shí)現(xiàn)
常規(guī)下,php上傳一張圖片,頁面上添加一個(gè)文件域,上傳后,得到的數(shù)組是二維數(shù)組
轉(zhuǎn)變一下,
頁面上添加多個(gè)文件域,并且他們的name屬性相同,而且是以數(shù)組形式提交(比如:name="file[]")
那么上傳后,得到的是三維數(shù)組
而,php中,foreach循環(huán)對遍歷數(shù)組那真是完美至極
用foreach遍歷一次這個(gè)三維數(shù)組,得到的結(jié)果就又是二維數(shù)組,那么,就和上傳一張圖片一樣一樣的了
- 4 回答
- 0 關(guān)注
- 3069 瀏覽
添加回答
舉報(bào)