昨天我開始編碼上傳文件上傳圖片到目錄。我認識到,我必須使用數組來處理這更好的辦法,我到了一點,我現在使用:藉助數組上傳圖片
if(!empty($_FILES['image']['tmp_name'])){
$allowed_extension = array('jpg', 'jpeg', 'png', 'bmp', 'tiff', 'gif');
foreach($_FILES['image']['name'] as $key => $array_value){
$file_name = $_FILES['image']['name'][$key];
$file_size = $_FILES['image']['size'][$key];
$file_tmp = $_FILES['image']['tmp_name'][$key];
$file_extension = strtolower(end(explode('.', $file_name)));
if (in_array($file_extension, $allowed_extension) === false){
$errors[] = 'file is not accepted';
}
if ($file_size > 2097152){
$errors[] = 'maxsize: 2MB';
}
$path = "a/b/c/";
$uploadfile = $path."/".basename($_FILES['image']['name'][$key]);
if (move_uploaded_file($_FILES['image']['tmp_name'][$key], $uploadfile)){
echo "Das Bildmaterial wurde hochgeladen.";
}
}
}
問題是,我甚至可以上傳文件,所有的時間當非接受的結局是給出的。我不明白爲什麼上傳發生時,而不是上傳錯誤信息應該已經顯示。我喜歡通過嵌入允許的代碼擴展來獲得更多的安全性。如果有人能告訴我我做錯了什麼,我會很感激。非常感謝。