使用POST PHP图片上传(PHP Image Upload using POST)

2019-10-23 05:50发布

我试图做一个简单的图片上传。 我已经搜索了几个小时了,我确信设置加密类型,我也根据我想做的事改变了我的php.ini。 文件和文件夹的权限也是正确的。 我试着在另一个网站服务器完全相同的代码,它的工作。 我正在用的Apache2在树莓派PHP5。

HTML代码

<form method="post" enctype="multipart/form-data" action="upload.php">
    <table>
        <tr><td><input type="file" name="uimage"></td></tr>
        <tr><td><input name="Submit" type="submit" value="Upload image"></td></tr>
    </table>    
</form>

PHP代码

var_dump($_FILES);

PHP代码返回一个空数组。 var_dump($_POST); 工作正常。 在其他的服务器都被工作和图像上传成功。 我认为它与我的服务器做。 我检查php.ini文件和000,启用了站点,但真的想不通是什么原因导致的问题。

这是从Apache2的error.log中说:

PHP注意:未定义指数:在的uImage上/var/www/dmz/dotpic/upload.php线48,引用者: HTTP://localhost/upload.php

编辑:

通过在问题的标题“POST”我的意思是我现在用的形式方法。 我不是试图访问使用图像$_POST阵列。 对不起,我这一点。

Answer 1:

使用$_FILES['uimage']来访问您的文件,$ _ POST不适用于文件。 更多信息使用此链接: http://www.w3schools.com/php/php_file_upload.asp



Answer 2:

你不应该使用$_POST来获取文件,你应该使用$_FILES['uimage']来获取上传的文件。

$_FILES['uimage']是与有关的尺寸,临时名称上传文件的,上载结果以及上传文件的文件类型的一些信息的数组。



Answer 3:

至于出了什么上面已经回答了。 你应该用$ _FILES [ '的uImage']而不是$ _POST [ '的uImage']。 祝好运。 :)



文章来源: PHP Image Upload using POST