|
|
|
| Подскажите пожалуйста как решить следующую проблему.
При загрузке файлов, размер которых превышает upload_max_filesize, не выводится ошибка $_FILES['filename']['error'], хотя если размер загружаемого файла превышает MAX_FILE_SIZE, должна выдаваться ошибка $_FILES['filename']['error'] = 2, которая говорит, что превышено значение MAX_FILE_SIZE указанное в HTML-форме, но она не выдается. Хоть какой-то результат ошибки можно получить только, если загружать файлы размером до 8МБ. Откуда это ограничение? Такое происходит на сервере, на котором я заказал хостинг. На моем локальном сервере (Denwer) - такого не происходит.
Следовательно, как я понимаю, проблема кроется в настройках сервера, а именно php.ini.
Профи подскажите пожалуйста, какие параметры могут на это влиять.
Бьюсь над этой проблемой уже больше недели.
Настройки сервера в инете:
post_max_size => 16M => 16M
upload_max_filesize => 32M => 32M
<html>
<body>
<form id="form1" action="send_email.php" method="post" enctype="multipart/form-data">
<div class="type1">
<input type="hidden" name="MAX_FILE_SIZE" value="15728640" />
<input type="file" name="filename">
<input type="submit" value="Отправить">
</div>
</form>
</body>
</html>
|
<?php
echo '<pre>';
print_r ($_POST);
echo '</pre>';
echo "<pre>";
print_r ($_FILES['filename']);
echo "</pre>";
echo "<meta http-equiv='refresh'; content='5; url=/index.php'> ";
?>
|
| |
|
|
|
|
|
|
|
для: shkarbatov
(20.08.2011 в 20:25)
| | Скорее это зависит от метода коммуникации PHP и Apache, т.е. устанавливает ли Apache соответствующую переменную окружения и как подключен Apache. Если PHP подключен, как CGI-приложение, ему могут передаваться не все переменные окружения. Посмотрите, как подключен PHP в каждом из случаев. | |
|
|
|
|
|
|
|
для: cheops
(20.08.2011 в 21:06)
| | К сожалению phpinfo на сервере запрещено.
А на локал хосте, могу посмотреть, но что именно искать (пардон, просто я плохо знаю конфигурирование Apache)? | |
|
|
|
|
|
|
|
для: shkarbatov
(20.08.2011 в 21:46)
| | >К сожалению phpinfo на сервере запрещено.
Можно поинтересоваться в службе тех.поддержки - информация не секретная и часто нужна, особенно, при работе с базовой аутентификацией - должны сообщить.
>А на локал хосте, могу посмотреть, но что именно искать (пардон, просто я плохо знаю
>конфигурирование Apache)?
В начале отчета phpinfo() посмотрите, какое значение выставлено напротив "Server API". | |
|
|
|
|
|
|
|
для: cheops
(20.08.2011 в 21:49)
| | Написано Apache 2.0 Handler | |
|
|
|
|
|
|
|
для: shkarbatov
(20.08.2011 в 22:20)
| | Используется модуль, теперь нужно выяснить, как подключен PHP на другом сервере, если тоже как модуль, значит проблема не в этом, если как CGI - скорее всего проблема в этом (иногда хостеры позволяют выбрать способ подключения). | |
|
|
|
|
|
|
|
для: cheops
(20.08.2011 в 23:25)
| | Поддержка PHP - Модуль Apache
еще есть варианты: Приложения CGI и Приложения FastCGI, + включен PHP 'safe_mode'
Поддержка CGI - не включена | |
|
|
|
|
|
|
|
для: shkarbatov
(20.08.2011 в 23:54)
| | Что скажите, или посоветуете? Написал в хостинг, посмотрим, что они мне ответят. | |
|
|
|