В настоящее время я пытаюсь загрузить изображение в свою базу данных.
Это нормально работает, но я добавил код для нанесения водяных знаков на изображение. Водяной знак работает, но теперь, когда я пытаюсь загрузить изображение, я получаю эти ошибки.
Warning: mysqli_query(): MySQL server has gone away in F:\xxamp\htdocs\attempt3\Admin\NewPhoto2.php on line 162
Warning: mysqli_query(): Error reading result set's header in F:\xxamp\htdocs\attempt3\Admin\NewPhoto2.php on line 162
Максимальный пакет серверов достаточно велик, и сам запрос занимает несколько секунд, поэтому я не могу понять проблему.
Я читал это: http://dev.mysql.com/doc/refman/5.0/en/gone-away.html
Но я не ближе к пониманию.
$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']);
$image = imagecreatefromstring ($image);
// Load the stamp and the photo to apply watermark to
$stamp = imagecreatefrompng('watermark2.PNG');
$save_watermark_photo_address = 'watermark_photo2.jpg';
// Set the margins for the stamp and get the height or 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));
imagejpeg($image, $save_watermark_photo_address, 80);
ob_start();
imagepng($image);
$contents = ob_get_contents();
ob_end_clean();
$insert = "INSERT INTO photo (name, photo, cat, framesug, moldsug, price)
VALUES ('".$_POST['name']."','$contents','".$_POST['cat']."','".$_POST['frame']."','".$_POST['molding']."','".$_POST['price']."')";
mysqli_query($conn,$insert);
Проблема началась, когда я добавил этот код.
ob_start();
imagepng($image);
$contents = ob_get_contents();
ob_end_clean();
Задача ещё не решена.
Других решений пока нет …