Я пытаюсь загрузить файл на удаленный сервер, но выглядит как исходный файл ничего не делает. Все, что я получаю, это пустой файл на сервере. Мой код:
<?php $c = curl_init(); $file = "\PATHTOFILE\file.txt"; $fp = fopen($file, "r"); curl_setopt($c, CURLOPT_URL, "SERVERPATH/file.txt"); curl_setopt($c, CURLOPT_USERPWD, "USER:PASSWORD"); curl_setopt($c, CURLOPT_UPLOAD, 1); curl_setopt($c, CURLOPT_INFILE, $fp); curl_setopt($c, CURLOPT_INFILESIZE, filesize($file)); curl_exec($c); echo "Success"; curl_close($c); fclose($fp); ?>
Через 2 дня ударился головой о клавиатуру. Наконец, я сделал это. Вот как:
<?php if (isset($_POST['Submit'])) { if (!empty($_FILES['upload']['name'])) { $ch = curl_init(); $localfile = $_FILES['upload']['tmp_name']; $fp = fopen($localfile, 'r'); curl_setopt($ch, CURLOPT_URL, 'ftp://domain.com/'.$_FILES['upload']['name']); curl_setopt($ch, CURLOPT_USERPWD, "user:pass"); curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $fp); curl_setopt($ch, CURLOPT_INFILESIZE, filesize($localfile)); curl_exec ($ch); $error_no = curl_errno($ch); curl_close ($ch); if ($error_no == 0) { $error = 'File uploaded succesfully.'; } else { $error = 'File upload error.'; } } else { $error = 'Please select a file.'; } } echo $error; ?>
Вот источник , откуда я нашел решение