php - PHP文件上传成功错误代码,但没有图像出现
问题描述
为了清楚起见,我将把它分成易于浏览和阅读的部分。
问题:
在我上传文件后,$_FILES 超级全局似乎不包含任何信息。尽管如此,我还是得到了错误代码 0(成功上传),这似乎是矛盾的。
背景:
我已经在个人网站上工作了一段时间,并且正在开发一个帖子管理系统。到目前为止一切都很好,但我在尝试使用 $_FILES 上传图像时遇到了困难。
我在学校和我的工作中多次做过这种事情,但我的电脑似乎出现了某种问题,或者我有一个巨大的白痴中风。
为了解决这个问题,我已经:
- 在 php.ini-production 中为我正在使用的版本启用文件上传(php 7.1.7)
- 将值更改为
upload_max_filesize
和post_max_size
到 100m - 检查 PHP 返回的错误代码,返回错误代码 0,或
UPLOAD_ERR_OK
- 检查我自己的代码是否存在我所犯的任何简单错误。我看不到任何内容,但是当您遇到错误时通常会出现这种情况。
我将包含我编写的一个小测试页面,并演示该问题:
文本.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 测试语句未触发。
解决方案
全局数组被命名为$_FILES
您正在检查isset($_FILE['a']['tmp_name']
如果您想检查上传的文件,请尝试使用
if (is_uploaded_file($_FILES['a']['tmp_name'])) {
//file is uploaded
}
推荐阅读
- python - 如何解决开始限制命中错误
- python - 如何使用 python 循环添加数据参与者 Google Calender API?
- ios - 在另一个自定义类的子类中运行集合视图补充视图时出现 Swift 错误
- ansible - 带有私有注册表的 Ansible docker_swarm_service
- git - 如何解决分歧的分支和 orgin/branch?
- html - CSS列:列宽取决于每列的最大项目长度
- c# - 在相同的 url 上重定向导致重定向过多
- reactjs - React + Express:Axios 在 Heroku 上返回 405 Method Not Allowed
- c - 如何使用双指针在 C 中操作数组?
- c# - Char.Parse("P") 在 C# 中返回 80 'P'