为了清楚起见,我将其分为易于导航和可读的两个部分。
问题:
在我上传文件后,$_FILES超级全局文件似乎没有保存任何信息。尽管如此,我还是得到了错误代码0(上传成功),这似乎是矛盾的。
背景:
我已经在一个个人网站上工作了一段时间,现在正在开发一个帖子管理系统。到目前为止,它进行得很好,但我在尝试使用$_FILES上传图片时被困住了。
我在学校和工作中做过很多次这样的事情,但我的电脑似乎出了什么问题,或者我有很大的愚蠢。
我已经用来解决这个问题了:
对于我正在使用的版本(php 7.1.7),php.ini-中启用了
upload_max_filesize
和post_max_size
,以返回PHP返回的错误代码,返回错误代码0,或对我所犯的任何简单错误执行UPLOAD_ERR_OK
我将包含一个我编写的小测试页面,并演示了这个问题:
text.php:
<?php
if(isset($_POST['submit'])){
echo $_FILES['a']['error'];
if(isset($_FILE['a']['tmp_name'])){
echo "hello";
}
}
?>
<form action = "text.php" method = "POST" enctype="multipart/form-data">
<label for = "a"> Send Image </label>
<input type = "file" name = "a" id = "a">
<input type = "submit" name = "submit" value = "Submit">
</form>
提交表单时,我得到错误代码0,但hello test语句不会触发。
发布于 2018-06-03 00:59:06
您正在检查isset($_FILE['a']['tmp_name']
的全局数组名为$_FILES
如果您想检查上传的文件,请尝试使用
if (is_uploaded_file($_FILES['a']['tmp_name'])) {
//file is uploaded
}
https://stackoverflow.com/questions/50659121
复制相似问题