PHP.SU

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

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

> Найдено сообщений: 6
megaPanda Отправлено: 22 Апреля, 2011 - 09:20:12 • Тема: Как проверить массив GET • Форум: Программирование на PHP

Ответов: 2
Просмотров: 432
Привет.

Есть ли возможность проверить содержимое массива GET без указания имени.

Например, есть сайт:

http://site[dot]ru/

У него есть скрипт

http://site[dot]ru/index.php

Есть несколько параметров, по которым скрипт должен работать:

http://site[dot]ru/index.php?pram1=0&param2=0

Таким образом я пишу:

if($_GET[param1])
{
выполняется первое действие
}
elseif ($_GET[param2])
{
Выполняется второе дествия
}
elseif (Если $_GET содержит другие параметры)
{
301 редирект на http://site[dot]ru/ без параметров
}
else
{
Выполняем общее действие без параметров
}

Таким образом хочу отбросить генерацию всякого возможного мусора, типа
http://site[dot]ru/?fd=fasdffasfda и т.п.

Как это можно реализовать?
megaPanda Отправлено: 29 Июня, 2009 - 09:12:03 • Тема: imagecreatefrom... ограничение по объему • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 130
valenok пишет:
echo memory_get_usage(); по натыкай в скрипте. Найдешь где происходит скачок.
1,5 МБ файл JPEG не должен превращается в 32 метра


Спасибо. Попробую.
megaPanda Отправлено: 28 Июня, 2009 - 23:16:32 • Тема: imagecreatefrom... ограничение по объему • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 130
valenok пишет:
Стоит поискать в двухсот строках кода выше.


А что искать? Что может так съедать память?
Там в коде ничего сверхъестественного нет - запросы БД и условия, да и все. Никаких сложных вычислений и функций....

Процесс выдает ошибку именно в тот момент когда идет загрузка данных и jpeg файла.

Если картинки мелкие до 500-600 Кб, то все ок, а если больше, то иногда возникает ошибка...
megaPanda Отправлено: 28 Июня, 2009 - 17:26:54 • Тема: imagecreatefrom... ограничение по объему • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 130
Да вроде нигде не уходит....

