我有上传脚本,以通常的方式上传工作,如从计算机浏览文件和上传,但我想将现有脚本转换为从url上传。例如,如果我粘贴的网址是视频的直接链接文件应该上传到我的服务器。我可以使用php copy方法和feof来完成这项工作,但我想用我现有的脚本做,因为其他几个数据与我的上传脚本相关,我尝试过上述两种方法,但它不起作用。
将此代码转换为接受远程网址上传
<form enctype="multipart/form-data" id="form1" method="post" action="">
<p><label>Upload videos</label>
<input type="file" name="video">
<span>Only mp4 is accepted</span>
<input type="submit" value="Submit" class="button"></p>
if (!eregi(".mp4$",$_FILES['video']['name'])) {
die("Unavailable mp4 format");
}
$uri = save_file($_FILES['video'],array('mp4'));
function save_file($file) {
$allowed_ext = array('mp4');
$ext = $file['name'];
if (in_array($ext, $allowed_ext)) {
die('Sorry, the file type is incorrect:'.$file['name']);
}
$fname = date("H_i",time()).'_'.get_rand(3);
$dir = date("Ym",time());
$folder = 'uploads/userfiles/'.$dir;
$uri = $folder.'/'.$fname.'.'.$ext;
if (!is_dir($folder))
mkdir($folder, 0777);
if (copy($file['tmp_name'],$uri))
return $uri;
else {
return false;}}
?>
答案 0 :(得分:0)
如果您正在获取URL,则表示您没有获得文件上传,因此您不能仅使用文件上载脚本并希望它能够正常工作。只需使用copy()
函数从URL获取文件并将其保存到服务器即可。
答案 1 :(得分:0)
您应该使用“http_get”从其他服务器下载文件。
$response = http_get($url);