0

オフサイト サーバーからファイルをダウンロードしたい。それが出てきたらそうすることに同意します:)私が持っているのは、タイトルとファイル名を取得するcURLスクリプトですが、何らかの理由でファイルをサーバーにDLすることができません。

$downloadvUrl="$videos";
$file = "downloads";
$fileName=$downloadvUrl;
$header = array(
"Accept-Encoding: gzip,deflate",
"Accept-Charset: utf-8;q=0.7,*;q=0.7",
"Connection: close"
);
$file2 = dirname(__file__).'/'.videos.'.m4v';
$curlObj=curl_init();
curl_setopt($curlObj, CURLOPT_HTTPHEADER, $header);
curl_setopt($curlObj, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlObj, CURLOPT_HEADER, false);
curl_setopt($curlObj, CURLOPT_USERAGENT, $useragent);
curl_setopt($curlObj, CURLOPT_CONNECTTIMEOUT, 999);
curl_setopt($curlObj, CURLOPT_TIMEOUT, 9999);
curl_setopt($curlObj, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($curlObj, CURLOPT_URL, $downloadvUrl);
$response = curl_exec($curlObj);
$return = false;
if(!curl_errno($curlObj)) {
file_put_contents($file2, $response);
}
4

2 に答える 2

0

もう少しシンプルにすることで、実際に機能するようになりました。

<?php
$i = 0;
while(file_exists($target_path).$i) {
$i++;
}
$ch = curl_init("$matches[1]");
$fp = fopen("1.m4v", "w");
if (file_exists($fp)) {
    echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}

curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);

curl_exec($ch);
curl_close($ch);
fclose($fp);
?> 

ファイルが別の名前でアップロードされるようにするにはどうすればよいですか?

于 2012-06-03T23:23:42.333 に答える
0

あなたは付け加えられます:

$fh = fopen('/tmp/foo', 'w'); 
curl_setopt($ch, CURLOPT_FILE, $fh);

/tmp/foo を保存先のファイルに変更します。

于 2012-06-04T01:21:07.487 に答える