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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как узнать мета-данные картинки с помощью php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: как узнать мета-данные картинки с помощью php
leshiy_SV
Отправлено: 27 Октября, 2009 - 12:43:02
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




Подскажите как узнать мета-данные картинки с помощью php функций и какие модули должны быть включены (ну там описание автор комментарии), если вообще возможно такое.

И еще такой вопрос может ли быть такое: подключаю библиотеку php_exif.dll, перезагружаю apache, а он мне пишет не найден загружаемый модуль. а модуль то там есть и путь к нему правильный прописан, другие модули загружаются а этот не хочет. у меня стоит php 5.3.0

(Отредактировано автором: 27 Октября, 2009 - 13:06:39)

 
 Top
Мелкий Супермодератор
Отправлено: 27 Октября, 2009 - 17:00:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




leshiy_SV пишет:
Подскажите как узнать мета-данные картинки с помощью php функций

http://php.su/functions/?cat=exif

leshiy_SV пишет:
И еще такой вопрос может ли быть такое: подключаю библиотеку php_exif.dll, перезагружаю apache, а он мне пишет не найден загружаемый модуль. а модуль то там есть и путь к нему правильный прописан, другие модули загружаются а этот не хочет.

mbstring загружен? При том его загрузка должна быть прописана до GD.


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 27 Октября, 2009 - 18:12:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




leshiy_SV А путь точно правильно прописан (Как по аналогии другими библиотеками) и включен ли модуль GD + вероятно версии не совпадают (Попробуйте установить с помощью PEAR если там это есть Улыбка
Маловероятно - но всетаки это вы под виндой делаете ибо под линухом конечно надо не подгружать dll а собирать so-шку


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
leshiy_SV
Отправлено: 28 Октября, 2009 - 15:37:52
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




Спасибо, разобрался.
вот написал небольшой скриптик типа слайд-шоу с менюшкой, которая строиться из комментариев к картинкам. Не судите строго потому как недавно начал изучать php. Кто профи в этом деле, прошу оценить скриптик и если есть какие нибудь не дочеты ткнуть пальцем Подмигивание
CODE (text):
скопировать код в буфер обмена
  1. <?php
  2. //информация о картинках
  3. $path='pages/';//путь к изображениям
  4.  
  5. function info_pages(){
  6. global $path, $files;
  7. //--читаем папку с изображениями
  8. $hdl=opendir($path);
  9. while ($file = readdir($hdl))
  10. if ( ($file!=".")&&($file!="..")) $files[]=$file;
  11. closedir($hdl);
  12.  
  13. foreach($files as $img=>$page){
  14. $exif = exif_read_data($path.$page);
  15. if (!empty($exif['Comments'])) {$img_exif[$page]=$exif['Comments'];
  16. //рисуем менюшку
  17. echo '<a href=&#63get_img='.$img.'>'.$exif['Comments'].'</a><br>'."\r\n";
  18. }}
  19. }
  20.  
  21. info_pages();
  22. if(!isset($_GET['get_img'])) { $get_img=0; }
  23. if( isset($_GET['get_img'])) { $get_img=$_GET['get_img'];  }
  24. $next_page=$get_img+1;
  25. $prev_page=$get_img-1;
  26. if($get_img==(count($files)-1)) {$next_page='0';}
  27. if($get_img=='0') {$prev_page=(count($files))-1;}
  28. echo '<center><a href=&#63get_img='.$prev_page.'> <=</a> ||
  29. <a href=&#63get_img='.$next_page.'> =></a><br><br>';
  30. echo '<a href=&#63get_img='.$next_page.'>
  31. <img src='.$path.$files[$get_img].'></a></center>';
  32. ?>

И вопросик о безопасности скрипта, что и как

(Отредактировано автором: 28 Октября, 2009 - 15:38:30)

 
 Top
Мелкий Супермодератор
Отправлено: 28 Октября, 2009 - 16:02:13
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




1) Чем сначала перебирать содержимое директории в массив, а затем пробегаться по этому массиву, лучше совместите эти действия. Зачем массив-то? А, вижу, он потом используется...
А если в директории 3000+ фотографий?

