Как загрузить файл с локального на сервер, используя curl в php? - PullRequest
0 голосов
/ 11 февраля 2019

Я хочу загрузить файл с локального сервера, используя curl в php и не используя форму (html).

Моя версия php 5.2.6.

У меня естьперепробовал много разных способов и провел много исследований (загрузите файл на сервер, используя curl в php), но решение в Google не может решить мою проблему.

Ниже мой код:

// open file descriptor
$fp = fopen ("user.com/user/fromLocal.txt", 'w+') or die('Unable to write a file'); 

// file to download
$ch = curl_init('C:/wamp/www/user/fromLocal.txt');
// enable SSL if needed
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 

// output to file descriptor
curl_setopt($ch, CURLOPT_FILE, $fp);          
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
// set large timeout to allow curl to run for a longer time
curl_setopt($ch, CURLOPT_TIMEOUT, 1000);     
curl_setopt($ch, CURLOPT_USERAGENT, 'any');
// Enable debug output
curl_setopt($ch, CURLOPT_VERBOSE, true);

echo $ch;
echo $fp;
curl_exec($ch);
curl_close($ch);                               
fclose($fp);

Ожидаемый вывод:

Файл можно загрузить на сервер и просмотреть.

Фактический вывод:

Невозможно записать файл

1 Ответ

0 голосов
/ 11 февраля 2019

Я думаю, вы упускаете важную информацию.

fopen ("user.com/user/fromLocal.txt", 'w+')

это ничего не значит.Чтобы отправить файл на сервер, сервер должен быть настроен на прием запроса POST, и вы должны отправить файл через эту конечную точку.

Если у вас есть форма, отправьте ее пользователю: «.com / user / fromLocal.txt "??Вы должны создать данные формы с помощью curl и отправить их на сервер, готовый принять ваш запрос.Есть разные способы сделать это.И самое простое - это точно отправить форму, используя curl, а не HTML.Но вы абсолютно не можете написать такой файл на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...