Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

странный глюк с jpg-ами

312
27 февраля 2007 года
dead_star
392 / / 26.11.2006
столкнулся со странным глюком
пример php кода которым я обрабатывал jpg
предположительно здесь может буть абсолютно любой код(не было времени проверить)
Код:
$dirName = "editing_foto";
$dp = opendir($dirName);
chdir($dirName);
$currentFile = "";
while ($currentFile !== false){
 $currentFile = readDir($dp);
 if (!preg_match ("/[а-яА-Я]+/", $currentFile)){
  $ofWord = substr($currentFile, strlen($currentFile) - 3, 3);
  if ($ofWord == "jpg" || $ofWord == "JPG"){
   $t = getimagesize($currentFile);
   $width_in = $t[0];
   $height_in = $t[1];
   if ($width_in > $height_in){
    $pastWidth = "100";
    $pWidth = "60";
    $pHeight = 60*($height_in/$width_in);
    $pHeight = (integer)$pHeight;
    $size = "width=60 height=".$pHeight;
    $padding = " padding: 6px 0 0 0;";
   } else {
    $pastWidth = 100*($width_in/$height_in);
    $pastWidth = (integer)$pastWidth;
    $pWidth = 60*($width_in/$height_in);
    $pWidth = (integer)$pWidth;
    $size = "width=".$pWidth." height=60";
    $padding = " padding: 0;";
   }
   $fileName = substr($currentFile, 0, strlen($currentFile) - 4);
   $fileNew = $currentFile;
   $url = "http://www.kotya.ru/Editor_of_Gallery/editing_foto/".$fileNew;
   echo "  <td style=\"text-align: center; padding: 0;\">
   <div class=\"bgMenu1\">
    <div style=\"width: 60px; height: 64px;$padding border: 0px solid #007bbe;\">
     <a href=\"\" &#111;&#110;Click=\"java script:wraitImg('$pastWidth','$fileNew');return(false);\">
     <img src=\"$url\" $size></a>
    </div><b style=\"cursor: default;\">$fileName<b></a>
   </div>
  </td>\n"
;
  }
 }
}
closedir($dp);

ничего особенного. просто вывожу картинки.
Сам глюк.
пропустил через этот код пару дюжин необработанных фотографий снятых на цыфровик.
результат: все вертикальные фотографии он повернул на 90 градусов
странно
я нашел решени проблемы
пересохранил все фотки в фотошопе(просто открыл сохранил в тотже файл и закрыл) и глюк сразу пропал.
все фотки выводит так как надо, ничего не переворачивает и тд
Так вот сам вопрос
кто знает откуда такой странный глюк вообще может вылезти, взятся и вообще?
предположительно это цифра что-то не то добовляет в файл
8
27 февраля 2007 года
mfender
3.5K / / 15.06.2005
Автор, ты что-то недоговариваешь... "Цыфровик" не делает вертикальных фотографий. У него все одинаковые, "горизонтальные". "Вертикальность" и "горизонтальность" достигается путём поворота аппарата руками на 90 градусов. Ищи проблему в своих мозговых консерваториях...
832
27 февраля 2007 года
Carpus
390 / / 14.04.2005
Цитата: dead_star

кто знает откуда такой странный глюк вообще может вылезти, взятся и вообще?
предположительно это цифра что-то не то добовляет в файл



Возможно, это из-за тега EXIF "Orientation", Photoshop его понимает и использует, а GD, по-видимому, нет.


Можно читать этот метатег с помощью функции exif_read_data() и соответствующим образом поворачивать (imagerotate()).

256
27 февраля 2007 года
foxweb
1.0K / / 27.07.2005
во во. если ты непосредственно в в фотике повернул фотки, то там всего лишь пишется EXIF-тэг: мол, фотка повёрнутая. монстры графики все понимают эти тэги. а физичиески файл так и остался нетронутым.
832
27 февраля 2007 года
Carpus
390 / / 14.04.2005
Цитата: foxweb
если ты непосредственно в в фотике повернул фотки



Некоторые камеры автоматически изменяют этот тег в зависимости от своей ориентации.

239
27 февраля 2007 года
Dolonet
1.7K / / 20.05.2000
Цитата: mfender
Автор, ты что-то недоговариваешь... "Цыфровик" не делает вертикальных фотографий. У него все одинаковые, "горизонтальные". "Вертикальность" и "горизонтальность" достигается путём поворота аппарата руками на 90 градусов. Ищи проблему в своих мозговых консерваториях...


Давайте будем вежливыми. Это раз.

Два - "Цыфровик" снимает вертикальные кадры, если фотоаппарат повернут и он об этом знает. У jpg есть свойство "поворот", насколько я знаю. Его понимают не все старые программы.

Часто возникали проблемы с jpg в PHP и у меня. PHP, видимо, очень критично относится к формату файла и неприемлет грубых ошибок внутри него. А, как это ни печально, не все программы делают "правильные" jpg файлы. Да, для решения проблемы достаточно пересохранить файлы.

Прошу обратить внимание, что PHP, в зависимости от того, как он настроен, "кушает" не любого размера jpg и прочие файлы.

312
27 февраля 2007 года
dead_star
392 / / 26.11.2006
Вообще это был ретарический вопрос и он не требовал ответа
Если знаеш способ решения проблемы, то причина появления этой проблемы не столь уж и вожна.
Я задал этот вопрос чисто для общего развития
Благодарю Dolonet и Carpus за разяснение
12
28 февраля 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Dolonet

Часто возникали проблемы с jpg в PHP и у меня.


Ну к слову замечу, что это все же проблемы GD, чем пыха. И решитть их можно в принципе сменой либы. На ImageMagick к примеру.

239
28 февраля 2007 года
Dolonet
1.7K / / 20.05.2000
Цитата: alekciy
Ну к слову замечу, что это все же проблемы GD, чем пыха. И решить их можно в принципе сменой либы. На ImageMagick к примеру.


Это понятно. При условии, что есть root SSH к серверу

12
01 марта 2007 года
alekciy
3.0K / / 13.12.2005
)) неее, ставишь хостера перед фактом: "нужен ImageMagick и все тут" и потом пользуешь либу. Хостер не хочет... хм... есть повод задуматься, а нужел ли такой хостер?
832
01 марта 2007 года
Carpus
390 / / 14.04.2005
Хостер может мягко послать -- предложит перейти на более дорогой тарифный план.
239
01 марта 2007 года
Dolonet
1.7K / / 20.05.2000
Цитата: Carpus
Хостер может мягко послать -- предложит перейти на более дорогой тарифный план.


Согласен. Я сам хостер. Ковырять сервер бесплатно или за копейку не буду. Может пострадать много других клиентов, у которых все работает на данной конфигурации.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог