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]   

> Описание: Проблемы в скрипте.
harlam
Отправлено: 21 Октября, 2009 - 06:20:26
Post Id



Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Авг. 2009  


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




Хотел написать галерею обоев, получился во такой скрипт:
img1 - это имя картинки в jpg.
name - папка где лежит картинка.
На локальной машине все работает, а когда заливаю на сервак выводит одно изображение из массива и выдает ошибку.
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 6720 bytes) in /home/igraca/public_html/oboi.ph p on line 24
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $result_gallery = mysql_query ("SELECT * FROM gallery ",$db);
  3. if (!$result_gallery)
  4. {
  5.         echo "<p>Запрос не прошол. Напешите об этом администратору      <strong>Код ошибки:</strong></p>";
  6.         exit (mysql_error());  
  7. }
  8. if (mysql_num_rows ($result_gallery)>0)
  9. {
  10. $myrow_gallery = mysql_fetch_array($result_gallery);
  11. }
  12. else{
  13.         echo "<P>Информация по запросу не может быть извлечена в таблице нет записей.</p>";
  14.         exit();
  15. }
  16. do
  17. {
  18. $img_w1 = $myrow_gallery["img1"];
  19. $img_w2 = $myrow_gallery["img2"];
  20. $img_w3 = $myrow_gallery["img3"];
  21. $img_w4 = $myrow_gallery["img4"];
  22. if($img_w1 != ""){
  23. $img_wi1 = "images/wallpaper/".$myrow_gallery["name"]."/".$img_w1."";
  24. $src1= imagecreatefromjpeg($img_wi1)
  25. or die('Cannot create image');
  26. $w_src1 = imagesx($src1);
  27. $h_src1 = imagesy($src1);
  28. $wall= "$w_src1"."x"."$h_src1";
  29. $wallp1 = "<a href='".$img_wi1."'>".$wall."</a><br>";
  30. }
  31. else{$wallp1 = "";}
  32. if($img_w2 != ""){
  33. $img_wi2 = "images/wallpaper/".$myrow_gallery["name"]."/".$img_w2."";
  34. $src2 = imagecreatefromjpeg($img_wi2)
  35. or die('Cannot create image');
  36. $w_src2 = imagesx($src2);
  37. $h_src2 = imagesy($src2);
  38. $wall2= "$w_src2"."x"."$h_src2";
  39. $wallp2 = "<a href='".$img_wi2."'>".$wall2."</a><br>";
  40. }
  41. else{$wallp2 = "";}
  42. if($img_w3 != ""){
  43. $img_wi3 = "images/wallpaper/".$myrow_gallery["name"]."/".$img_w3."";
  44. $src3 = imagecreatefromjpeg($img_wi3)
  45. or die('Cannot create image');
  46. $w_src3 = imagesx($src3);
  47. $h_src3 = imagesy($src3);
  48. $wall3= "$w_src3"."x"."$h_src3";
  49. $wallp3 = "<a href='".$img_wi3."'>".$wall3."</a><br>";
  50. }
  51. else{$wallp3 = "";}
  52. if($img_w4 != ""){
  53. $img_wi4 = "images/wallpaper/".$myrow_gallery["name"]."/".$img_w4."";
  54. $src4 = imagecreatefromjpeg($img_wi4)
  55. or die('Cannot create image');
  56. $w_src4 = imagesx($src4);
  57. $h_src4 = imagesy($src4);
  58. $wall4= "$w_src4"."x"."$h_src4";
  59. $wallp4 = "<a href='".$img_wi4."'>".$wall4."</a><br>";
  60. }
  61. else{$wallp4 = "";}
  62. printf ("<div class='wallpaper'><strong>%s</strong><br><img src='images/wallpaper/%s/logo.jpg' width='150' height='94' ><br>%s %s %s %s</div>",$myrow_gallery["opisanie"],$myrow_gallery["name"],$wallp1,$wallp2,$wallp3,$wallp4);
  63. }
  64. while ($myrow_gallery = mysql_fetch_array ($result_gallery)); ?>


Подскажите как решить эту проблему? Спасибо заранее.
 
 Top
Мелкий Супермодератор
Отправлено: 21 Октября, 2009 - 12:38:25
Post Id



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


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


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




У вас сильно кончилась память, отведённая под РНР.
1) когда больше не нужны GD объекты, их удалять надо
2) вам же только габариты картинки узнать?
Используйте сразу getimagesize (http://php.su/functions/?getimagesize)


-----
PostgreSQL DBA
 
 Top
harlam
Отправлено: 21 Октября, 2009 - 13:30:38
Post Id



Новичок


Покинул форум
Сообщений всего: 46
Дата рег-ции: Авг. 2009  


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




Напишите пожалуйста как вывести размер картинки с помощью getimagesize, прочитал (http://php.su/functions/?getimagesize) и ничего не понял.
 
 Top
Champion Супермодератор
Отправлено: 21 Октября, 2009 - 13:42:27
Post Id



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


Покинул форум
Сообщений всего: 4350
Дата рег-ции: Авг. 2008  
Откуда: Москва


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




Мелкий пишет:
У вас сильно кончилась память
Радость
harlam пишет:
как вывести размер картинки с помощью getimagesize
$var = getimagesize($img);
var_dump($var);

И посмотри, что тебе оттуда нужно.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB