2016-10-19 166 views
0

我想上傳多個文件上傳。它與簡單的 文件上傳幾乎類似,但我們需要做一些修改,使用html標記和 php代碼。需要多個屬性才能在html標記上添加。 Firefox,Chrome,Safari和IE 9+等主流網絡瀏覽器都支持這個 屬性。我要告訴你如何上傳多個文件使用PHP 和基本HTML形式,但缺少點什麼它(多個文件不 上傳)用PHP多文件上傳

我想下面的代碼

HTML代碼

<html> 
<head> 

<?php 

if (isset($message)) { 
foreach ($message as $msg) { 
printf(「<p class=’status’>%s</p></ br>\n」, $msg); 
} 
} 
# success message 
if($count !=0){ 
printf(「<p class=’status’>%d files added successfully!</p>\n」, $count); 
} 
?> 
<title>Multiple File upload with PHP</title> 
</head> 
<body> 
<form action=」」 method=」post」 enctype=」multipart/form-data」> 
<input type=」file」 id=」file」 name=」files」 multiple=」multiple」 accept=」image/*」 /> 
<input type=」submit」 value=」Upload!」 /> 
</form> 
</body> 
</html> 

PHP腳本

<?php 
$valid_formats = array(「jpg」, 「png」, 「gif」, 「zip」, 「bmp」); 
$max_file_size = 1024*5000; //100 kb 
$path = 「uploads/」; // Upload directory 
$count = 0; 

if(isset($_POST) and $_SERVER[‘REQUEST_METHOD’] == 「POST」){ 
// Loop $_FILES to exeicute all files 
foreach ($_FILES[‘files’][‘name’] as $f => $name) { 
if ($_FILES[‘files’][‘error’][$f] == 4) { 
continue; // Skip file if any error found 
} 
if ($_FILES[‘files’][‘error’][$f] == 0) { 
if ($_FILES[‘files’][‘size’][$f] > $max_file_size) { 
$message[] = 「$name is too large!.」; 
continue; // Skip large files 
} 
elseif(! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats)){ 
$message[] = 「$name is not a valid format」; 
continue; // Skip invalid file formats 
} 
else{ // No error found! Move uploaded files 
if(move_uploaded_file($_FILES[「files」][「tmp_name」][$f], $path.$name)) 
$count++; // Number of successfully uploaded file 
} 
} 
} 
} 

?> 
+0

究竟是什麼問題? – Dekel

回答

0

更換輸入文件名,例如[]不喜歡的文件看下面的表格示例文件..

<form action=」」 method=」post」 enctype=」multipart/form-data」> 
     <input type=」file」 id=」file」 name=」files[]」 multiple=」multiple」 accept=」image/*」 /> 
     <input type=」submit」 value=」Upload!」 /> 
</form> 
+0

謝謝你@sameer現在它正在工作。 – maddy

1

使用files[]<input>名attaribute

<input type=」file」 id=」file」 name=」files[]」 multiple=」multiple」 accept=」image/*」 /> 

我們還需要給文件輸入類型的文件名像files[]這樣的箱子中斷,並且需要添加一個名爲multiple的屬性。這裏accept是一個可選屬性,用於允許用戶只上載圖像文件。