Example for file upload to nextcloud in PHP
$file = '1.txt';
$fp = fopen($file, 'r');
$c = curl_init();
curl_setopt($c, CURLOPT_URL, 'https:/XXXXXXXXXXX'.$file);//
curl_setopt($c, CURLOPT_USERPWD, 'XXXX:XXXX');
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_PUT, true);
curl_setopt($c, CURLOPT_INFILESIZE, filesize($file));
curl_setopt($c, CURLOPT_INFILE, $fp);
$ret = curl_exec($c);