PHP文件上传警告:表单缺失method=POST与enctype属性
PHP文件上传表单警告问题解决
问题根源
浏览器抛出的警告,核心原因是你给表单用了错误的属性名:formMethod和formEncType并非HTML表单的标准属性,浏览器无法识别这两个属性,所以依然判定表单缺少method="POST"和enctype="multipart/form-data"。
修正后的代码
把表单标签的属性改回标准的method和enctype即可,完整代码如下:
<?php $target_dir = "uploads/"; $target_file = $target_dir . basename($_FILES["ftrImg"]["name"]); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION)); if(isset($_POST["sbtImg"])) { // 增加文件存在判断,避免未选文件提交时报错 if(!empty($_FILES["ftrImg"]["tmp_name"])) { $check = getimagesize($_FILES["ftrImg"]["tmp_name"]); if($check !== false) { echo "File is an image - " . $check["mime"] . "."; $uploadOk = 1; } else { echo "File is not an image."; $uploadOk = 0; } } else { echo "Please select a file to upload."; } } ?> <form action="" method="POST" enctype="multipart/form-data"> Upload your picture: <input type="file" name="ftrImg" id="ftrImg"> <input type="submit" value="upload" name="sbtImg"> </form>
后续检查
- 确认
uploads目录存在,Linux系统下可通过chmod 755 uploads/设置正确写入权限 - 检查PHP配置文件
php.ini中的upload_max_filesize、post_max_size参数,确保值足够容纳待上传文件
内容的提问来源于stack exchange,提问作者hdap
相关产品推荐
相关产品推荐

