Мне нужна информация об изображениях в папке cardimg.
$arr = glob("../cardimg/*.jpg");
foreach ($arr as $item){
list($width, $height) = getimagesize($item);
echo $width . '<br>';
echo $height . '<br>';
}
Отлично работает для ширины и высоты, но не знаете, как узнать, имеет ли изображение разрешение 72 или 300 точек на дюйм?
мой php - 7.0.20 и использую
print_r(imageresolution($item));
результат - ошибка - Call to undefined function
Также есть способ изменить 300dpi на 72dpi с помощью php?
Вы тоже можете это проверить .. php.net/manual/en/function.imageresolution.php
@Joseph_J, кажется, невозможно изменить dpi, но как насчет получения только информации о dpi?






Это прямо из PHP.net для imageresolution (). (PHP 7> = 7.2.0)
<?php
$im = imagecreatetruecolor(100, 100);
print_r(imageresolution($im));
imageresolution($im, 300, 72);
print_r(imageresolution($im));
?>
Это должно дать вам то, что вам нужно, после обновления версии php:
$im = imagecreatefromstring(file_get_contents($path));
print_r(imageresolution($im));
imagedestroy($im);
Вот ссылка на то, как запустить библиотеку gd .. Я уверен, что это зависит от размещенного сервера или нет, я не знаю. Но должно помочь, я полагаю.
пожалуйста, прочтите мой вопрос еще раз. Мне не нужно создавать какие-либо изображения, но я получаю информацию о существующих.
@bonaca Это именно то, что он делает. Но это доступно только в PHP 7> = 7.2.0 «Если не задан ни один из дополнительных параметров, текущее разрешение возвращается как индексированный массив».
мой php - 7.0.20, а результат использования print_r(imageresolution($item)); - ошибка - `Call to undefined function`
$ item - это объект изображения? Позвольте мне обновить свой ответ.
Если вы используете PHP 7.0, то функция будет недоступна - как сказано в ответе, она только в PHP 7.2 (с включенной библиотекой GD)
@iainn, обновлю свою версию php. Как включить GD?
@bonaca Это будет зависеть от вашей ОС - см. stackoverflow.com/questions/2283199/… для некоторых указателей, но Google сможет помочь