PHP實現多檔案上傳

來源:互聯網
上載者:User
求夠一個PHP實現多檔案上傳的例子,直接貼代碼,謝謝。


回複討論(解決方案)

怎麼沒有人。。。。

百度swfupload,下載個執行個體研究下吧
多檔案上傳不是幾句代碼就說清楚的。

會單檔案上傳不?會的話多檔案是一樣的道理。只不過表單控制項命名為數組,php處理數組而已。

$_FILES["file"] 怎麼接收數組的檔案,我用
foreach ($_FILES["file"] as $item)
{
$s=$s.",".$item;
}
只能接收一個檔案

你的html代碼是什嗎?

if($_FILES['file']['size'] >0){
if ( $_FILES["file"]["error"] > 0){
$msg= "附件上傳錯誤: " . $_FILES["file"]["error"];
}else{
//if (file_exists("upload/".$_FILES["file"]["name"])){
// echo $msg =$_FILES["file"]["name"]." 附件已經存在! ";
//}else{
$yc = $_POST['yc'];
$yt = $_POST['yt'];
$type = $_POST['type'];
$newFileName=str_replace(".","_".time().".",$_FILES["file"]["name"]);
$path="upload/" . $newFileName;
move_uploaded_file($_FILES["file"]["tmp_name"],$path);

$sql="insert into A004(c02,c03,c04,c05,c06,c07,c08,c09,c10) values ('".$id."','".$newFileName."','".$path."','".$yc[0]."','". $yt[0]."','".$type[0]."','0','".$_SESSION['LOGIN_ID']."','".get_time()."') ";
$msg=$DB->Update($sql,"[10016]提交資料時失敗,請稍後再試,或與技術員聯絡!");

//}
}
}








jQuery動態添加input type=file檔案上傳域







for($i=0; $i //這部分是你的恕我不一一抄錄,不過加了點東西
$newFileName=str_replace(".","_".time().".",$_FILES["file"]["name"] [$i]);
$path="upload/" . $newFileName;
move_uploaded_file($_FILES["file"]["tmp_name"] [$i],$path);
}

不過 time() 似乎不夠了,要 microtime(1) 才基本夠

試試uploadify
稍作修改就ok了。

https://github.com/valums/file-uploader
推薦

for($i=0; $i //這部分是你的恕我不一一抄錄,不過加了點東西
$newFileName=str_replace(".","_".time().".",$_FILES["file"]["name"] [$i]);
$path="upload/" . $newFileName;
move_uploaded_file($_FILES["file"]["tmp_name"] [$i],$path);
}

不過 time() 似乎不夠了,要 microtime(1) 才基本夠

我就想知道後台怎麼接收多檔案

樣本的代碼就是

你的上傳控制項是
所以 $_FILES["file"][xxx] 都是數組 (xxx = tmp_name,name,error,type,size)
逐個處理就是了,當然只有 error 等於 0 的才是被成功上傳的

樣本的代碼就是

你的上傳控制項是
所以 $_FILES["file"][xxx] 都是數組 (xxx = tmp_name,name,error,type,size)
逐個處理就是了,當然只有 error 等於 0 的才是被成功上傳的

foreach ($_FILES['file'] as $item)
{
//echo print_r($item);
}
怎麼這樣只得到第一個檔案啊

測試代碼

選擇兩個檔案後 

提交後 $_FILES 數組
Array
(
[file] => Array
(
[name] => Array
(
[0] => i.jpg
[1] => Ico.zip
[2] =>
)

[type] => Array
(
[0] => image/pjpeg
[1] => application/x-zip-compressed
[2] =>
)

[tmp_name] => Array
(
[0] => C:\Documents and Settings\Administrator\Local Settings\Temp\php188.tmp
[1] => C:\Documents and Settings\Administrator\Local Settings\Temp\php189.tmp
[2] =>
)

[error] => Array
(
[0] => 0
[1] => 0
[2] => 4
)

[size] => Array
(
[0] => 7198
[1] => 121062
[2] => 0
)

)

)

自己去看吧
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.