我搜索了将文件上传到新安装的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);
编辑: 使用Saber 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响应
答案 0 :(得分:0)
已经找到解决方案。 plai php-curl有效,但是我不得不将URL更改为:
const func = String;