У меня есть код, который должен позволить пользователю просматривать его машину для загрузки jpeg, gif или png.Проблема с загрузкой изображений с php
Мой код отлично работает с моего xampp localhost.
Я загрузил свой код в веб-службы Amazon, где у меня есть сервер Ubuntu 12.04, на котором я установил LAMP. После этого код не работает.
Я проследил, где я считаю, что код не работает. Это значение равно getimagesize($old_image_path)
, это возвращает пустой набор.
$old_image_path = /var/www/ch23_ex1/images//leaf.gif
, когда я выбираю pic с рабочего стола, не знаю, почему этот путь показывает, но он работал с xampp.
Обратите внимание на эхо-заявления, которые включены для проверки выхода из них: должны
allow_url_fopen = 1
/var/www/ch23_ex1/images//NChandler03.jpgbool(false) Тип изображения = Файл изображение JPEG, GIF или PNG.
Вот часть кода, где я считаю, что потерпеть неудачу:
function resize_image($old_image_path, $new_image_path,
$max_width, $max_height) {
echo "allow_url_fopen = " . ini_get("allow_url_fopen")."<br>";
// Get image type
echo $old_image_path;
//$image_info = file_get_contents($old_image_path);
$image_info = getimagesize($old_image_path);
$image_type = $image_info[2];
var_dump($image_info);
echo 'Image type = '.$image_type;
// Set up the function names
switch($image_type) {
case 2:
$image_from_file = 'imagecreatefromjpeg';
$image_to_file = 'imagejpeg';
break;
case 1:
$image_from_file = 'imagecreatefromgif';
$image_to_file = 'imagegif';
break;
case 3:
$image_from_file = 'imagecreatefrompng';
$image_to_file = 'imagepng';
break;
default:
echo $image_type;
echo 'File must be a JPEG, GIF, or PNG image.';
exit;
}
}
Ожидаете ли вы открыть файл на вашей машине пользователя с помощью 'fopen'? Это не сработает. Вам нужно, чтобы ваш браузер загружал файл. Посмотрите [обработка файлов] (http://php.net/manual/en/features.file-upload.php) –
Привет, мистер Музыкант. Нет, fopen был тестовым заявлением, проверяющим настройки сервера. Спасибо за вашу мысль. – schandl2