Предупреждение: getimagesize () : Имя файла не может быть пустым предупреждающим сообщением?

До недавнего времени я использовал некоторый PHP для загрузки фотографий на сайт. Но внезапно он запускает всевозможные сообщения об ошибках.

Я использую форму, которая в действии запускает следующий код:

$uploaddir = "../../user_content/photo/"; $allowed_ext = array("jpeg", "jpg", "gif", "png"); if(isset($_POST["submit"])) { $file_temp = $_FILES['file']['tmp_name']; $info = getimagesize($file_temp); } else { print "File not sent to server succesfully!"; exit; } 

Часть загрузки файла формы имеет следующие элементы:

 <input name="file" type="file" class="photo_file_upload"> 

Кнопка отправки для загрузки имеет следующие атрибуты:

 <button type="submit" name="submit" class="photo_upload">Upload</button> 

Но всякий раз, когда я запускаю это, я всегда получаю следующее предупреждение:

 Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in (upload PHP file) on line 10 

(строка 10 – это часть: $ info = getimagesize ($ file_temp);)

У кого-нибудь есть идеи о том, что является причиной этого?

Solutions Collecting From Web of "Предупреждение: getimagesize () : Имя файла не может быть пустым предупреждающим сообщением?"

Вы проверили, была ли форма отправлена, но не проверяли, отправлен ли файл. В некоторых случаях может быть отправлена ​​форма, но файл не будет отправлен (т. Е. Размер файла больше, чем размер файла в конфигурации).

Использовать это:

 if(isset($_POST["submit"]) && isset($_FILES['file'])) { $file_temp = $_FILES['file']['tmp_name']; $info = getimagesize($file_temp); } else { print "File not sent to server succesfully!"; exit; } 

Вы видите && isset ($ _ FILES ['file']) является новым

Или вы можете расширить его

 if(isset($_POST["submit"]) && isset($_FILES['file'])) { $file_temp = $_FILES['file']['tmp_name']; $info = getimagesize($file_temp); } elseif(isset($_POST["submit"]) && !isset($_FILES['file'])) { print "Form was submitted but file wasn't send"; exit; } else { print "Form wasn't submitted!"; exit; } 

Предупреждение: getimagesize () [function.getimagesize]: имя файла не может быть пустым в

Проверьте переменную MAX_SIZE, чтобы определить ее для изображения 2Mo:

 define('MAX_SIZE', 2000000); <form enctype="multipart/form-data" method="post" action="upload.php"> <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo MAX_SIZE; ?>" /> <input name="fichier" type="file" id="fichier_a_uploader" /> <br> <input type="submit" name="submit" value="Uploader" /> </form> 

вы должны изменить форму enctype на "multipart / form-data"

 <form method="post" enctype="multipart/form-data"> .... </form> 

После обновления «upload-max-filesize» перезапустите все службы wamp или xampp! это будет правильно!

Измените эти параметры в файле php.ini; (В настоящее время он позволяет загружать и публиковать только размер 2 МБ). Иногда это причина этих ошибок.

 upload_max_filesize = 500M post_max_size = 500M max_execution_time = 120 

Примечание. Неопределенный индекс: fileToUpload в D: \ xampp \ htdocs \ public_html \ php \ form_php \ application \ process_application.php в строке 38

Примечание. Неопределенный индекс: fileToUpload в D: \ xampp \ htdocs \ public_html \ php \ form_php \ application \ process_application.php в строке 43

Предупреждение: getimagesize (): имя файла не может быть пустым в D: \ xampp \ htdocs \ public_html \ php \ form_php \ application \ process_application.php в строке 43 Файл не является изображением. Файл, уже существующий. Примечание: Неопределенный индекс: fileToUpload в D: \ xampp \ htdocs \ public_html \ php \ form_php \ application \ process_application.php в строке 58 Извините, разрешены только файлы JPG, JPEG, PNG и GIF. Извините, ваш файл не был загружен.

Если вы получаете ошибки, подобные этому, вы должны проверить, что вы добавили форму enctype в «multipart / form-data»

 <form method="post" enctype="multipart/form-data"> .... </form> 

Используйте, чтобы поймать меня довольно много, чтобы начать.