Intereting Posts
Codeigniter на Ubuntu нет приветственного сообщения Хранить данные сенсибилизации в Silverstripe 3.1 fopen (файл, w +) обрезает файл, прежде чем я могу проверить, заблокирован ли он с помощью flock () Тестирование уязвимостей безопасности в веб-приложениях: лучшие практики? Настройка DomainKeys / DKIM в PHP-SMTP-клиенте Как добавить запятые к номерам в PHP WordPress WP_Query где предложение с OR? dompdf – текст на одной странице / page_script не работает Рекурсивная функция внутри класса с foreach изменяет общедоступную ценность, где она не должна Как перебрать объект Yii CActiveDataProvider? Запуск и остановка рабочих в gearman php Как извлечь ZIP-файл с паролем, используя только PHP? Вставка большого количества переменных в таблицу с использованием PDO Удалить index.php из codeigniter в xamp Регулярное выражение соответствует словам или фразам в строке, но НЕ совпадает с частью URL или внутри тегов <a> </a>. (РНР)

Отправить строку как файл с помощью curl и php

Я знаю, что могу использовать этот 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);