Таким образом, на этом сайте администратор размещает изображение, прежде чем оно будет отправлено в базу данных через SQL я хочу добавить водяной знак. Это мой код для этой части.
if(!$_POST['name'] | !$_POST['cat'] | !$_POST['frame'] | !$_POST['molding'] | !$_POST['price'] | $_FILES["photo"]["tmp_name"]) {
die('You did not fill in a required field.');
}
$image = file_get_contents($_FILES['photo']['tmp_name']);
$_POST['name'] = addslashes($_POST['name']);
$_POST['price'] = addslashes($_POST['price']);
$_POST['molding'] = addslashes($_POST['molding']);
$_POST['frame'] = addslashes($_POST['frame']);
$_POST['cat'] = addslashes($_POST['cat']);// Load the stamp and the photo to apply the watermark to
$stamp = imagecreatefrompng('watermark2.PNG');
$save_watermark_photo_address = 'watermark_photo2.jpg';
// Set the margins for the stamp and get the height/width of the stamp image
$marge_right = 0;
$marge_bottom = 0;
$sx = imagesx($stamp);
$sy = imagesy($stamp);$imgx = imagesx($image);
$imgy = imagesy($image);
$centerX=round($imgx/2) - ($sx/2);
$centerY=round($imgy/2) - ($sy/2);
// Copy the stamp image onto our photo using the margin offsets and the photo
// width to calculate positioning of the stamp.
imagecopy($image, $stamp, $centerX, $centerY, 0, 0, imagesx($stamp), imagesy($stamp));// Output and free memory
//header('Content-type: image/png');
imagejpeg($image, $save_watermark_photo_address, 80);
Часть сохранения в конце должна была проверить это.
Все, что использует $ image, приводит к ошибке
ожидает, что параметр 1 будет ресурсом, строка указана в.
Я думаю, что это означает, что формат изображения неправильный, но я не знаю, как это исправить.
Для чьей-либо информации, прежде чем я добавил код водяного знака, все работает отлично.
для уточнения,
Вы можете использовать это
старый colde:
$image = file_get_contents($_FILES['photo']['tmp_name']);
новый код:
$imgData= file_get_contents($_FILES['photo']['tmp_name']);
$image = imagecreatefromstring( $imgData);
это разъяснение моего комментария выше.
Других решений пока нет …