3
A
回答
3
您需要打开存档,然后可以通过索引遍历文件:
$zip = new ZipArchive();
if ($zip->open('archive.zip'))
{
for($i = 0; $i < $zip->numFiles; $i++)
{
echo 'Filename: ' . $zip->getNameIndex($i) . '<br />';
}
}
else
{
echo 'Error reading .zip!';
}
要读取,你可以使用ZipArchive::getStream($name)单个文件的内容。
$zip = new ZipArchive();
$zip->open("archive.zip");
$fstream = $zip->getStream("index.txt");
if(!$fp) exit("failed\n");
while (!feof($fp)) {
$contents .= fread($fp, 2);
}
另一种办法直接做到这一点是使用zip://流包装:
$file = fopen('zip://' . dirname(__FILE__) . '/test.zip#test', 'r');
...
相关问题
- 1. PHP $$操作
- 2. PHP“===”操作符
- 3. php zip存档
- 4. 作曲家不认可扩展PHP-ZIP
- 5. PHP zip文件上传不起作用
- 6. XMLHttpRequestProgressEvent从PHP操作
- 7. PHP文件操作
- 8. DOM操作在PHP
- 9. PHP数组操作
- 10. PHP表单操作
- 11. 操作XML与PHP
- 12. PHP数组操作
- 13. 日期操作PHP
- 14. PHP SQL JSON操作
- 15. PHP数组操作
- 16. php日期操作
- 17. PHP数组操作
- 18. PHP颜色操作
- 19. php数组操作
- 20. PHP ZipArchive - zip损坏
- 21. PHP中的Zip流
- 22. php数组操作帮助
- 23. PHP三元操作混乱
- 24. 在php或html上操作
- 25. PHP字符串操作
- 26. mysql BLOB在php中操作
- 27. PHP操作<<<
- 28. PHP大数组操作
- 29. 数组索引操作php
- 30. 基本PHP文件操作
以及如何读取文件之一的内容是什么? – danidacar 2010-09-16 08:59:00
对于只读访问,您需要http://www.php.net/manual/en/function.ziparchive-getstream.php,否则您必须先提取它 – Fanis 2010-09-16 09:13:19
对不起,以某种方式误解了您的问题 - 修复了回答。 – halfdan 2010-09-16 09:35:00