Добрый день!
Пытаюсь наладить передачу файла по средствам PHP (cURL) с одного сервера на другой. На передающем сервере скрипт выглядит так:
<?php
$cho = curl_init();
$postdata['file'] = '@/var/www/html/file.jpg';
curl_setopt($cho, CURLOPT_URL, 'https://site.ru/upload.php');
curl_setopt($cho, CURLOPT_POST, true);
curl_setopt($cho, CURLOPT_POSTFIELDS, $postdata);
curl_exec($cho);
curl_close($cho);
?>
На принимающем сервере при этом следующий код:
<?php
print_r($_POST);
echo '<br>';
print_r($_FILES);
?>
Принимающий скрипт при этом выводит:
Array ( [file] => @/var/www/html/file.jpg )
Array ( )
Другими словами, cURL файл почему-то не передает, а оставляет его в виде пути (т.е. не распознает, что от него требуется). Ошибок при этом нигде и никаких не выводится.
Если попробовать отправить на upload.php файл с помощью html формы, файл нормально обрабатывается и пишется в массив $_FILES.
100 раз уже такое делал, а тут почему-то не работает - с самого утра пытаюсь заставить работать :)