我写了代码来上传PHP中的图像。但是我得到了如下错误。现在我该怎么做才能解决这个问题?

时间:2015-09-02 18:38:34

标签: php image xampp image-uploading

我有一个PHP项目,但我收到以下错误。我该如何解决这些问题?

  

警告:move_uploaded_file(photos / pic1.jpg):无法打开流:   许可被拒绝   第16行/Applications/XAMPP/xamppfiles/htdocs/uploads/upload.php

     

警告:move_uploaded_file():无法移动   ' /应用/ XAMPP / xamppfiles /温度/ php7RZaLG'到'照片/ pic1.jpg'   在第16行的/Applications/XAMPP/xamppfiles/htdocs/uploads/upload.php中

<?php 

$image_name = $_FILES['image']['name'];
$image_type = $_FILES['image']['type'];
$image_size = $_FILES['image']['size'];
$image_tmp_name = $_FILES['image']['tmp_name'];

if (isset($_POST['upload'])) {
    # code...
    if ($image_name == '') {
        # code...
        echo "Please choose an Image";
        exit();
    }
    else{
        move_uploaded_file($image_tmp_name, "photos/$image_name");
        echo "Image Uploaded Successfully!!!";
    }
}

?>

<!DOCTYPE html>
<html>
<head>
    <title>Photo Upload</title>
</head>
<body>
    <form action="upload.php" method="post" enctype="multipart/form-data">
        <input type="file" name="image">
        <input type="submit" name="upload" value="Upload Now">
    </form>
</body>
</html>

1 个答案:

答案 0 :(得分:1)

您需要使/photos/目录'可写'。

有很多方法可以做到这一点。

  • 使用FTP客户端手动更改目录上的文件权限以使其可写
  • 使用PHP(如果您有'权限'通过PHP更改'权限')来更改权限

http://php.net/manual/en/function.chmod.php

您需要将FULL SERVER PATH传递到“photos”目录中的chmod()函数,然后是您需要的权限级别。 例如:

chmod('/full/path/to/photos',0755);