我有一个PHP视频上传脚本,它只接受.mp4文件。PHP版本是7,我的表单(简化版)如下:
<form method="post" action="something.php" enctype="multipart/form-data">
<input type="file" name="video">
<input type="submit" name="submit">
</form>
PHP (简化版)如下:
$video = $_FILES["video"];
var_dump($video);
假设选择上传的文件是一个视频,它是一个mp4,大约需要2到3分钟。还假设我们检查了submit按钮实际上是被点击的。
下面是PHP的输出:
array (size=5)
'name' => string 'Sample Video.mp4' (length=16)
'type' => string '' (length=0)
'tmp_name' => string '' (length=0)
'error' => int 1
'size' => int 0
我有多个样本视频文件,都以相同的错误结束。为什么PHP无法获取该文件?通常情况下,我希望tmp_name
中应该有一个我可以通过php读取的文件。
PHP7:我使用的是PHP7,这是在本地主机上运行的mac
。
发布于 2018-06-25 04:50:00
问题出在Web服务器设置上。我将我的代码从localhost
转移到一个实际的域中。这为我解决了问题。在那之后,我的php上传代码运行得很好。
发布于 2018-06-23 09:50:08
我认为你需要设置一个处理条件来检查文件是否上传
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
} ?>
这样你就能知道文件是否上传了
从W3Cschool获取代码
https://stackoverflow.com/questions/50997257
复制相似问题