До недавнего времени я использовал некоторый 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);)
У кого-нибудь есть идеи о том, что является причиной этого?
Вы проверили, была ли форма отправлена, но не проверяли, отправлен ли файл. В некоторых случаях может быть отправлена форма, но файл не будет отправлен (т. Е. Размер файла больше, чем размер файла в конфигурации).
Использовать это:
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>
Используйте, чтобы поймать меня довольно много, чтобы начать.