2017-07-27 9 views
0

Guzzを使用して、リモートWebDAVサーバー上のファイルを同じサーバー上の別の場所にコピーする方法を理解しようとしています。私は現在、WebDAVにGuzzleを使用してリモートファイルをコピーするにはどうすればよいですか?

$client->request('COPY', 'file1.txt', [ 
    'Destination' => 'file2.txt', 
    'Overwrite' => 'T', 
]); 

この方法は私に

Client error: 'COPY http://example.com/remote.php/dav/files/admin/file1.txt' resulted in a '400 Bad Request' response: 

FILE1.TXTが存在しない400応答を与えているし、それがアクセス許可の問題ではありません持っています。

私はいくつかのドキュメント*に従っており、オンラインでサンプルを見つけることができないため、自分のやり方を推測しようとしています。

誰でも私に何を変更する必要があるのか​​教えていただけますか?

*例えばhttps://docs.nextcloud.com/server/12/developer_manual/client_apis/WebDAV/index.html

答えて

0

は、私は答えを見つけました。 DestinationとOverwriteパラメータはヘッダーで送信する必要があります。

$headers = [ 
    'Destination' => 'file2.txt', 
    'Overwrite' => 'T', 
]); 
$client->request('COPY', 'file1.txt', [ 
    'headers' => $headers, 
]); 

のWebDAV上のドキュメントの本当の不足があるようです。

関連する問題