PHP中如何用cURL将一个字符串变量使用上传文件的方式上传? 并且不用创建临时文件

将一个字符串当作TXT文件上传到远程服务器,不想在本地服务器中创建临时文件

阅读 4.6k
5 个回答

感觉思路是不是错了?不然就本地处理成文件再上传?

本地直接将字符串写入TXT,生成了文件之后,上传呗

可以看下curl命令行的官方文档:https://curl.haxx.se/docs/man...
大概思路是 -F 'name=your_text_content;filename=xxx.txt;type=text/plain',对应的PHP opt问主自己查下

字符串写入到临时文件,上传完了再删除

<?php
$uri = 'http://api.xxx.com/upload';
$str = 'asdsa';

$file = time().'.txt';
file_put_contents($file,$str); //把字符串存到临时文件中
$data = array('file'=>'@'.realpath($file).";type=text/plain;filename=".$file);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $uri);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_exec($ch);
unlink($file); //删除临时文件
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题