0

SabreDAV PHP ライブラリを使用して WebDAV サーバーに接続し、いくつかのファイルをダウンロードしていますが、1 MB のファイルをダウンロードするのに非常に時間がかかり、そのサーバーから最大 1 GB のファイルをダウンロードする必要があります。私はこのリンクhttp://code.google.com/p/sabredav/wiki/WorkingWithLargeFilesを見ましたが、GET を実行するとストリームを取得すると言っているので役に立ちませんが、そうではありません。

これが私のコードです:

$settings = array(
    'baseUri' => 'file url',
    'userName' => 'user',
    'password' => 'pwd'
);

$client = new \Sabre\DAV\Client($settings);
$response = $client->request('GET'); 

response は、ファイルのコンテンツを含む「body」キーを持つ配列です。私は何を間違っていますか?読み取り専用のファイルのみが必要です。ファイルを 1 行ずつできるだけ早く読み取るにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

0

1MB のファイルをダウンロードするのに時間がかかりすぎる場合は、SabreDAV の問題ではなく、サーバーまたはネットワーク、あるいはリモート サーバーに問題があると思います。

あなたが言及したGoogleコードリンクは、非常に大きなファイルを転送したい場合の方法をリストしているだけです。通常、OwnCloudで最後に使用したとき。

VPS/Dedi サーバーを使用している場合は、ssh を開き、wget コマンドを使用して、WebDAV からリモート ファイルをダウンロードするのにかかる速度と時間をテストします。SabreDAV でのダウンロードと同じ場合は、サーバー/ネットワークの問題であり、問​​題ではありません。それ以外の場合は、セイバーまたはコードに問題があります。

申し訳ありませんが、問題自体が明確ではなく、10 以上の原因が考えられるため、投稿するコードはありません。

PS:実行時間、最大ファイルアップロード、最大投稿サイズのphp制限を相対的に増やす必要があります

于 2014-01-07T17:27:46.150 に答える