Есть скрипт который содержит функцию (resize.php):
PHP:
скопировать код в буфер обмена
//$filename содержит путь и имя файла
function resize_foto ($filename){
$width_small_foto = 100; //ширина выводимой уменьшенной копии
$ratio = $size_foto[0]/$width_small_foto; //коэффициент уменьшения
$x = $size_foto[0]/$ratio; //ширина копии =100
$y = $size_foto[1]/$ratio; //высота копии
$smallfoto,
0, 0,
0, 0,
$x, $y,
$size_foto[0],
$size_foto[1]);
header("Content-type: image/jpeg"); }
resize_foto($filename);
и к примеру есть код html (view.php):
Если объявить переменную $filename (например 'image/file.jpg') скрипт view.php спокойно выводит уменьшенную копию изображения без сохранения файла. Я столкнулся с проблемой поскольку не особо силен в тонкостях PHP. Проблема следующая:
В будущем в базе данных mysql в отдельной таблице будут содержаться данные о фото (все те же 'image/file.jpg') и выводится они будут по такому же принципу как и в скрипе view.php Подскажите пожалуйста как организовать такой вывод нескольких изображений. Пока в мысли пришло следующее но увы не работает:
PHP:
скопировать код в буфер обмена
//получаем данные о фотках (image/filename1.jpg, image/filename2.jpg и т.д.)
........
echo '<img src="resize.php?filename='.$row['filename'].'"><br/>';
}
или же может вызывать функцию с дополнительным параметром но тогда header генерирует ошибку.
Может как то можно через $_GET() передать данные из view.php в resize.php и выводить картинки в памяти не сохраняя их? А то в будущем планируется много фоток поэтому и хочу выводить их в уменьшенном варианте... Главное принцип дальше разберусь... Нужно чтоб переменная объявлялась в view.php а выводилась через resize.php
Заранее спасибо...
С эти вопросом разобрался следующим образом. Если не создавать функцию resize а просто оставить скрипт в файле то именно таким методом все это и работает. Остался вопрос. можно ли каким то образом передавать функцию или вызывать ее в теге <img> или в значении src?