Отримати висоту зображення та ширину як цілі значення?


98

Я намагався використовувати функцію PHP getimagesize , але мені не вдалося витягнути ширину та висоту зображення як ціле значення.

Як я можу цього досягти?

Відповіді:


197

Спробуйте так:

list($width, $height) = getimagesize('path_to_image');

Переконайтесь, що:

  1. Ви вказуєте правильний шлях зображення там
  2. Зображення має доступ для читання
  3. Chmod зображення dir до 755

Спробуйте також встановити префікс шлях $_SERVER["DOCUMENT_ROOT"], це допомагає іноді, коли ви не в змозі читати файли.


2
777 в каталозі не потрібен.
ткнути

@poke: ти справді на 100% впевнений?
Сарфраз

5
Так. 777 означає читання, запис та виконання права власника, групи та всіх. Вам потрібно прочитати та виконати право доступу до каталогу, але вам не потрібно правильно писати; і ви також не потребуєте цього права для всіх. 755 має бути добре для кожного доступу, де вам не потрібно створювати файли всередині каталогу.
ткнути

1
Мені цікаво, що вам потрібно виконати права на каталог, але не саме зображення (працює з зображенням на 644).
Лі Саксон

1
Для використання на віддалених зображеннях потрібно увімкнути enable_url_fopengetimagesize() .
VertigoRay

63
list($width, $height) = getimagesize($filename)

Або,

$data = getimagesize($filename);
$width = $data[0];
$height = $data[1];

13

getimagesize () повертає масив, що містить властивості зображення.

list($width, $height) = getimagesize("path/to/image.jpg");

просто отримати ширину і висоту або

list($width, $height, $type, $attr)

щоб отримати більше інформації.


7

Подобається це :

imageCreateFromPNG($var);
//I don't know where from you get your image, here it's in the png case
// and then :
list($width, $height) = getimagesize($image);
echo $width;
echo $height;

Не працює:, getimagesize() expects parameter 1 to be string, resource givenфункція getimagesizeочікує назви файлу
lopisan

6

PHP getimagesize()повертає масив даних. Перші два елементи в масиві - це два елементи, які вас цікавлять: ширина та висота. Щоб отримати їх, ви просто запросите перші два індекси у поверненому масиві:

var $imagedata = getimagesize("someimage.jpg");

print "Image width  is: " . $imagedata[0];
print "Image height is: " . $imagedata[1];

Для отримання додаткової інформації дивіться документацію .


3

getimagesize('image.jpg') Функція працює лише в тому випадку, якщо allow_url_fopenна сервері встановлено значення 1 або Увімкнено файл php.ini, якщо він не включений, слід використовувати ini_set('allow_url_fopen',1); зверху файл, де використовується функція getimagesize ().

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.