У меня есть код для загрузки изображения, а затем создает на лету миниатюру для этого загруженного изображения.
Следующий код, который создает миниатюру (thumb.php).
$fileName = filter_input(INPUT_GET, 'src');
$width = filter_input(INPUT_GET, 'width', FILTER_SANITIZE_NUMBER_INT);
$height = filter_input(INPUT_GET, 'height', FILTER_SANITIZE_NUMBER_INT);
$im = imagecreatefromjpeg($fileName); //<=== the error message indicates to this line
$tmp_im = imagecreatetruecolor($width, $height);
$imWidth = imagesx($im);
$imHeight = imagesy($im);
imagecopyresampled($tmp_im, $im, 0, 0, 0, 0, $width, $height, $imWidth, $imHeight);
header("Content-type: image/jpeg");
imagejpeg($tmp_im);
imagedestroy($im);
imagedestroy($tmp_im);
Следующий код, который загружает изображение, затем реализует создание эскиза для загруженного изображения, а затем отображает этот эскиз.
require_once ('thumb.php');
$image_dir = "images/";
if($_FILES['photo']['error'] == 0){
$fileUPloaded = $_FILES['photo']['name'];
move_uploaded_file($_FILES['photo']['tmp_name'], $image_dir.$fileUPloaded);
echo "<a href='".$image_dir.$fileUPloaded."'><img src='thumb.php?src=".$image_dir.$fileUPloaded."&width=350&height=250' alt='' /></a>";
}
Теперь, почему появляется ошибка Warning: imagecreatefromjpeg(): Filename cannot be empty
,
Обратите внимание, что изображение загружено, и был создан эскиз для загруженного изображения, и был отображен эскиз. Итак, почему это сообщение об ошибке появляется?
Задача ещё не решена.
Других решений пока нет …