为何PHP无法获取上传文件?表单上传后$_FILES无输出问题排查
问题解决:$_FILES['file']无输出但echo正常的原因
核心问题:你的表单缺少**enctype="multipart/form-data"**属性,这是PHP接收文件上传的必要条件。没有这个属性时,浏览器不会以正确格式传递文件数据,导致$_FILES数组为空,所以print_r无输出,而echo不受影响。
修正后的index.php表单代码:
<form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" id="file" name="file"> <button type="submit">上传文件</button> </form>
- 额外检查项:
- 确保表单的请求方法是post,get方法无法支持文件上传
- 可以在upload.php中增加判断逻辑,便于排查:
<?php if (isset($_FILES['file'])) { print_r($_FILES['file']); } else { echo "未接收到上传的文件数据"; } echo "test"; ?>
内容的提问来源于stack exchange,提问作者wxnzks
相关产品推荐
相关产品推荐

