|
|
|
| Помогите пожалуйста с решением такой проблемы.
На сервер клиент грузит свои фото, я должна их уменьшить и показать на сайте. Функция ImageCreateFromJPEG пишет ошибку create error. Но после того как я открыла эти картинки фотошопом и пересохранила их с теми же именами - все заработало. Каждый раз вручную обрабатывать и пересохранять картинки - нереально, их будет очень много. Подскажите, как можно программно обработать картинки с фотоаппарата, чтобы они корректно обрабатывались с помощью ImageCreateFromJPEG. | |
|
|
|
|
|
|
|
для: Olga_Yemelyanova
(16.11.2009 в 13:04)
| | размер картинки до и картинки после фотошопа какой? | |
|
|
|
|
|
|
|
для: Valick
(16.11.2009 в 13:07)
| | размер картинки не меняла, сохраняла под Web | |
|
|
|
|
|
|
|
для: Olga_Yemelyanova
(16.11.2009 в 13:13)
| | хех, я просто не правильно выразился.. под размером я имел ввиду мегабайты.
Но то что Вы сохраняли под веб говорит о том что фотки сильно "похудели" и стали весить в районе пары мегабайт, а то и меньше. Скорее всего ваша картинка объёмом 10-20 мегабайт просто не попадает в скрипт (по умолчанию загрузка на сервер не более 2 Мб), отсюда и ошибка.
Фотошоп (и многие другие программы) позволяет пакетную обработку, поэтому можно не сидеть над каждой фотографией по отдельности.
В принципе Ваш скрипт правильно делает, что не "хавает" фотки большого размера, просто отказываться от них он должен в более мягкой и понятной форме ;) | |
|
|
|
|
|
|
|
для: Valick
(16.11.2009 в 13:33)
| | увы, все не так просто - исходный размер от 300 до 500 К, худеет фото примерно в 3 раза (100 - 150). Клиент изначально как-то фото уменьшает и переименовывает, выкладывает .jpg, но каким образом - добиться не возможно, приходится рассчитывать только на себя, что как-то смогу их обработать. | |
|
|
|
|
|
|
|
для: Olga_Yemelyanova
(16.11.2009 в 13:43)
| | Может вам вот это сможет помочь http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=145
Всегда все работает беспроблем(для фоток до 1 метра дак точно, да и то это на моем хосте ограничение 1 метр стоит) | |
|
|
|
|
|
|
|
для: Olga_Yemelyanova
(16.11.2009 в 13:43)
| | Так это проблема с одним клиентом, или со всеми? | |
|
|
|
|
|
|
|
для: Olga_Yemelyanova
(16.11.2009 в 13:43)
| | Вы бы прикрепили пример такой непроходной фотографии - может кто что и подсказал бы. | |
|
|
|
|
 307.3 Кб |
|
|
для: Trianon
(16.11.2009 в 14:06)
| | спасибо, вот фото. Проблема в том, что именно с этими фото, от этого клиента, не работает, с другими картинками проблем нет. | |
|
|
|
|
|
|
|
для: Olga_Yemelyanova
(16.11.2009 в 14:18)
| | Да нет проблем с вашим изображением, если вы только "не почикали" уже его при сохранении. А что за версия GD у вас? | |
|
|
|
|
 57.9 Кб |
|
|
для: Olga_Yemelyanova
(16.11.2009 в 14:18)
| |
<?php
$mem = memory_get_usage();
$im = imagecreatefromjpeg("d:/69713-20091116141818.jpg");
imagejpeg($im, "d:/shoes.jpg");
echo imagesx($im), 'x', imagesy($im);
$mem2 = memory_get_usage();
echo '<br>'.($mem2-$mem).' bytes used <br>php version ' . phpversion();
echo '<br>result file size '. filesize("d:/shoes.jpg");
echo '<br>GD version <pre>';
print_r(gd_info());
?>
|
1000x1100
5534224 bytes used
php version 5.2.4
result file size 59287
GD version
Array
(
[GD Version] => bundled (2.0.34 compatible)
[FreeType Support] => 1
[FreeType Linkage] => with freetype
[T1Lib Support] => 1
[GIF Read Support] => 1
[GIF Create Support] => 1
[JPG Support] => 1
[PNG Support] => 1
[WBMP Support] => 1
[XPM Support] =>
[XBM Support] => 1
[JIS-mapped Japanese Font Support] =>
)
|
| |
|
|
|
|
|
|
|
для: Trianon
(16.11.2009 в 14:34)
| | cпасибо, разобралась | |
|
|
|
|
|
|
|
для: Trianon
(16.11.2009 в 14:34)
| | Та же проблема, но файл уже 6,5 мегабайт.
Задача загрузить, а уже потом уменьшить. Максимальный размер загружаемого файла - 400 мегабайт. При выполнении данного кода выдаёт ошибку
Fatal error: Фддщцув ьуьщкн ышяу ща 1342177728 bytes exhaushed (tried to allocate 20736 bytes) in ....test.php on line 3 | |
|
|
|
|
|
|
|
для: toniq
(30.08.2011 в 06:18)
| | К сожалению, тут ничего поделать нельзя, кроме как разрешить скрипту использовать соответствующее количество памяти через php.ini, локально этого можно легко добиться, но на сервере вам вряд ли забирать львиную долю памяти под свои нужды. | |
|
|
|