有一個函數,你可能知道gzfile「讀取整個gz文件到一個數組」,你怎麼能做到這一點與bz2?謝謝!如何讀取bz2文件作爲數組與PHP
1
A
回答
2
沒有內置功能。
你可以做這樣的事情(添加一些完整性檢查等):
function bzfile($filename){
$p = popen('bunzip2 -c ' . $filename, 'r');
$a = array();
while($a[] = fgets($p);
return $a;
}
這裏假設安裝有bunzip2命令二進制類Unix操作系統。它在你的文件上運行buznip2。 -c選項的意思是「發送未壓縮的數據到標準輸出而不是影響文件在磁盤上)。該輸出的行爲就像一個文件句柄,所以你可以在它上面讀取行。
編輯:有an extension提供一些內置BZ2的功能,不過遺憾的是,沒有bzfile()如果bzip2的擴展是在你的環境中使用,你可以把上面的一樣:
function bzfile($file){
$fp = bzopen('foo.bz2','r');
$a = array();
while ($a[] = fgets($fp));
return $a;
}
這不會需要UNIX環境中或安裝bunzip2命令二進制文件。
(注意:這一切都假定bzip文件是文本,並且不包含二進制數據,s因爲你想要替換文件())
+0
我確實包含二進制數據我得到警告:fgets()期望參數1是資源,布爾給予我gues我需要首先提取內容,然後運行你的功能 – Santiago
相關問題
- 1. 作爲字節數組讀取文件
- 2. 如何使PDF文件作爲字節數組讀取?
- 3. 從bz2文件讀取日誌文件在objective-c
- 4. PHP:與讀取文件
- 5. 從php文件讀取數組
- 6. 如何將CD作爲文件讀取?
- 7. 如何從XML文件讀取數組?
- 8. 如何從文件讀取數組
- 9. 如何從文件讀取數組
- 10. 如何讓Hive與bz2一起工作?
- 11. 如何讀取一個JPG文件作爲PHP htaccess的
- 12. Java:如何將文件作爲一組字節讀取?
- 13. 將bz2壓縮的二進制文件導入爲numpy數組
- 14. 使用np.loadtxt作爲numpy數組讀取文本文件
- 15. 如何按組讀取CSV文件組
- 16. PHP數組讀取
- 17. .bz2管道提取與Node.js?
- 18. 從文件讀取數組
- 19. 如何用PHP讀取文本文件?
- 20. 如何讀取文本文件PHP
- 21. Java - 讀取BZ2文件並實時解壓縮/解析
- 22. 如何保護讀取/寫入交易與PHP文件在PHP
- 23. 如何從php頁面讀取數組?
- 24. PHP,如何讀取多維數組?
- 25. php如何讀取對象數組?
- 26. 如何在PHP中讀取數組?
- 27. 作爲文本讀取PHP文件,提取變量值
- 28. Java Wget Bz2文件
- 29. 讀取字節數組與將字節數組寫入文件
- 30. 將大圖像文件作爲python中的數組讀取
你能澄清嗎?你是否想將解壓後的內容讀入數組?或者壓縮文件本身(在這種情況下你會使用標準I/O)?你需要在PHP中進行解壓縮,在這種情況下,你需要找到/寫入bz2算法,或者你可以使用庫或命令行工具? – Robert
是的,我想解壓縮內容到數組中,就像gzfile函數,但對於bz2文件,無所謂只需要一些想法,謝謝 – Santiago