php的图片上传问题

时间:2013-11-30 03:40:12

标签: php ubuntu amazon-web-services jpeg getimagesize

我有一些代码可以让用户浏览他的机器上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;
     }
}

1 个答案:

答案 0 :(得分:0)

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

 cd /var/www/ch23_ex1/
 sudo chmod 775 images