Я знаю, что могу использовать этот syntaxt для отправки файла с использованием php, post и curl.
$post = array( "file_box"=>"@/path/to/myfile.jpg", ); curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
Как я могу взять строку, создать временный файл и отправить его с использованием того же синтаксиса?
Обновление: я бы предпочел использовать память tmpfile () или php: //, поэтому мне не нужно обрабатывать создание файла.
Вы можете создать файл, используя tempnam в каталоге temp:
$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);
Вы можете создать временный файл с помощью 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);