Отправить строку в виде файла, используя curl и php - PullRequest
2 голосов
/ 27 мая 2011

Я знаю, что могу использовать этот синтаксис для отправки файла с использованием php, post и curl.

$post = array(
    "file_box"=>"@/path/to/myfile.jpg",
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 

Как мне взять строку, создать временный файл и отправить его, используя тот же синтаксис?

Обновление: Я бы предпочел использовать tmpfile () или php: // memory, чтобы мне не нужно было создавать файлы.

Ответы [ 2 ]

8 голосов
/ 27 мая 2011

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

$string = 'random string';

//Save string into temp file
$file = tempnam(sys_get_temp_dir(), 'POST');
file_put_contents($file, $string);

//Post file
$post = array(
    "file_box"=>'@'.$file,
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

//do your cURL work here...

//Remove the file
unlink($file);
0 голосов
/ 27 мая 2011

Вы можете создать временный файл, используя file_put_contents, просто убедитесь, что целевой каталог доступен для записи.

$path = '/path/to/myfile.txt';    
file_put_contents($myData, $path);

$post = array(
    "file_box"=>"@".$path,
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);

# Delete the file if you don't need it anymore
unlink($path);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...