Здравствуйте.
Моя задача в том, чтобы затемнить изображение, ссылку на которое вводит пользователь. Сначала я решила просто вывести img и уже столкнулась с проблемой. Я отправляю ajax-запрос на страницу с gd-кодом:
$(".button").click(function () {
$.ajax({
url: "index.php",
type: "POST",
data: {
img_url: $(".img_url").val()
},
success: function () {
$(".for_img").load("index.php");
//document.location.href= "index.php";
}
})
});
А код в index.php выглядит вот так:
function LoadJpeg($imgname) {
/* Пытаемся открыть */
$im = @imagecreatefromjpeg($imgname);
/* Если не удалось */
if(!$im) {
/* Создаем пустое изображение */
$im = imagecreatetruecolor(150, 30);
$bgc = imagecolorallocate($im, 255, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 150, 30, $bgc);
/* Выводим сообщение об ошибке */
imagestring($im, 1, 5, 5, 'Ошибка загрузки ' . $imgname, $tc);
}
return $im;
}
header('Content-Type: image/jpeg');
//подставляем параметр в функцию
$img = LoadJpeg($_POST["img_url"]);
imagejpeg($img);
В сети возвращается нормальное изображение, при попытке вывода - очень много крякозябров. Пожалуйста, подскажите, как правильно вывести изображение
Прежде всего, вам нужно запихнуть картинку в атрибут "src" элемента "img". Во-вторых, вам не нужно использовать ajax запрос для этого случая, т.к. вставив картинку в src -- запрос итак будет инициализирован вашим браузером.
Исходя из верних двух пунктов, чтобы ваш код стал рабочим, можно его модифицировать вот так (предполагается, что тэг с классом "for_img" - это ):
$(".button").click(function () {
$(".for_img").attr('src', 'index.php?img_url=' + $(".img_url").val());
});
Также, в скрипт php тебе придется изменить POST на GET:
$img = LoadJpeg($_GET["img_url"]);
P.S. Использовать @ (оператор подавления ошибок в php) - считается плохой практикой. Ошибки всегда лучше исправлять и логировать, а не прятать их.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Делаю личный кабинет, который параллельно является и админкойАвторизация работает на сессиях
Доброго времени сутокСуть такова: нужно добавить новую запись в json файл
Есть таблица MySQL(users), там данные - id, name, pointsМне нужно получить 3 строчки: 1 человек, который по баллам больше, я и 1 человек, который по баллам...