【发布时间】:2019-07-14 09:44:07
【问题描述】:
我搜索了将文件上传到新安装的 nextcloud 的工作示例。
谁能提供一些示例代码?
我找到了一个使用 sabre dav 的脚本,但这只会导致 App not installed 错误。
另一个使用 curl_exec 的脚本从 nextcloud 获取 file not found:
$fp = fopen("test.jpg", "r");
$c = curl_init();
curl_setopt($c, CURLOPT_URL, "https://mcloud.XXXX.at/index.php/s/fo7W3MMRnas9B3G");
curl_setopt($c, CURLOPT_USERPWD, "xxx:yyyy");
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_PUT, true);
curl_setopt($c, CURLOPT_INFILESIZE, filesize("test.jpg"));
curl_setopt($c, CURLOPT_INFILE, $fp);
$ret = curl_exec($c);
编辑: 使用 sabre DAV 我还测试了以下代码,但没有成功:
include 'vendor/autoload.php';
$settings = array(
'baseUri' => 'https://XXXXXXXXXXXXXXX.at/remote.php/dav',
'userName' => 'test1',
'password' => 's8R87-JCZN6-tf3Eb-aHLyj-zPzKW'
);
$client = new Sabre\DAV\Client($settings);
// Upload a file
$upload_result = $client->request('PUT', 'test-upload.txt', 'This will be written to the txt file');
saber dav 的结果始终是带有“未安装应用程序”消息的 html 响应
【问题讨论】:
-
看看这个:sabre.io/dav/davclient 从未使用过,但看起来它似乎是适合这项工作的工具。
-
@Klamberext:我已经尝试过了,但没有成功(刚刚编辑了我的帖子)