-1

我有一些代码应该允许用户浏览他的机器以获取 jpeg、gif 或 png 上传。

我的代码在我的 xampp localhost 上运行良好。

我已将我的代码上传到 Amazon Web Services,在那里我有一个安装了 LAMP 的 Ubuntu 12.04 服务器。一旦那里的代码不起作用。

我已经找到了我认为代码失败的地方。正是在getimagesize($old_image_path)此返回一个空集。

$old_image_path = /var/www/ch23_ex1/images//leaf.gif当我从桌面上选择一张图片时,不知道为什么会显示这条路径,但它可以与 xampp 一起使用。

请注意,用于测试这些输出的 echo 语句是:

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;
     }
}
4

1 回答 1

0

我发现我的答案发布在类似的问题上。我所要做的就是通过将以下代码输入服务器来更改图像文件的权限。第一个命令将目录更改为包含我的图像文件的文件。第二个命令更改图像文件的权限,以便我的代码可以写入它。我希望这对其他人有帮助。

 cd /var/www/ch23_ex1/
 sudo chmod 775 images
于 2013-11-30T20:16:18.323 回答