2014-03-19 87 views
1

有沒有一種方法可以從phar中訪問文件,而無需首先將phar保存到磁盤?在以下代碼中,$fileContentsString是從網絡加載的phar文件的內容。我如何獲取該字符串並從中讀取文件,而無需首先將字符串作爲文件保存到磁盤?我試過將字符串寫入php://temp,然後使用Phar::loadPhar來讀取它,但是失敗了。從內存中讀取phar文件?

$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'); 

回答

0

php://temp是可用於將數據存儲在存儲器中的流 - 但它可以通過一個文件句柄僅用於,而不是一個文件系統。 打開另一個文件句柄php://temp會給你另一部分的內存,從而一個新的「文件」。

您需要一個僅限內存的文件系統,如PEAR的Stream_Var package,它允許您以文件系統的形式訪問變量。