I ток есть полностью функционирующий скрипт, который будет загружать фотографии прямо в мой s3 ведро с моего сервера ...PHP Amazon S3 загрузить С водяным знаком
Однако, я хочу прямо сейчас начать добавлять водяные знаки к каждому изображению, загружаемый Как вы знаете, загрузка на S3 никогда не хранит его на сервере, как временный файл.
В принципе, я пытаюсь загрузить изображение на S3 (который работает уже), но прежде, я хочу добавить водяной знак к этому изображению (не работает).
ЗДЕСЬ РАБОЧИЙ КОД THATS Закачивает файлы на S3 Ковш:
if (!class_exists('S3'))require_once('S3.php');
//AWS access info
if (!defined('awsAccessKey')) define('awsAccessKey', 'BLAHBLAH');
if (!defined('awsSecretKey')) define('awsSecretKey', 'BLAHBLAH');
//instantiate the class
$s3 = new S3(awsAccessKey, awsSecretKey);
$fileName = $_FILES['theFile']['name'];
$fileTempName = $_FILES['theFile']['tmp_name'];
$fileSize = $_FILES['theFile']['size'];
$fileExt = substr($fileName, strrpos($fileName, '.') + 1);
$fileExt = strtolower($fileExt);
$custompostid = rand(1000000,9999999);
$imageName = $custompostid.".".$fileExt."";
//move the file
if ($s3->putObjectFile($fileTempName, "BUCKETNAME", $image, S3::ACL_PUBLIC_READ, array(), $imageType)) {
//success
}
else{
//error
}
НО ПЕРЕД ЗАГРУЗКА ФАЙЛА, я хочу добавить водяной знак на каждое изображение. С ЭТОЙ ФУНКЦИЕЙ:
// getting the image name from GET variable
$image = $_GET['image'];
// creating png image of watermark
$watermark = imagecreatefrompng('watermark.png');
// getting dimensions of watermark image
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
// creting jpg from original image
$image_path = '/path/to/image/folder/' . $image;
$image = imagecreatefromjpeg($image_path);
//something went wrong
if ($image === false) {
return false;
}
// getting the dimensions of original image
$size = getimagesize($image_path);
// placing the watermark 5px from bottom and right
$dest_x = $size[0] - $watermark_width - 5;
$dest_y = $size[1] - $watermark_height - 5;
// blending the images together
imagealphablending($image, true);
imagealphablending($watermark, true);
// creating the new image
imagecopy($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height);
imagejpeg($image);
// destroying and freeing memory
imagedestroy($image);
imagedestroy($watermark);
Я хочу объединить эти два рабочих сценария в один. Я уверен, что это просто, весь код здесь, я просто не знаю, как связать один процесс с другим. Это лучшее, что я могу объяснить. Спасибо!
Есть вопрос, чтобы ответить, или, по крайней мере, проблема с код, который вы написали, который вы могли бы описать? –
В основном, я пытаюсь загрузить изображение на S3 (который работает уже), но раньше, я хочу добавить водяной знак к этому изображению (не работает). – Chrisl446
Вам нужно будет уточнить, что не работает, чем «не работает». –