С помощью следующего кода мой браузер возвращает «изображение не создано или не сохранено». Уверяю вас, местоположение изображения существует. Поэтому строка внутри оператора if по какой-то причине возвращает false, и да, GD установлен. Есть идеи?
if ($img = @imagecreatefromjpeg("/var/www/images/upload/1/1.jpg")) {
die("image was created");
} else {
die ("image was not created or saved");
}
ОК, я сделал это:
<?php
error_reporting(E_ALL);
if (fopen('/var/www/images/upload/1/1.jpg')) {
echo 'file was opened';
} else {
echo 'file was not opened';
}
?>
Возвращает, что файл не открывался каждый раз, группа apache имеет все разрешения для всех этих папок. GD или PHP - это другое имя пользователя?
После выполнения is_readable () из тестового скрипта он вернул true. В чем еще может быть проблема?
Итак ... когда я запускаю скрипт:
error_reporting(E_ALL);
imagecreatefromjpeg("/var/www/images/upload/1/1.jpg");
print_r(error_get_last());
echo ("hi");
Я получаю белый экран смерти. Если я закомментирую строку imagecreatefromjpeg, на экране отобразится «hi»
Только что попробовал это на 500k jpg изображении, чтобы увидеть, если это проблема с памятью, но все равно получил белый экран.
Когда я запускаю imagecreatefromjpeg в операторе if и запускаю скрипт через терминал, imagecreatefromjpeg имеет успех! = \ До сих пор не могу понять, почему это не сработало бы иначе. РЕДАКТИРОВАТЬ: Запуск этого точного сценария через мой браузер также является успешным.