0

コンピューターからファイルを参照してアップロードするなど、通常の方法でアップロードするためのジョブを実行するアップロード スクリプトがありますが、既存のスクリプトを変換して URL からアップロードしたいと考えています。たとえば、ビデオ ファイルの直接リンクである URL を貼り付ける場合は、私のサーバーにアップロードされます。私はphpコピーメソッドとfeofを使用して仕事をすることができますが、他のいくつかのデータがアップロードスクリプトに関連しているため、既存のスクリプトでやりたいのですが、上記の両方の方法で試しましたが、機能しません。

このコードを変換してリモート URL アップロードを受け入れる

 <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;}}
?>
4

2 に答える 2

0

別のサーバーからファイルをダウンロードするには、「http_get」を使用する必要があります。

$response = http_get($url);
于 2012-09-21T16:23:35.423 に答える
0

URL を取得している場合、ファイルのアップロードを取得していないため、ファイル アップロード スクリプトを使用するだけでは機能しません。関数を使用しcopy()て URL からファイルを取得し、サーバーに保存するだけです。

于 2012-09-21T16:21:38.617 に答える