[英]Multiple file uploads with php
我正在嘗試用一個表單發布上載兩個文件,但是我的表單只會上載第一個文件,而不會遍歷第二個文件並上載。 知道為什么嗎? 我正在使用的代碼如下。
<?php
$upload = $_POST['upload'];
$enteredPassword = $_POST['password'];
$uploadedFiles = $_FILES;
$password = "************";
// Where the file is going to be placed
$target_path = "";
//interger count
$i = 0;
//upload the files
if ($upload == true && $enteredPassword == $password) {
foreach($uploadedFiles as $uploadedFile) {
$target_path = $target_path . $uploadedFile['name'][$i];
if(move_uploaded_file($uploadedFile['tmp_name'][$i], $target_path)) {
echo "<p>The file ". $uploadedFile['name'][$i].
" has been uploaded.</p>";
} else{
echo "<p>There was an error uploading the {$uploadedfile['name']}, please try again!</p>";
}
$i++;
}
}
?>
<ul>
<form enctype="multipart/form-data" action="" method="post">
<input type="hidden" name="upload" value="true" />
<li>Choose a file to upload:</li>
<li><input name="userfile[]" type="file" size="40" /></li>
<li><input name="userfile[]" type="file" size="40" /></li>
<li>Enter password for file upload:</li>
<li><input name="password" type="password" size="40" /></li>
<li><input type="submit" value="Upload File" /></li>
</form>
</ul>
如果願意,可以使用此插件上傳多個圖像。 它對我非常有用... http://www.plupload.com/example_queuewidget.php
嘗試使用uploadify,它具有出色的api和回調功能,適合多次上傳。 http://www.uploadify.com/
因為$ _FILES數組中只有一個元素$ _FILES [“ userfile”],所以可以預期該行為。 您可以嘗試這樣的事情來實現您想要的:
<?php
if(isset($_POST["submit"]))
{
$upload = $_POST['upload'];
$enteredPassword = $_POST['password'];
$uploadedFiles = $_FILES["userfile"];
$password = "12345";
// Where the file is going to be placed
$base_path = "upload/";
//upload the files
if ($upload == true && $enteredPassword == $password) {
foreach(array_combine($uploadedFiles["name"], $uploadedFiles["tmp_name"]) as $name => $tmp_name) {
$target_path = $base_path .$name;
if(move_uploaded_file($tmp_name, $target_path)) {
echo "<p>The file ". $name." has been uploaded.</p>";
}
else
{
echo "<p>There was an error uploading the {$name}, please try again!</p>";
}
}
}
}
?>
<ul>
<form enctype="multipart/form-data" action="" method="post">
<input type="hidden" name="upload" value="true" />
<li>Choose a file to upload:</li>
<li><input name="userfile[]" type="file" /></li>
<li><input name="userfile[]" type="file" /></li>
<li>Enter password for file upload:</li>
<li><input name="password" type="password" size="40" /></li>
<li><input type="submit" name="submit" value="Upload File" /></li>
</form>
</ul>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.