Очень хорошая статья, спасиба.
Вопрос такой - долго отрисовываються картинки - это проблема хостера?
1. Troy - 20 Ноября, 2006 - 09:03:31 - перейти к сообщению
2. f0rm4t - 20 Ноября, 2006 - 16:20:58 - перейти к сообщению
Попробуй засечь время генерации скрипта. По оценке которого и поймешь в чем причина.
3. Архей - 27 Декабря, 2006 - 12:05:45 - перейти к сообщению
Всем привет, статья хорошая, ничего сказать не могу, ном огу сказать пару слов в общем об этом методе.
Многие, а точнее практически все сталнулись или столкнуться с проблемой обработки больших изображений, тоесть закачав фотку размером 2500 на 2500 размером 1 Мег. Вы уже врядли сможете обработать фото таким вот макаром, если вы зайдете в Лог ошибок вы увидете критическую ошибку о нехватке виртуальной памяти выделенной на работоспособность скрипт. И на сколько я знаю, данная проблема не решается на библиотеках GD. Если кто-то знает метод решения, просьба отписаться. Я нашел решение в других библиотеках. Данная трабка касается Хостингов и никак Локальнонастроенных систем у себя на компе.
Многие, а точнее практически все сталнулись или столкнуться с проблемой обработки больших изображений, тоесть закачав фотку размером 2500 на 2500 размером 1 Мег. Вы уже врядли сможете обработать фото таким вот макаром, если вы зайдете в Лог ошибок вы увидете критическую ошибку о нехватке виртуальной памяти выделенной на работоспособность скрипт. И на сколько я знаю, данная проблема не решается на библиотеках GD. Если кто-то знает метод решения, просьба отписаться. Я нашел решение в других библиотеках. Данная трабка касается Хостингов и никак Локальнонастроенных систем у себя на компе.
4. maksmib - 25 Ноября, 2010 - 18:07:58 - перейти к сообщению
Вечер добрый господа товарищи!
Спасибо за статью, но возник ряд вопросов т.к. "завести" не получилось.
Итак, сам скрипт я немного переделал под свои нужды, теперь он выгляди так
файл resize.php:
Спасибо за статью, но возник ряд вопросов т.к. "завести" не получилось.
Итак, сам скрипт я немного переделал под свои нужды, теперь он выгляди так
файл resize.php:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- <?PHP
- /* f - имя файла
- q - качество сжатия
- src - исходное изображение
- dest - результирующее изображение
- w - ширниа изображения
- ratio - коэффициент пропорциональности */
- // тип преобразования, если не указаны размеры
- $w = 218; // пропорциональная шириной 218
- // качество jpeg по умолчанию
- // создаём исходное изображение на основе исходного файла и опеределяем его размеры
- // если размер исходного изображения отличается от требуемого размера
- if ($w_src != $w)
- {
- // вычисление пропорций
- $ratio = $w_src/$w;
- // создаём пустую картинку
- // важно именно truecolor!, иначе будем иметь 8-битный результат
- }
- // вывод картинки и очистка памяти
- ?>
Использую так, чтобы просто проверить
файл gallery.php:
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- ...
- include('resize.php');
- ...
- echo '<img src="resize.php?f=test.jpg" />';
- ...
В результате изображение не появляется, а получаю кучу варнингов (они там в принципе один из другого вытекают):
- 1. Warning: imagesx(): supplied argument is not a valid Image resource in /var/www/virtual/mysite.com/htdo cs/resize.php on line 17
2. Warning: imagesy(): supplied argument is not a valid Image resource in /var/www/virtual/mysite.com/htdo cs/resize.php on line 18
3. Warning: Cannot modify header information - headers already sent by (output started at /var/www/virtual/mysite.com/htdocs/resize.php:16) in /var/www/virtual/mysite.com/htdo cs/resize.php on line 20
...
Для проверки я пробовал во время работы скрипта вывести содержимое переменной $f - она оказалась пустой. Почему не понятно.
2й пункт вытекает из первого, а вот почему 3й варнинг появляется, также не понятно.
Подскажите пожалуйста, что не так?