Здравствуйте, можете подсказать скрипт для уменьшения и ресайза картинок с другого хостинга, и чтобы изображения при этом нигде не сохранялись. И в итоге можно было получить измененную картинку через url примерно такого вида: site.ru/resize.php?url=site.ru/image.jpg ?
На моем сайте много картинок, они много весят, у меня сейчас так, как вы сказали, только проблемы не решает.
Ну можно. Только вот не перегрузит ли это ваш сервер? Тут куча топиков с готовым кодом. Главный принцип: сначала картинку уменьшают без сглаживания на какую-то часть. Потом уже со сглаживанием. Это экономит ресурсы процессора, именно вам такой вариант и нужен.
igordata, Я полазил по форуму, но именно на эту тему не нашел. Можете дать такой код? P.S. Сколько будет стоить такой скрипт, если заказать?
хз. немного. именно в этом разделе есть скрипты, которые ужимают картинки. =) смотрите внимательнее. Чтобы выдать картинку на-гора, а не сохранять - тоже можно сделать, думается. Если не жмотите заказать, пишите внизу форма во фриланс, там вам и цену скажут. Дорого это не будет. Главное попросите чтобы параметры у скрипта были, и чтобы через гет, и чтобы можно было конфиг держать в отдельном файле - будете счастливы. Однако мне кажется, что есть смысл задуматься о кешировании. Ибо придется каждый раз с того сайта-то качать целиковые фотки! А смысл? Надо писать скрипт, который будет сохранять в бд или где там всякую инфу, чтобы определять, изменилась ли картинка,и только тогда ее загружать и жать, и сохранять в кэш локально, и оттуда уже выдавать. Мое такое мнение.
2 минуты: PHP: <?php if(isset($_GET["url"]) && isset($_GET["width"]) && isset($_GET["height"])) { $image = imagecreatefromstring(urldecode($_GET["url"])); if($image) { $width = intval($_GET["width"]); $height = intval($_GET["height"]); $resampled = imagecreatetruecolor($width, $height); // Уменьшим бяку imagecopyresampled( $resampled, $image, 0, 0, 0, 0, $width, $height, imagesx($image), imagesy($image) ); // Отдадим картинку браузеру header("Content-type: image/jpeg"); imagejpeg($resampled); imagedestroy($resampled); imagedestroy($image); } } ?> Передавать аргументы так: http://example.com/image.php?url=http:/ ... &height=10 Ну а теперь оплати совестью =)
Спасибо, но почему то не работает... http://img.wallplanet.ru/image.php?url=http://img.yandex.net/i/www/logo.png&width=25&height=10
Я не проверял просто. Заменить строчку: Код (Text): $image = imagecreatefromstring(urldecode($_GET["url"])); на следующую: Код (Text): $image = imagecreatefromstring(file_get_contents(urldecode($_GET["url"])));