【发布时间】:2014-08-04 09:31:21
【问题描述】:
我的代码
我有这个多部分表单:
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file"><span>Select:</span></label>
<input type="file" name="file" id="file">
<br>
Password: <input type="password" name="password"><br>
<input type="submit" name="submit" value="Upload">
</form>
哪个指向这个文件:
<?php
$allowedExts = array("mp4", "avi","mpeg","wmv","swf","3gp","AVI");
$extension = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
if (!in_array($extension, $allowedExts) || $_FILES['file']['error']>0 || file_exists(date("YmdHis").$_FILES["file"]["name"]))
{
echo "Error [code: ".$_FILES['file']['error']."]";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"],
date("YmdHis").$_FILES["file"]["name"]);
echo 'file uploaded';
}
?>
应该怎么做
上传视频文件
什么不起作用
我尝试上传 .AVI 视频,大小约为 300kb:已上传,但显示错误消息“错误 [代码:]”
error_reporting(E_ALL);的结果
注意:未定义索引:upload.php 中第 5 行的文件
注意: 未定义索引:upload.php 文件第 8 行
var_dump($_POST,$_FILES); 的结果(“密码”字段为空)
array(0) { } array(0) { }
"<pre>"; print_r($_FILES);的结果
Array ( )
我在哪里尝试过代码
- 本地服务器运行easyPHP,php版本5.5.8
- 共享服务器,php 版本 5.3.10
我的问题
如何正确显示成功信息并解决问题?
【问题讨论】:
-
你要上传多个文件吗?
-
不,每次只有一个
-
是否显示错误并一起上传文件?
-
是的,它会上传文件但显示错误消息
-
这是一个猜测。将“或”测试更改为“||”。这将允许对测试进行“短路”评估。即第一个“真”结果将结束测试序列。目前将评估所有测试。
标签: php file file-upload multipartform-data multipart