2)
PHP:
скопировать код в буфер обмена
  1. if(!isset($_GET["get_img"])) { $get_img=0; }
  2. if( isset($_GET["get_img"])) { $get_img=$_GET["get_img"];  }

будет как минимум нагляднее так:
PHP:
скопировать код в буфер обмена
  1. $get_img = isset($_GET["get_img"]) ? $_GET['get_img'] : 0;

(Отредактировано автором: 28 Октября, 2009 - 16:03:07)



-----
PostgreSQL DBA
 
 Top
leshiy_SV
Отправлено: 29 Октября, 2009 - 08:16:21
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




Мелкий пишет:
А если в директории 3000+ фотографий?
Над этим я тоже задумывался.но не нашел решения. Может есть идеи как по другому это организовать слайд-шоу с менюшкой, не подскажешь?
 
 Top
leshiy_SV
Отправлено: 29 Октября, 2009 - 13:27:16
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




есть у кого-нить идеи по этому поводу Ха-ха
 
 Top
OverNik
Отправлено: 29 Октября, 2009 - 14:08:47
Post Id



Частый гость


Покинул форум
Сообщений всего: 182
Дата рег-ции: Янв. 2008  


Помог: 0 раз(а)




DELETE

(Отредактировано автором: 29 Октября, 2009 - 14:12:37)

 
 Top
Мелкий Супермодератор
Отправлено: 29 Октября, 2009 - 16:49:04
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Ну я похожий функционал сейчас рисую через БД, но мне нужна ещё произвольная группировка фотографий, так что БД нужна в любом случае.

хм, почитал внимательнее скрипт:
1) он выводит только 1 картинку на странице?
Тогда от массива файлов можно легко отказаться - count($files) считать сразу в цикле в цисловую переменную, $files[$get_img] (т.е. имя файла, который непосредственно надо выводить) сразу писать в текстовую переменную при совпадении номера с запрошенным.
2) за что отвечает массив $img_exif[]? Он только инициализируется и нигде не используется. А занимает судя по всему не мало места.


-----
PostgreSQL DBA
 
 Top
leshiy_SV
Отправлено: 30 Октября, 2009 - 08:25:06
Post Id



Гость


Покинул форум
Сообщений всего: 77
Дата рег-ции: Окт. 2009  
Откуда: Пятигорск


Помог: 0 раз(а)




Мелкий пишет:
он выводит только 1 картинку на странице?
Да. только одна.
Мелкий пишет:
за что отвечает массив $img_exif[]?
не за что не отвечает Закатив глазки это я по ошибке забыл удалить эту запись. сначала делал по другому и он был нужен. а потом немного изменил код, а массив так и остался.

Мелкий пишет:
БД нужна в любом случае.
мне базу никак не прикрутить тут.
Мелкий, а может что нибудь другое посоветуешь, вообще я пытаюсь сделать типа модуля электроной книги, где каждая страница это картинка,а содержание строиться из текстовых ссылок на определенные картинки. с превьюшками не хочу заморачивать потому как запаришься для каждой картинки превьюшку делать, да и место это очень много будет занимать.
 
 Top
Мелкий Супермодератор
Отправлено: 30 Октября, 2009 - 13:05:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Сходу ничего другого посоветовать не могу, но подумаю. Будут идеи полезные - напишу.

PS: не сказал бы, что превьюшки много места занимают... У меня сейчас пожатые автоматически через GD до 300х225 3650 фоток чуть меньше 30мб занимают.


-----
PostgreSQL DBA
 
 Top
JustUserR
Отправлено: 30 Октября, 2009 - 22:52:16
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




leshiy_SV пишет:
А если в директории 3000+ фотографий?
В любом случае можно написать клиентскую JS функцию которая будет запрашивать PHP-скрипт вывода картинок с уже указанным лимитом
А если таким образом нужна информация о картинках (Например для сортироввки по эти данным) то их можно кешировать


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB