Привет, я использую следующий скрипт, и он отлично работает.PHP - сохранение водяного знака в каталог
Моя проблема заключается в том, как заменить исходное изображение водяным знаком, оставляя одно и то же имя файла и расширение?
$stamp = imagecreatefrompng(base_static_url().$this->marker_url);
$im = imagecreatefromjpeg($img_path);
// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 10;
$marge_bottom = 10;
$sx = imagesx($stamp);
$sy = imagesy($stamp);
// Copy the stamp image onto our photo using the margin offsets and the photo
// width to calculate positioning of the stamp.
imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));
// Output and free memory
header('Content-type: image/png');
imagepng($im);
imagedestroy($im);
I судимое:
file_put_contents($img_path, imagecreatefromjpeg($im));
Но получил:
Error: failed to open stream: HTTP wrapper does not support writeable connections
И я также пытался:
file_put_contents($img_path, $im);
А потом я получил новую ошибку:
Error: file_put_contents(): supplied resource is not a valid stream resource
ok itryed imagejpeg(), поскольку оригинал - это jpg для замены. проблема заключается в том, что http не позволяет отключить и кажется, что путь, переданный в imagejpeg(), не нормально, пока он подходит для водяных знаков:/i received: ** imagejpeg() [function.imagejpeg]: Не удалось открыть 'http: // localhost/site/uploads/img/iphone.jpg 'для записи: нет такого файла или каталога ** – sbaaaang
Вы уверены, что это правильный URL? В сообщении об ошибке говорится, что путь не существует. Получаете ли вы какие-либо другие ошибки или предупреждения в вашем журнале ошибок php? – Joe
yah путь абсолютно правильный :(и я предоставил 777 доступ только для тестирования :( – sbaaaang