我有以下HTML和PHP代碼來處理上傳多個文件到服務器中的文件夾。 只有一個文件(來自選定的上傳文件)被上傳到服務器。 有人能告訴我我做錯了什麼嗎?我剛剛開始使用PHP/HTML,並且對此任務無能爲力。上傳多個文件到服務器:獲取PHP代碼錯誤
HTML:
<form action="upload_multi15_action.php" method="POST" enctype="multipart/form-data">
Select files to upload: <br />
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<br />
<input type="submit" value="Upload files">
</form>
PHP:
$count=0;
echo '<pre>';
foreach($_FILES['userfile']['name'] as $to_upload){
$upload = "./".basename($to_upload);
move_uploaded_file($_FILES['userfile']['tmp_name'][$count], $upload) or
die("Possible file upload attack!\n");
$count = $count++;
$upload = '';
}
print "</pre>";
我完全失去了什麼,我可以做錯誤的PHP代碼。
我注意到了你的建議。我有很多需要學習的東西似乎是 –
每個人都從某個地方開始。一個好的經驗法則是:永遠不要相信用戶並驗證他們給你的所有東西。從技術上講,我可能不應該像'我在那裏'那樣'回顯'$ count'變量,因爲用戶可以編輯表單並修改表單,儘管我很難考慮一個可以利用它的有用攻擊。順便說一句,如果你不想使用foreach的索引,並希望保持基於增量的方法,只需將'$ count = $ count ++;'更改爲'$ count ++;' – EPB
update @EPB,我更改了「$ count = $ count ++「到」$ count ++「。這似乎將所有選定的文件上傳到服務器。我很高興但很驚訝,這個小小的變化讓PHP代碼能夠正常工作。非常感謝您的建議。 –