|
|
|
| Добрый день.
Есть скриптик, на локалхосте все верно пашет, на хостинге же нет. Отправляет файлы только до 500 кб, если больше то ф-ция mail возрашает false.
В логах:
PHP Warning: fread() [<a href='function.fread'>function.fread</a>]: Length parameter must be greater than 0 in /usr/home/34565/site.ru/html/forma.php on line 59, referer: http://www.site.ru/forma.php
Не нашел ничего талкового в инете, заранее спасибо за подсказку куда капать. | |
|
|
|
|
|
|
|
для: ntro123
(19.02.2012 в 13:47)
| | А вы как содержимое файла читаете? Что указываете во втором параметре функции fread()? Почему там 0 оказывается? | |
|
|
|
|
|
|
|
для: cheops
(19.02.2012 в 13:55)
| | вот так:
$file=fopen($_FILES['add']['tmp_name'], "rb");
$text.="\n\n--trololo321\n";
$text.="Content-Type: application/octet-stream; name=".iconv('CP1251', 'UTF-8', $_FILES['add']['name'])."\n";
$text.="Content-Transfer-Encoding: base64\n";
$text.="Content-Disposition: attachment\n\n";
$text.=base64_encode(fread($file, filesize($_FILES['add']['tmp_name'])))."\n";
|
я без понятия как там 0. единственное могу сказать что когда файл размером не боле 500 кб то все норм. | |
|
|
|
|
|
|
|
для: ntro123
(19.02.2012 в 13:59)
| | А файл успешно на сервер загружается (попробуйте проверить в отдельном мини-проекте, без отправки почты)? | |
|
|
|
|
|
|
|
для: cheops
(19.02.2012 в 14:07)
| | да, сделал как здесь http://www.softtime.ru/scripts/upload.php
загрузил архив в размером в 7 мб.
Как быть дальше?
Файл размером в 7 мб.
Array
(
[add] => Array
(
[name] => x******.rar
[type] =>
[tmp_name] =>
[error] => 1
[size] => 0
)
)
|
---------------------------------
файл размером в 100 кб.
Array
(
[add] => Array
(
[name] => *****.rar
[type] => application/x-rar-compressed
[tmp_name] => Z:\tmp\php6618.tmp
[error] => 0
[size] => 167919
)
)
|
В .htaccess добавил строчки:
php_value post_max_size 25M
php_value upload_max_filesize 25M
Теперь на локал хосте отилчно пашет, а на хостинге чтото вообще не пашет, причем никаких ошибок не выдает и логи пусты, а как доходит до строчки
$text.=fread($file, filesize($_FILES['add']['tmp_name']));
после нее ничего не выводит больше.
Проблема в base64_encode для больших файлов не работает я так понял =(
Про100 на хостинге не хватает памяти, нужно по потокам разбивать и кодировать, вообщем както так. Подскажет кто что? | |
|
|
|