move_uploaded_file()错误

时间:2010-04-10 01:56:03

标签: php

我有一个免费托管的网站 - 000webhost.com,它允许你上传图片。

但是,当我尝试上传图片时,我收到了以下错误:

警告:move_uploaded_file(images / SmallSmileyFace.jpg)[function.move-uploaded-file]:无法打开流:第76行/home/a6621074/public_html/m/write.php中的权限被拒绝

警告:move_uploaded_file()[function.move-uploaded-file]:无法在/home/a6621074/public_html/m/write.php中将'/ tmp / phpcmW3mo'移动到'images / SmallSmileyFace.jpg' 76

这是代码:

if (!empty($_FILES['fileImage']['name'])) {
  // check image type and size
  if ((($imagetype == 'image/gif') || ($imagetype == 'image/jpeg') || ($imagetype == 'image/pjpeg') || ($imagetype == 'image/png'))
    && ($imagesize > 0) && ($imagesize <= 32768)) {

    if ($_FILES['fileImage']['error'] == 0) {
        //move file
        $target = 'images/' . $image;
        if (move_uploaded_file($_FILES['fileImage']['tmp_name'], $target)) {
            $query = "INSERT INTO reviews (post_date, food_name, location, cafeteria, review, image, rating, user_id)
            VALUES (NOW(), '$foodname', '$location', '$cafeteria', '$review', '$image', $rate, $id)";

            mysqli_query($dbc, $query);

            //confirm success
            echo '<p>Thank you for your submission!</p>';
        }
        else {
            echo '<p class="errmsg">There was a problem uploading your image.</p>';
        }
    }
    @unlink($_FILES['fileImage']['tmp_name']);
  }
 else {
      echo '<p class="errmsg">The screen shot must be a GIF, JPEG, or PNG image file no greater than 32KB in size.</p>';
  }
}

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

  1. 检查您的“images”文件夹权限,例如,将其设为0777(每个人都可写)。
  2. 将“images /”路径更改为绝对服务器路径。

答案 1 :(得分:1)

权限被拒绝通常是由您的主机的文件权限引起的。基本上,您没有对要将文件移动到的文件夹具有写入权限。您可能需要与托管服务提供商联系或尝试上传到其他文件夹。