将上传文件脚本转换为上传网址

时间:2012-09-21 16:18:54

标签: php

我有上传脚本,以通常的方式上传工作,如从计算机浏览文件和上传,但我想将现有脚本转换为从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;}}
?>

2 个答案:

答案 0 :(得分:0)

如果您正在获取URL,则表示您没有获得文件上传,因此您不能仅使用文件上载脚本并希望它能够正常工作。只需使用copy()函数从URL获取文件并将其保存到服务器即可。

答案 1 :(得分:0)

您应该使用“http_get”从其他服务器下载文件。

$response = http_get($url);