Но вот нашелся один! (по меньшей мере, из ста файлов) файл, после отправки формы и, видимо, загрузки в темпори, какая-то ошибка. Переход на страницу обработки данных осуществляется, но все данные, полученные с формы (в том числе текстовые), пустые.
Что это может быть, что с файлом может быть не так, и как посмотреть ошибки?
Файл pdf, маленький, все права назначены, как и у других, "нормальных". Переименование (на всякий случай) не помогло.
Спустя 4 дня, 1 час, 18 минут (30.08.2011 - 16:05) Tasia написал(а):
Файл оказался большим - 11 Мб, все файлы в байтах, а этот в Кбайтах, не сразу заметила.
При проверке оказалось, что файлы больше 8 Мб не грузятся, сообщений об ошибках нет, все значения, полученный с полей формы - пустые. В php.ini установлено 20 Мб.
Где же все-таки может запрет стоять?
При проверке оказалось, что файлы больше 8 Мб не грузятся, сообщений об ошибках нет, все значения, полученный с полей формы - пустые. В php.ini установлено 20 Мб.
Где же все-таки может запрет стоять?
Спустя 5 минут, 19 секунд (30.08.2011 - 16:11) killer8080 написал(а):
В php.ini
post_max_size и upload_max_filesize
post_max_size и upload_max_filesize
Спустя 18 часов, 49 минут, 4 секунды (31.08.2011 - 11:00) Tasia написал(а):
Спасибо, все получилось .
Остался все-таки вопрос, как вывести все сообщения об ошибках, Когда не был установлен достаточно большим параметр upload_max_filesize. при загрузке файла выдавалось сообщене об ошибке, а недостаточно большой параметр post_max_size не вызывал никаких сообщений.
На странице обработки формы у меня стоит код:
ini_set('display_errors'.'on');
ini_set('error_reporting',E_ALL);
$_FILES['uploadfile']['error'];
Остался все-таки вопрос, как вывести все сообщения об ошибках, Когда не был установлен достаточно большим параметр upload_max_filesize. при загрузке файла выдавалось сообщене об ошибке, а недостаточно большой параметр post_max_size не вызывал никаких сообщений.
На странице обработки формы у меня стоит код:
ini_set('display_errors'.'on');
ini_set('error_reporting',E_ALL);
$_FILES['uploadfile']['error'];
Спустя 18 минут, 6 секунд (31.08.2011 - 11:18) l@pteff написал(а):
Как вариант, делать на странице скрытое поле, содержащее максимально допустимый размер файла в байтах, проверяющее размер файла еще до момента отправки его на сервер
<form enctype="multipart/form-data" action="/upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
Спустя 7 минут, 5 секунд (31.08.2011 - 11:25) Tasia написал(а):
А проверку-то где производить - на форме ?
Я вроде так понимаю, что проверка должна быть до нажатия кнопки submit
Я вроде так понимаю, что проверка должна быть до нажатия кнопки submit
Спустя 7 минут, 12 секунд (31.08.2011 - 11:32) l@pteff написал(а):
По нажатию на сабмит проверяешь соответствует ли размер файла требуемому, если соответствует-загрузка на сервер, нет-вывод ошибки
Спустя 24 минуты, 5 секунд (31.08.2011 - 11:56) Tasia написал(а):
Нет, я чего-то не понимаю, боюсь, самого главного .
По сабмит я оказываюсь на странице обработки формы, и, если ошибка, то все полученные параметры пустые. Если имя файла пустое, где-ж размер его взять?
По сабмит я оказываюсь на странице обработки формы, и, если ошибка, то все полученные параметры пустые. Если имя файла пустое, где-ж размер его взять?
Спустя 23 минуты, 49 секунд (31.08.2011 - 12:20) l@pteff написал(а):
<input type="hidden" id="max_size" name="max_file_size" value="30000">
Получаем значение скрытого инпута
var max_size=$('#max_size').val();
Далее переменную max_size отправляем на обработчик
А в обработчике делаем примерно следующее:
$max_size = intval($_POST['max_size']);
if ($max_size<$_FILES['filename']['size']) {
exit ("Размер файла больше допустимого");
}
/*
Дальнейшие действия с файлом
*/
Tasia, исключительно навскидку, не проверял, возможно придется допилить
Спустя 15 минут, 49 секунд (31.08.2011 - 12:36) linker написал(а):
<input type="hidden" id="max_size" name="max_file_size" value="30000">элементарно подделывается. Если файла нет, то его нет, а значит была ошибка и проверять его размер не имеет смысла.
Спустя 53 минуты, 4 секунды (31.08.2011 - 13:29) Tasia написал(а):
Так вот и я о том - нет у меня файла, есть ошибка.
Как вывести сообщения об ошибках? . Не печатаются у меня ошибки, я код выше привела , может, чего другое в коде надо?
Как вывести сообщения об ошибках? . Не печатаются у меня ошибки, я код выше привела , может, чего другое в коде надо?
Спустя 23 минуты, 9 секунд (31.08.2011 - 13:52) linker написал(а):
Я не вижу твоего кода, где есть проверка на ошибки и печать соответствующих варнингов.
Спустя 20 минут, 3 секунды (31.08.2011 - 14:12) Tasia написал(а):
Код проверки :
<?php
ini_set('display_errors','on');
ini_set('error_reporting',E_ALL);
print_r($_POST);
?>
<?php
ini_set('display_errors','on');
ini_set('error_reporting',E_ALL);
print_r($_POST);
?>
Спустя 13 минут, 59 секунд (31.08.2011 - 14:26) linker написал(а):
И что здесь проверяется? В $_FILES['uploadfile']['error'] содержится код ошибки, что значит тот или иной код читаем в мануале PHP http://www.php.ru/manual/features.file-upload.errors.html а тут частые проблемы http://www.php.ru/manual/features.file-upl...n-pitfalls.html