【问题标题】:Curl upload multiple php://memory files?curl 上传多个 php://memory 文件?
【发布时间】:2013-12-06 10:02:41
【问题描述】:

我创建了多个这样的基于内存的文件:

$fp1 = fopen("php://memory", 'rw+');
fputs($fp1, "hello1");
rewind($fp1);

$fp2 = fopen("php://memory", 'rw+');
fputs($fp2, "hello2");
rewind($fp2);

echo stream_get_contents($fp1);
echo stream_get_contents($fp2);

现在我希望这些文件可以通过 CURL 上传。我知道如何使用$post['file'] = "@large.jpg"; POST 磁盘上存在的多个文件,但现在我的文件在内存中。

如何进行?

【问题讨论】:

    标签: php http memory curl upload


    【解决方案1】:

    Afaik 没有办法让 cURL 访问 php:// 文件。我遇到了类似的问题,我在操作系统级别创建了一个内存磁盘

    Unix:

    mkfs -q /dev/ram1 8192
    mkdir -p /ramcache
    mount /dev/ram1 /ramcache
    

    这样你仍然可以很容易地为 php://memory 使用类似的结构

    $fp1 = fopen('/ramcache/somefile1', 'rw+');
    $fp2 = fopen('/ramcache/somefile2', 'rw+');
    

    但也将其作为真实文件传递给 cURL,而无需在传递给 cURL 之前将其从 php://memory 转换为真实文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-24
      • 1970-01-01
      • 1970-01-01
      • 2017-11-12
      • 2011-10-23
      • 1970-01-01
      • 2017-12-04
      • 2016-04-08
      相关资源
      最近更新 更多