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 :: Версия для печати :: Поиск изображений
Форумы портала PHP.SU » » Вопросы новичков » Поиск изображений

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

1. maximum - 15 Октября, 2016 - 13:18:55 - перейти к сообщению
Здравствуйте.
У меня такая проблема:

Есть папка, в ней изображения вида
1476515469-thumb-2-300.png
1476251499-thumb-2-300.png
1475251499-thumb-2-300.png
gallery1476251447-thumb-1-375.jp g
gallery1456251441-thumb-1-475.jpg ну и тд

а в бд записи вида
1476515469.png
1476251499.png
1475251499.png


Вопрос. Как имея изображения вида 1476515469.png в бд вытащить 1476515469-thumb-2-300.png из папки и показать.
2. Fart - 15 Октября, 2016 - 14:24:45 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $img_db   = "1476515469.png";
  2. $img_name = explode(".", $img_db);
  3.  
  4. $dir      = 'указываешь путь до папки с изо';
  5.  
  6. //при необходимости: можно дописать
  7. //здесь код для проверки директории
  8.  
  9. $scan     = scandir($dir);
  10.  
  11. $img = array();
  12.  
  13. foreach($scan as $k=>$v)
  14. {
  15.     if(preg_match("/".$img_name[0].".*\.".$img_name[1]."$/i", $v))
  16.     {
  17.         $img[] = $v;
  18.     }
  19. }
  20.  
  21. if(count($img) <= 0)
  22. {
  23.     echo "нет в папке изо!";
  24. }
  25. else if(count($img) > 1)
  26. {
  27.     echo "найдено в папке несколько изо!";
  28. }
  29. else
  30. {
  31.     echo "найдено ".$img[0];
  32. }


результат кода не проверял, но принцип я изобразил! если нужно из папки искать в субд, то там через запрос похожий вариант ищешь (даже еще проще)
3. maximum - 15 Октября, 2016 - 15:54:30 - перейти к сообщению
Спасибо большое! Все работает.

 

Powered by ExBB FM 1.0 RC1