Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Проблема с exif_read_data
Форумы портала PHP.SU » » Вопросы новичков » Проблема с exif_read_data

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

1. tyntygydyn - 12 Октября, 2017 - 13:22:05 - перейти к сообщению
Здравствуйте. Ребят помогите. Есть такой вот вывод данных в галереи о фотографии
PHP:
скопировать код в буфер обмена
  1.  
  2. <li><b>EXIF данные:</b></li>
  3. $arr = exif_read_data(''.$site.'/files/'.$file['file'].'');
  4. if (!$arr) die('Информации нет');
  5. echo '<li>Производитель: ' . $arr['Make'] . '</li>';
  6. echo '<li>Модель: ' . $arr['Model'] . '</li>';
  7. echo '<li>Размер: '; echo format_size($arr['FileSize'], 0, '.', ' ');
  8. echo '<li>Ширина: ' . $arr['COMPUTED']['Width'] . '</li>';
  9. echo '<li>Высота: ' . $arr['COMPUTED']['Height'] . '</li>';
  10. echo '<li>Дата создания: ' . $arr['DateTimeOriginal'] . '</li>';
  11. echo '<li>Выдержка: ' . $arr['ExposureTime'] . '</li>';
  12. echo '<li>Диафрагма: ' . $arr[ 'COMPUTED' ][ 'ApertureFNumber' ] . '</li>';
  13. echo '<li>ISO: ' . $arr['ISOSpeedRatings'] . '</li>';
  14. ?>
  15.  

Всё работает отлично. Но вот на некоторых фото (причём как я заметил, сделанных на один и тот же фотоаппарат) выбивает ошибки:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. EXIF данные:
  3.  
  4. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  5.  
  6. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  7.  
  8. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  9.  
  10. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  11.  
  12. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  13.  
  14. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  15.  
  16. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  17.  
  18. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  19.  
  20. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  21.  
  22. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  23.  
  24. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  25.  
  26. Warning: exif_read_data(546350.jpg): Process tag(x0000=UndefinedTa): Illegal format code 0x0000, suppose BYTE in /var/www/***/data/www/***/***.php on line 210
  27.  


Но данные всё-равно выводит ниже ошибок.

Не пойму в чём причина и как её решить. Помогите пожалуйста. Гуглить не помогло.
2. andrewkard - 12 Октября, 2017 - 13:59:22 - перейти к сообщению
Советуют на http://php.net/manual/ru/functio...if-read-data.php
подавить ошибку
PHP:
скопировать код в буфер обмена
  1.  
  2. $exif_ifd0 = @read_exif_data($imagePath ,'IFD0' ,0);
  3.  
  4. if ($exif_ifd0 !== false)
  5. {
  6.  
  7. }
  8.  
  9.  
3. Мелкий - 12 Октября, 2017 - 14:01:44 - перейти к сообщению
У конкретного фотоаппарата свой художественный взгляд на exif. На что exif_read_data посчитал своим долгом ругнуться. Встречаются в php ещё функции, которые могут в штатной своей работе выдавать варнинги и никак кроме @ не лечатся.
4. tyntygydyn - 12 Октября, 2017 - 14:05:12 - перейти к сообщению
andrewkard пишет:
подавить ошибку

Можете пожалуйста полный код с моим и вашим выложить?Готовый...я просто самоучка..пока методом тыка найду правильную подстановку, времени много уйдёт, так как сайт кешируется ждать приходится каждую правку.
(Добавление)
Мелкий пишет:
У конкретного фотоаппарата свой художественный взгляд на exif. На что exif_read_data посчитал своим долгом ругнуться.

Я так и подумал..Капризны фотоаппарат попался)
5. andrewkard - 12 Октября, 2017 - 14:45:01 - перейти к сообщению
$arr = @exif_read_data(''.$site.'/files/'.$file['file'].'');
6. tyntygydyn - 12 Октября, 2017 - 15:15:50 - перейти к сообщению
andrewkard пишет:
$arr = @exif_read_data(''.$site.'/files/'.$file['file'].'');

Огромное спасибо. Как смогу сразу + с меня..пока мало сообщений пишет

 

Powered by ExBB FM 1.0 RC1