【问题标题】:Read phar file from memory?从内存中读取phar文件?
【发布时间】:2015-03-02 15:49:56
【问题描述】:

有没有一种方法可以让我从 phar 访问文件而无需先将 phar 保存到磁盘?在以下代码中,$fileContentsString 是从网络加载的 phar 文件的内容。如何获取该字符串并从中读取文件,而不必先将字符串作为文件保存到磁盘?我尝试将字符串写入php://temp,然后使用Phar::loadPhar 读取它,但失败了。

$tmpFilePath = TMP_PATH . '/' . $filename;

// Save the file to TMP_PATH
$fp = fopen($tmpFilePath, 'w');
fwrite($fp, $fileContentsString);
fclose($fp);

$contents = file_get_contents('phar://' . $tmpFilePath . '/json.txt');

【问题讨论】:

    标签: php phar


    【解决方案1】:

    php://temp 是一个流,可用于在内存中存储数据 - 但它只能通过文件句柄使用,不能用作文件系统。 在php://temp 上打开另一个文件句柄将为您提供另一部分内存,从而获得一个新的“文件”。

    您需要像 PEAR 的 Stream_Var package 这样的纯内存文件系统,它可以让您以文件系统的形式访问变量。

    【讨论】:

      猜你喜欢
      • 2017-09-06
      • 2012-10-11
      • 2016-01-02
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      • 2020-09-13
      • 2012-11-19
      相关资源
      最近更新 更多