1 回答

TA貢獻1784條經驗 獲得超7個贊
我已經復制并以某種方式測試了您的代碼。您不需要執行 is_uploaded_file 調用,因為這些檢查是在 move_uploaded_file 函數中進行的(https://www.php.net/manual/en/function.is-uploaded- file.php#113766)。另請檢查存儲圖像的目錄是否存在。
<?php
/* Directory where uploaded images will be placed */
$imageDir = 'img/articles';
/* Checking request parameters */
if (!isset($_FILES['articleImage']) || empty($_FILES['articleImage'])) {
echo "Error : the file is missing";
die();
}
/* Checking upload errors */
if ($_FILES['articleImage']['error'] != UPLOAD_ERR_OK) {
echo "Error : " . $_FILES['articleImage']['error'];
die();
}
/* Checking file size */
if ($_FILES['articleImage']['size'] == 0) {
echo "Error : the file is empty";
die();
}
/* Checking if directory exists */
if (!is_dir($imageDir)) {
echo 'Image directory does not exist';
die();
}
/* Checking file doesn't already exist */
$imagePath = $imageDir . $_FILES['articleImage']['name'];
if (file_exists($imagePath)) {
echo "Error : the filename is already taken";
die();
}
/* Writing image */
if (!move_uploaded_file($_FILES['articleImage']['tmp_name'], $imagePath)) {
echo "Error : the file coundn't be written";
die();
}
echo 'Success';
die();
- 1 回答
- 0 關注
- 187 瀏覽
添加回答
舉報