На сервере есть 3 файла:
sender.php
должен отправить файл forSend/img.jpg
на reciever.php
, получить ответ от ресивера и показать его на экран.
sender.php
<?php
$server = 'http://192.168.56.101/reciever.php';
$curl = curl_init($server);
curl_setopt($curl, CURLOPT_POST, TRUE);
$fileLocation = realpath(getcwd().'/forSend/img.jpg');
echo 'is real file:';
var_dump(is_file($fileLocation));
$data = array(
'file' => "@{$fileLocation}",
);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$response = curl_exec($curl);
echo '<br><b>RESPONSE</b><br>';
if (curl_errno($curl)){
echo '<span style="color:red">';
echo curl_error($curl);
echo '</span>';
} else {
echo '<span style="color:green">';
echo $response;
echo '</span>';
}
curl_close($curl);
reciever.php
<?php
echo var_dump($_FILES);
Вывод после запроса:
is real file:bool(true)
RESPONSE
array(0) { }
Как же передать файл forSend/img.jpg через cURL?
UPD1:
var_dump($_POST)
array(1) { ["file"]=> string(38) "@/usr/share/nginx/html/forSend/img.jpg" }
var_dump($_FILES)
array(0) { }
На текущий момент отправка файлов через @
является deprecated
, и в новых версиях отключена по умолчанию. Следует использовать CURLFile
, попробуйте код представленный ниже, возможно это решит вашу проблему.
$data = array(
'file' => new CURLFile($fileLocation,'image/jpeg','img')
);
Попробуйте вот так:
$data = array(
'file' => "@${fileLocation}",
);
или
$data = array(
'file' => "@" . $fileLocation,
);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
К примеру добавить в head какой то скрипт или стиль, или изменить содержимое span в приведенном ниже коде?
Сам вопрос, в общем, зачем класс обзывать (_AAHDR) в самом конце? Перерыл много книг, но так и не понял, зачем так делать
Здравствуйте,программно создаю ссылку,следующим методом: В span (contenteditable="true") вводиться текст,затем при нажатии на кнопку появляется promt туда...
Прямые не проходят через узел(точку 0 0)На этой странице я ищу корни системы Д