无法在PHP中上传图像

时间:2016-02-03 05:59:04

标签: php image-uploading

我正在关注http://www.w3schools.com/php/php_file_upload.asp处提供的代码来上传图片。

而不是 $ target_dir =“uploads /”; 我指定了我想上传图片的本地系统的路径。

我最后收到了成功消息,但我找不到指定位置的图片。有什么我误解或遗失的吗?

谢谢!

4 个答案:

答案 0 :(得分:1)

如果在linux中运行代码,则必须具有目录中的写入权限 Chang权限目录777

答案 1 :(得分:0)

检查您的文件夹访问权限。它必须是755。

答案 2 :(得分:0)

这也发生在我身上,只有经过很多测试我才能解决。 我正在使用linux 64,Ubuntu发行版和Vesta Manager。

解释如下:

move_uploaded_file($文件名,$目标) 函数接收两个参数。

第一个是有效的上传文件,即它是通过php的HTTP POST方法发送的。

第二个是将要移动图像文件的名称。 您收到成功是因为 $ filename 是有效的文件,并且 $ destination 也是有效的名称。

如果您打印文件的内容,则会显示以下内容:

n - 1

要使用 move_uploaded_file()函数,您必须传递上面引用的参数。

错误类型:

UPLOAD_ERR_OK:0

* UPLOAD_ERR_INI_SIZE:1

* UPLOAD_ERR_FORM_SIZE:2

* UPLOAD_ERR_NO_TMP_DIR:6

* UPLOAD_ERR_CANT_WRITE:7

* UPLOAD_ERR_EXTENSION:8

UPLOAD_ERR_PARTIAL:3

[错误模式]:仅传递新的图像名称

return n* factorial(n - 1);

[正确的模式]:传递链接图像的新名称及其绝对路径

{
    "name": ["name-image.jpg"],
    "type": ["image/jpeg"],
    "tmp_name": ["/home/domain-name/tmp/phpVApV3h"],
    "error": [0],
    "size": [772014]
}

如果您使用的是 Windows ,则可以遵循相同的理由,还可以将绝对路径分配给新图像名称。

这对我有用,希望对您有帮助。

答案 3 :(得分:-1)

如果您使用wamp或xampp在核心php中上传图像,请尝试此代码 此代码已运行

&#39 ;;     if(** move_uploaded_file **($ _ FILES [' userfile'] [' tmp_name'],$ uploadfile))     {         echo"文件有效,并已成功上传。\ n&#34 ;;     }     其他     {         echo"可能的文件上传攻击!\ n&#34 ;;     }      echo'这里有一些调试信息:&#39 ;;      的print_r($ _ FILES);     打印"&#34 ;; ?>