#php #file-upload
#php #загрузка файла
Вопрос:
У меня есть функция загрузки файлов PHP, которая работала отлично. По какой-то причине я запускаю функцию загрузки из другого места моего сайта. Это функция, отличная от той, которую я использовал для ее запуска. HTML работает просто отлично, но:
$_FILES['uploadedfile']['name']
возвращает «null».
Что может быть не так?
вот код:
if (isset($_POST['upload'])) {
$target_path = "uploads/";
$target_path = $target_path.basename($_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'],$target_path)) echo "ok";
else echo "problem";
}
else {
echo '<form enctype="multipart/form-data" method="POST">';
echo '<input type="hidden" name="MAX_FILE_SIZE" value="100000" />';
echo 'Choose a file to upload: <input name="uploadedfile" type="file" /><br />';
echo '<input type="submit" name="upload" value="Upload File" />';
echo '</form>'';
}
Ответ №1:
Не должно ли это быть
$_FILES['uploadedfile']['name']
Обратите внимание на переменную в верхнем регистре.
Комментарии:
1. это на самом деле так! Я просто не нажимал кнопку shift, когда публиковал 🙂
2. @Mob: пожалуйста, нет, не используйте кавычки для переменных
3. @Mob Я попробовал echo $_FILES, но это не дало мне никакого результата. я попробую var_dump и дам вам знать.
4. @genesis Ah. Ошибка. Спасибо.
5. @gianniskpf Ок. Сделайте это
var_dump($_FILES);
Ответ №2:
Если вы не уверены, просто используйте
var_dump($var);
в данном случае,
var_dump($_FILES['uploadedfile']);
или даже лучше
var_dump($_FILES);
Комментарии:
1. если var_dump($FILES) по-прежнему возвращает null? в чем тогда может быть проблема? имеет ли значение точка запуска вообще?
2. @gianniskpf: у вас нет поля ввода файла или в вашей форме установлено неправильное шифрование
3. Это забавно! Раньше он работал абсолютно нормально! И я вообще с этим не связывался!
4. @gianniskpf: пожалуйста, отправьте форму, которую вы пытаетесь отправить здесь
5. хорошо, я сделал. я уверен, что сама форма не является проблемой! спасибо, кстати, за вашу помощь 😉
Ответ №3:
Я нашел, что было не так. На самом деле это была детская ошибка. Переместив скрипт загрузки в новую функцию, я случайно включил форму «multipart / form-data» в простую форму. Это привело к «путанице» кнопок отправки и оставило переменную $ _FILES null .
Я хотел бы поблагодарить людей, которые разместили сообщения в этой теме! Приветствия