Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с ImageCreateFromJPEG, не создает картинки после фотоаппарата
 
 автор: Olga_Yemelyanova   (16.11.2009 в 13:04)   письмо автору
 
 

Помогите пожалуйста с решением такой проблемы.
На сервер клиент грузит свои фото, я должна их уменьшить и показать на сайте. Функция ImageCreateFromJPEG пишет ошибку create error. Но после того как я открыла эти картинки фотошопом и пересохранила их с теми же именами - все заработало. Каждый раз вручную обрабатывать и пересохранять картинки - нереально, их будет очень много. Подскажите, как можно программно обработать картинки с фотоаппарата, чтобы они корректно обрабатывались с помощью ImageCreateFromJPEG.

  Ответить  
 
 автор: Valick   (16.11.2009 в 13:07)   письмо автору
 
   для: Olga_Yemelyanova   (16.11.2009 в 13:04)
 

размер картинки до и картинки после фотошопа какой?

  Ответить  
 
 автор: Olga_Yemelyanova   (16.11.2009 в 13:13)   письмо автору
 
   для: Valick   (16.11.2009 в 13:07)
 

размер картинки не меняла, сохраняла под Web

  Ответить  
 
 автор: Valick   (16.11.2009 в 13:33)   письмо автору
 
   для: Olga_Yemelyanova   (16.11.2009 в 13:13)
 

хех, я просто не правильно выразился.. под размером я имел ввиду мегабайты.
Но то что Вы сохраняли под веб говорит о том что фотки сильно "похудели" и стали весить в районе пары мегабайт, а то и меньше. Скорее всего ваша картинка объёмом 10-20 мегабайт просто не попадает в скрипт (по умолчанию загрузка на сервер не более 2 Мб), отсюда и ошибка.
Фотошоп (и многие другие программы) позволяет пакетную обработку, поэтому можно не сидеть над каждой фотографией по отдельности.
В принципе Ваш скрипт правильно делает, что не "хавает" фотки большого размера, просто отказываться от них он должен в более мягкой и понятной форме ;)

  Ответить  
 
 автор: Olga_Yemelyanova   (16.11.2009 в 13:43)   письмо автору
 
   для: Valick   (16.11.2009 в 13:33)
 

увы, все не так просто - исходный размер от 300 до 500 К, худеет фото примерно в 3 раза (100 - 150). Клиент изначально как-то фото уменьшает и переименовывает, выкладывает .jpg, но каким образом - добиться не возможно, приходится рассчитывать только на себя, что как-то смогу их обработать.

  Ответить  
 
 автор: tvv123456   (16.11.2009 в 13:52)   письмо автору
 
   для: Olga_Yemelyanova   (16.11.2009 в 13:43)
 

Может вам вот это сможет помочь http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=145
Всегда все работает беспроблем(для фоток до 1 метра дак точно, да и то это на моем хосте ограничение 1 метр стоит)

  Ответить  
 
 автор: coloboc66   (16.11.2009 в 14:00)   письмо автору
 
   для: Olga_Yemelyanova   (16.11.2009 в 13:43)
 

Так это проблема с одним клиентом, или со всеми?

  Ответить  
 
 автор: Trianon   (16.11.2009 в 14:06)   письмо автору
 
   для: Olga_Yemelyanova   (16.11.2009 в 13:43)
 

Вы бы прикрепили пример такой непроходной фотографии - может кто что и подсказал бы.

  Ответить  
 
 автор: Olga_Yemelyanova   (16.11.2009 в 14:18)   письмо автору
307.3 Кб
 
   для: Trianon   (16.11.2009 в 14:06)
 

спасибо, вот фото. Проблема в том, что именно с этими фото, от этого клиента, не работает, с другими картинками проблем нет.

  Ответить  
 
 автор: sim5   (16.11.2009 в 14:33)   письмо автору
 
   для: Olga_Yemelyanova   (16.11.2009 в 14:18)
 

Да нет проблем с вашим изображением, если вы только "не почикали" уже его при сохранении. А что за версия GD у вас?

  Ответить  
 
 автор: Trianon   (16.11.2009 в 14:34)   письмо автору
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] => 
)

  Ответить  
 
 автор: Olga_Yemelyanova   (16.11.2009 в 14:52)   письмо автору
 
   для: Trianon   (16.11.2009 в 14:34)
 

cпасибо, разобралась

  Ответить  
 
 автор: toniq   (30.08.2011 в 06:18)   письмо автору
 
   для: 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

  Ответить  
 
 автор: cheops   (30.08.2011 в 17:12)   письмо автору
 
   для: toniq   (30.08.2011 в 06:18)
 

К сожалению, тут ничего поделать нельзя, кроме как разрешить скрипту использовать соответствующее количество памяти через php.ini, локально этого можно легко добиться, но на сервере вам вряд ли забирать львиную долю памяти под свои нужды.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования