Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Помогите пожалуйста! Не могу понять в чём проблема.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
new01
Отправлено: 11 Июля, 2011 - 16:55:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Проблема связана с загрузкой изображения на сайт. Сначало изображние скачивается на сайт, потом дейсвует функция, которая сжимает размер изображения и переписывает его в три разных места с разными размерами.
Проблема заключается в том, что когда я закачиваю изображение размером 100 Кбайт, то скрипт работает отлично, но когда я загружаю изображение размером 2,37 Мбайта, то скрипт закачивает изображение на сайт, потом скрипт доходит до функции, которую я описал выше, и не выполняет скрипт дальше вообще.В том числе и не выполняет эту функцию.
В чём может быть проблема?!
Вот функция.
PHP:
скопировать код в буфер обмена
  1.  
  2. function imageresize($outfile,$infile,$neww,$newh,$quality,$R)
  3. {
  4.  
  5. $im=imagecreatefromjpeg($infile);
  6. $k1=$neww/imagesx($im);
  7. $k2=$newh/imagesy($im);
  8. $k=$k1>$k2?$k2:$k1;
  9. if($R==1)
  10. {
  11. $w=50;
  12. $h=50;
  13. $x=imagesx($im);
  14. $y=imagesy($im);
  15.   if($x>$y)
  16.   {
  17.   $p=$y;
  18.   $pu=$p;
  19.   }
  20.      else
  21.          {
  22.          $p=$x;
  23.          $pu=$p;
  24.          }
  25.    
  26. }
  27. else
  28. {
  29. $w=intval(imagesx($im)*$k);
  30. $h=intval(imagesy($im)*$k);
  31. $p=imagesx($im);
  32. $pu=imagesy($im);
  33. }
  34. $im1=imagecreatetruecolor($w,$h);
  35.  
  36. imagecopyresampled($im1,$im,0,0,0,0,$w,$h,$p,$pu);
  37. imagejpeg($im1,$outfile,$quality);
  38.  
  39.  
  40. }
  41.  


-----
new01
 
 Top
OrmaJever Модератор
Отправлено: 11 Июля, 2011 - 16:58:06
Post Id



Активный участник


Покинул форум
Сообщений всего: 7540
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




здесь может помочь только http://phpfaq[dot]ru/debug


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
new01
Отправлено: 11 Июля, 2011 - 17:33:39
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Прочитал ссылку. Посмторел что тврорится в логах!.Нашёл вот.
[Mon Jul 11 18:28:11 2011] [warn] mod_fcgid: read data timeout in 40 seconds
[Mon Jul 11 18:28:11 2011] [error] [client 188.17.244.2] Premature end of script headers: index.php, referer: http://domen[dot]ru/upload.php
Переводится
[Пн 11 июля 18:28:11 2011] [предупреждают] mod_fcgid: таймаут данных в 40 секунд
[Пн 11 июля 18:28:11 2011] [ошибка] [клиент 188.17.244.2] Преждевременный конец сценария заголовки: index.php, реферер: http://domen[dot]ru/upload.php

Суть ошибки я так понял в этой строке mod_fcgid: таймаут данных в 40 секунд .


-----
new01
 
 Top
EuGen Администратор
Отправлено: 11 Июля, 2011 - 17:35:55
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




set_time_limit(0);

?


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
new01
Отправлено: 11 Июля, 2011 - 17:37:13
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




не понял вас.
(Добавление)
Вот нашёл! Спасибо.Яндексу!
Цитата:
Цитата:

В модуле mod_fcgid существует параметр IPC_COMM_TIMEOUT, отвечающий за время ожидания отклика от бакенда(PHP). По дефолту этот таймаут выставлен в 40 секунд, я рекомендую увеличить этот таймаут, в том случае, если у вас имеются медленные скрипты.


-----
new01
 
 Top
White
Отправлено: 11 Июля, 2011 - 17:38:03
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




посмотрите в phpinfo() ваш memory_limit и max_execution_time


-----
if(time()>1356048000) die();
 
 Top
new01
Отправлено: 11 Июля, 2011 - 17:41:12
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




memory_limit 32M 32M
max_execution_time 30 30
Их надо как-то изменить?


-----
new01
 
 Top
White
Отправлено: 11 Июля, 2011 - 17:52:09
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




new01 пишет:
memory_limit 32M 32M
max_execution_time 30 30
Их надо как-то изменить?


надо или нет, вам решать, но можно попробовать увеличить memory_limit до 64М
p.s. IPCCommTimeout, тоже увеличьте


-----
if(time()>1356048000) die();
 
 Top
new01
Отправлено: 11 Июля, 2011 - 17:52:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Я тут нашёл надо сделать так.
Цитата:

необходимо изменить значение в исходнике,в
файле fcgid_conf.c.

(Добавление)
А в каком именно файле это менять? fcgid_conf.c.? я чёёт его не могу найти. В папку conf меня не пускают


-----
new01
 
 Top
White
Отправлено: 11 Июля, 2011 - 18:04:05
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




new01 пишет:
В папку conf меня не пускают

он именно там

попробуйте в .htaccess

IPCCommTimeout 60
php_value memory_limit 64M


-----
if(time()>1356048000) die();
 
 Top
new01
Отправлено: 11 Июля, 2011 - 18:13:49
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Мне на хостинге сказали, что на моём тарифе стоит 30 - изменить нельзя. А на самом крутом тарифе стоит 60. ! Думаю даже 60 мало. Фото загружается побольше.


-----
new01
 
 Top
White
Отправлено: 11 Июля, 2011 - 18:19:12
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




new01 пишет:
Мне на хостинге сказали, что на моём тарифе стоит 30 - изменить нельзя. А на самом крутом тарифе стоит 60. ! Думаю даже 60 мало. Фото загружается побольше.


Тогда ставьте ограничение на размер загружаемого файла


-----
if(time()>1356048000) die();
 
 Top
new01
Отправлено: 11 Июля, 2011 - 18:23:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 301
Дата рег-ции: Июнь 2010  
Откуда: Челябинск


Помог: 1 раз(а)




Я что-то не знаю что делать. Если ограничитать размер фала, то фотографии 1 мб не очень хорошего качества да и мало у кого такие.


-----
new01
 
 Top
White
Отправлено: 11 Июля, 2011 - 20:55:25
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




если у вас включен exec() можно попробовать с помощью нее(скажем на практике есть imagemagick, но вряд ли ваш хостер даст его установить), либо тот же CGI(опять же если есть к нему доступ)


-----
if(time()>1356048000) die();
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с файловой системой и файлами »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB