【发布时间】:2016-09-02 20:00:42
【问题描述】:
我的目标是创建一个视频,然后将视频上传到文件服务器。我可以创建视频(以 BLOB 的形式),并且可以将 BLOB 转换为文件。接下来我想将该文件上传到服务器上。以下 html 和 php 代码将文件上传到服务器。我可以用从 BLOB 创建的文件名替换 $_FILES["fileToUpload"]["tmp_name"] 吗?有没有更简单的方法来实现我的目标?
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<form action="upload_.php" method="post" enctype="multipart/form-data">
Select image to upload:
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload Image" name="submit">
</form>
</body>
</html>
<?php
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
//$target_file = "myFile.jpg";
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["fileToUpload"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
?>
【问题讨论】:
-
您可以(并且可能必须)将文件名放入
move_uploaded_file的第二个参数中,所以我真的没有看到您的问题? -
使用上传的名称是个坏主意。如果两个不同的用户各自上传一个名为
MyVideo.jpg的文件怎么办?当第二个用户上传他们的文件时,它将替换第一个。 -
这不是问题,因为我将分配一个唯一的文件名。