我正在尝试创建一个接收并提取压缩文件的PHP脚本。当我得到这个文件时,我做的第一件事就是尝试提取里面的文件,看看是否一切正常,并且zip的文件夹结构是应该的。如果一切顺利,脚本继续并提取文件。问题在这里。看起来,如果我在zip条目中调用zip_entry_read()一次,就会得到内容,但如果我在同一个zip条目引用中再次调用它,它将不会返回任何内容。元数据仍然存在。 zip_entry_name(),大小和所有返回正确的数据,但不是内容。为什么哦为什么?
这里是例子。
$target = zip_open("file.zip");
while (false !== ($entry = zip_read($target)) {
// ... some code here
$name = zip_entry_name($entry); // returns filename.txt
$filesize = intval(zip_entry_filesize($entry)); // returns the filesize
$data = zip_entry_read($entry, $filesize); // returns the content of the file
$name = zip_entry_name($entry); // returns the same filename.txt
$filesize = intval(zip_entry_filesize($entry)); // returns the same filesize
$data = zip_entry_read($entry, $filesize); // ---> returns NOTHING
// .. some more code here
}谢谢。