登录

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

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

# PHP
伊谢尔伦伊谢尔伦2184 天前405 次浏览

全部回复(5) 我要回复

  • 黄舟

    黄舟2017-04-10 18:05:47

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

    回复
    0
  • 怪我咯

    怪我咯2017-04-10 18:05:47

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

    回复
    0
  • 巴扎黑

    巴扎黑2017-04-10 18:05:47

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

    回复
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-10 18:05:47

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

    <?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); //删除临时文件

    回复
    0
  • 迷茫

    迷茫2017-04-10 18:05:47

    http://stackoverflow.com/ques...

    http://blog.csdn.net/clh604/a...

    回复
    0
  • 取消回复发送