PHP:
скопировать код в буфер обмена
  1. <?PHP if ($_FILES["foto"]["tmp_name"])
  2. {
  3. $size = getimagesize ($_FILES["foto"]["tmp_name"]);
  4. $width=$size[0];
  5. $height=$size[1];
  6. $image_p = imagecreatetruecolor (480, 360);
  7. $image_m = imagecreatetruecolor (120, 90);
  8. $image_orig = imagecreatefromjpeg($_FILES["foto"]["tmp_name"]);
  9. $foto_logo = imagecreatefrompng ("../Image/foto_logo.png");
  10. $c_black = imagecolorallocate ($foto_logo, 0, 0, 0);
  11. imagecolortransparent ($foto_logo, $c_black);
  12. imagecopyresized ($image_p, $image_orig, 0, 0, 0, 0, 480, 360, $width, $height);
  13. imagecopymerge ($image_p, $foto_logo, 360, 260, 0, 0, 85, 85, 40);
  14. imagecopyresized ($image_m, $image_orig, 0, 0, 0, 0, 120, 90, $width, $height);
  15. $file_x="../cars/bigfoto{$iden}_1.jpg";
  16. $file_m="../cars/ico_{$iden}.jpg";
  17. imagejpeg($image_p, $file_x, 70);
  18. imagejpeg($image_m, $file_m, 80);
  19. $foto = <<<OPE
  20. foto = "cars/bigfoto{$iden}_1.jpg", foto_dop = "cars/ico_{$iden}.jpg"
  21. OPE;
  22. $sh_foto = "../cars/bigfoto{$iden}_1.jpg";
  23. $sh_foto_dop = "../cars/ico_{$iden}.jpg";
  24.  
  25. }
  26. if ($_FILES["foto1"]["tmp_name"] <> NULL)
  27. {
  28. //Обработка второй фотографии
  29. $size = getimagesize ($_FILES["foto1"]["tmp_name"]);
  30. $width=$size[0];
  31. $height=$size[1];
  32. $image_p = imagecreatetruecolor (480, 360);
  33. $image_orig = imagecreatefromjpeg($_FILES["foto1"]["tmp_name"]);  
  34. imagecopyresized ($image_p, $image_orig, 0, 0, 0, 0, 480, 360, $width, $height);
  35. imagecopymerge ($image_p, $foto_logo, 360, 260, 0, 0, 85, 85, 40);
  36. $file_x="../cars/bigfoto{$iden}_2.jpg";
  37. imagejpeg($image_p, $file_x, 70);
  38. $foto1 = <<<OPE
  39.  foto1 = "cars/bigfoto{$iden}_2.jpg"
  40. OPE;
  41. $foto = $foto . ", " . $foto1;
  42. $sh_foto1 = "../cars/bigfoto{$iden}_2.jpg";
  43. //Конец обработки второй фотографии
  44. }
  45. if ($_FILES["foto2"]["tmp_name"] <> NULL)
  46. {
  47. //Обработка третей фотографии
  48. $size = getimagesize ($_FILES["foto2"]["tmp_name"]);
  49. $width=$size[0];
  50. $height=$size[1];
  51. $image_p = imagecreatetruecolor (480, 360);
  52. $image_orig = imagecreatefromjpeg($_FILES["foto2"]["tmp_name"]);
  53. imagecopyresized ($image_p, $image_orig, 0, 0, 0, 0, 480, 360, $width, $height);
  54. imagecopymerge ($image_p, $foto_logo, 360, 260, 0, 0, 85, 85, 40);
  55. $file_x="../cars/bigfoto{$iden}_3.jpg";
  56. imagejpeg($image_p, $file_x, 70);
  57. $foto2 = <<<OPE
  58.  foto2 = "cars/bigfoto{$iden}_3.jpg"
  59. OPE;
  60. $foto = $foto . ", " . $foto2;
  61. $sh_foto2 = "../cars/bigfoto{$iden}_3.jpg";
  62. //Конец обработки третей фотографии
  63. }
megaPanda Отправлено: 28 Июня, 2009 - 13:46:02 • Тема: imagecreatefrom... ограничение по объему • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 130
Спасибо. А этот параметр конкретно для функций, работающих с графикой?

И еще такой вопрос:
1,5 МБ файл JPEG превращается в 32 метра чистой графики, с которой может PHP работать.
А нельзя ли каким то образом уменьшить данный размер?
Может есть что-нибудь кроме imagecreatefrom...?


Мне просто из тех хостинга ответили:

"
Собственно здесь всё написано:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 10368 bytes) in /home/autotamb/domains/auto-tamb ov.ru/public_html/admin/index.ph p on line 233

Не хватает памяти именно на обработку, и не 1.5, а 32Мб. Здесь, увы, помочь не можем - уменьшайте фото.

"

Я же не могу сам поменять php.ini?
А изменение только .htaccess не поможет?
megaPanda Отправлено: 28 Июня, 2009 - 13:14:47 • Тема: imagecreatefrom... ограничение по объему • Форум: Напишите за меня, пожалуйста

Ответов: 9
Просмотров: 130
Зрасьте гуру программирования.

Ситуация такая:

При загрузки изображения весом 1,5 Мб функция:
$image_orig = imagecreatefromjpeg($_FILES["foto1"]["tmp_name"]); //загружаем оригинальное фото
порождает ошибку:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 10368 bytes) in.......

Вопрос:
Данная функция имеет ограничение по объему обрабатываемой информации?
Или это специфика конкретного PHP, установленного на сервере?

Подскажите, плиз, глупому медведю....

Страниц (1): [1]
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB