Как получить комментарии метаданных изображений внутри папки

я хочу получить comment метаданные изображений внутри ../banners папка

$arr = scandir("../banners/");
foreach($arr as $el){
echo $el;  // this works
$path = '../banners/' . $el;
//$arrb = exif_read_data($path, 0, true); // line 91
$arrb = exif_read_data($path, "COMMENT");  // line 92
print_r($arrb);
}

Результат:
Если я выполню line 91 все перечислено, но все равно — есть предупреждение:

Warning: exif_read_data(): Unable to open file... on line 91

Если я выполню line 92 нет данных, но есть предупреждение:

Warning: exif_read_data(): Unable to open file... on line 92

Я на localhost, Windows 7, Wamp.

Любая помощь?

0

Решение

scandir() вернет текущий каталог . и родительский каталог .., Вы хотите отфильтровать их:

<?php
$blacklist = ['.', '..'];
$arr = scandir("../banners/");
foreach ($arr as $el) {
if (!in_array($el, $blacklist)) {
echo $el;  // this works
$path = '../banners/' . $el;
$arrb = exif_read_data($path, "COMMENT");  // line 92
print_r($arrb);
}
}

Я создал $blacklist массив, который содержит те значения, которые вы не хотите интерпретировать как изображения.

Другим способом может быть использование Glob () вместо:

<?php
foreach (glob('../banners/*.jpg') as $el) {
echo $el;  // this works
$path = '../banners/' . $el;
$arrb = exif_read_data($path, "COMMENT");  // line 92
print_r($arrb);
}

Это вернется только *.jpg без необходимости фильтрации нежелательных типов файлов / каталогов.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector