Как вывести высоту и ширину изображения
Подскажите как получить width и height изображения — и вывести их?
Спасибо огромное!
Спасибо огромное!
Комментарии: 9
Пробую создать снипет…
но чтото не получается
но чтото не получается
<?php
list ($width, $height, $type, $attr) = getimagesize($input);
switch ($options) {
case 'w' :
return $width;
break;
case 'h' :
return $height;
break;
default :
return '';
break;
}
Прошу помощи
так вы уже все и получили. просто не ясно для чего switch
list ($width, $height, $type, $attr) = getimagesize($input);
print($width);
<img src="[[*imagetv]]" width="[[*imagetv:imgsize=`w`]]" height="[[*imagetv:imgsize=`h`]]" />
Не работает, — выводит только ссылку на картинкуИ очень долго обрабатывает…
Забыл уточнить что у меня WEBP
вот нашел код в сети — но незнаю как его адаптировать под свои нужды, и подойдет ли он:
// Путь к файлу изображения
$file_path='sample.webp';
$f=fopen($file_path,'r');
$data=fread($f,32);
fclose($f);
// Simple File Format (Lossy)
if (substr($data,8,8)=='WEBPVP8 ') {
$tmp=unpack('v',substr($data,0x1A,2));
$x=$tmp[1];
$tmp=unpack('v',substr($data,0x1C,2));
$y=$tmp[1];
}
// Simple File Format (Lossless)
elseif (substr($data,8,8)=='WEBPVP8L') {
$tmp=unpack('V',substr($data,0x15,4));
$x=($tmp[1] & 0x3FFF)+1;
$y=(($tmp[1]>>14) & 0x3FFF)+1;
}
// Extended File Format
elseif (substr($data,8,8)=='WEBPVP8X') {
$tmp=unpack('V',substr($data,0x18,4));
$x=($tmp[1] & 0xFFFFFF)+1;
$tmp=unpack('V',substr($data,0x1B,4));
$y=($tmp[1] & 0xFFFFFF)+1;
}
else {
$x=0;
$y=0;
}
О, вот теперь по этому выводу понятно чего вы хотите достигнуть:
снипет получает данные в $input
плюс к тому в функцию getimagesize должен приходить полный путь картинки.
поэтому я бы сделал так:
<img src="[[*imagetv]]" width="[[*imagetv:imgsize=`w`]]" height="[[*imagetv:imgsize=`h`]]" />
Смотрите.снипет получает данные в $input
плюс к тому в функцию getimagesize должен приходить полный путь картинки.
поэтому я бы сделал так:
$img = MODX_BASE_PATH . $input;
list ($width, $height, $type, $attr) = getimagesize($img);
switch ($options) {
case 'w' :
return $width;
break;
case 'h' :
return $height;
break;
default :
return '';
break;
}
Я понял причину- почему не работает. У меня абсолютные пути к файлу (Под Бабел, много контекстов — пришлось сделать). Теперь путь к файлу идет
https: // 4444444444s.com/assets/images/demobg.jpg
если прописать "/assets/images/demobg.jpg"
все работает.
в таблице modx_site_tmplvar_contentvalues — тоже все прописано через "/assets/images/demobg.jpg"
Теперь снова думать как велосипед делать)))
https: // 4444444444s.com/assets/images/demobg.jpg
если прописать "/assets/images/demobg.jpg"
все работает.
в таблице modx_site_tmplvar_contentvalues — тоже все прописано через "/assets/images/demobg.jpg"
Теперь снова думать как велосипед делать)))
А что тут велосепедить? Просто вырезайте с помощью функции домен и добавляйте нормальный путь как я показал… И получится серверный путь который и нужен.
подскажи пожалуйста, есть два снипета — как проверить их скорость работы на выдачу результата?
в php есть функция microtime ставите в начало фиксируете показания ($asd = mictotime)
И в конце скрипта вычитаете из print $asd — mictorime.
как-то так.
И в конце скрипта вычитаете из print $asd — mictorime.
как-то так.
Спасибо )
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.