CURL PHP отправить изображение

Трудно получить изображение с сервера, но я думаю о чем-то другом. Это сумасшедший вопрос, но … Можно ли отправить файл (изображение) на сервер, но не использовать загрузку формы или ftp-соединение? Я хочу отправить запрос, например. http://www.example.com/file.php с двоичным содержимым. Я думаю, мне нужно установить Content-type header image / jpeg, но как добавить некоторый контент в мой запрос?

существует несколько способов использовать завиток для загрузки файлов изображений, например:

$ch = curl_init(); $data = array('name' => 'Foo', 'file' => '@/path/to/image.jpeg'); curl_setopt($ch, CURLOPT_URL, 'http://localhost/upload.php'); curl_setopt($ch, CURLOPT_POST, 1); //CURLOPT_SAFE_UPLOAD defaulted to true in 5.6.0 //So next line is required as of php >= 5.6.0 curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); curl_exec($ch); 

вы можете проверить примеры: http://au.php.net/manual/en/function.curl-setopt.php

см. http://docs.php.net/function.curl-setopt :

CURLOPT_POSTFIELDS Полные данные для публикации в HTTP-режиме «POST». Чтобы опубликовать файл , добавьте имя файла с помощью @ и используйте полный путь. Это может быть либо передано как строка с urlencoded, как «para1 = val1 & para2 = val2 & …», или как массив с именем поля в качестве ключа и данных поля как значение. Если значением является массив, заголовок Content-Type будет установлен в multipart / form-data.

VolkerK совершенно прав, но мой опыт подсказывает, что отправка файла «@» будет работать только с массивами.

 $post['file'] = "@FILE_Path" 

Теперь вы можете отправить файл с помощью CURLOPT_POSTFIELDS