2013-11-21 2 views
1

Я только что получил старый php-сайт из общедоступного хостинга, который мне нужно перенести в новый центр данных. Я наткнулся на это:Как изменить размеры изображений на лету?

есть размер изображения на лету, изменяя название изображения в браузере изменяет свой размер:

if(mysql_num_rows($resultIMG)>0) { 
    $lineIMG = mysql_fetch_object($resultIMG); 
    echo "<img src=\"../Dev/modules/dGC/images/".htmlspecialchars($lineIMG->imagem_min)."\" alt=\"\" title=\"\">&nbsp;"; 
} 

$ lineIMG является объект, который содержит имя изображения, имеет 3 свойства:

$lineIMG->image; 
$lineIMG->image_min; 
$lineIMG->image_med; 

только $ lineIMG-> изображение содержит настоящее имя изображения, другое - префикс до соответствующего размера, который мы хотим изменить.

Например:

если изображение называется product002.jpg, эта функция:

htmlspecialchars($lineIMG->imagem_min) 

будет производить:

min_product002.jpg 

и если я изменить имя в браузере med_product002.jpg, что в ответ даст мне изображение среднего размера. Ни один из файлов min_product002.jpg или med_product002.jpg не существует в файловой системе, только оригинальный продукт002.jpg.

Любая идея, как это достигается

Я нашел this пост, объясняя, как добиться этого с помощью Mod-переписать, это может быть механика, используемые на моем сайте?

Но никакой сценарий не включен в мои страницы, может ли он быть глобальным, поскольку он является общедоступным хостингом?

+0

Да. В основном вы должны обнаружить, когда пользователь хочет открыть изображение - если изображение существует, тогда пользователь откроет его как обычное изображение, если нет, то он перенаправляется на скрипт, который читает, какой образ пользователь хотел открыть, а затем создать, сохранить в папке (так в следующий раз, когда кто-то попросит об этом изображении, он будет уже подготовлен один), а затем подаст его пользователю. Вместо high/med/low вы можете использовать имена типа 200x300, поэтому, если вам нужен другой размер, вы можете просто написать , и он будет работать без дополнительной работы. – Volvox

+0

после изменения размера нет изображений с измененной размерностью, поэтому он не сохраняет никаких новых изображений в файловой системе. – doflip

ответ

0

У меня есть еще несколько ссылок. Я использовал ранее библиотеку phpthumb. он изменяет размер изображения на основе исходного размера и режима изображения (пейзаж или портрет).

Вот еще некоторые ссылки: -

Resizing the image in php for viewing purposes only

Resize image and display without saving it

http://joedesigns.com/v22/?page=scripts_widgets&id=67

http://phpthumb.sourceforge.net/

+0

Я редактирую вопрос, так как никакой скрипт не включен в мои страницы, есть ли способ сделать это без php-функций «imagecopyresampled»? – doflip

+0

@doflip Фактически я не знаю, существует ли какое-либо решение без функции php. Но поскольку я нашел ссылку, связанную с вашим вопросом, и я использовал библиотеку phpthumb, поэтому я решил поделиться с вами. – Roopendra

Смежные вопросы