解压缩php文件


Unzip php files

我正在尝试提取一个包含php文件的zip文件。

举个例子,一个zip名称"test.zip",里面是一个zip.php文件,代码是:

<?php 
class php{
}  
?>

我尝试了两个不同的片段来提取zipe文件:

$zip = zip_open ( 'test.zip' );
while($file = zip_read($zip)){
 $archivo = (zip_entry_name($file));    
 zip_entry_open($zip, $file);
 $contenido =  zip_entry_read($file);
 $fopen = fopen($archivo,'w+');
 fwrite($fopen, $contenido);    
}

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
  $zip->extractTo('./');
  $zip->close();
  echo 'ok!';
} else {
  echo 'ko!';
}
?>

但在这两种情况下,结果总是一样的:

<?php
class phpclass{
    function clase(){   
    }   
}
?>

提取的文件比原始文件长两倍,并且具有两倍的空特征线。

是否可以提取zip文件中包含的文件的相同副本?

请替换此:

$fopen = fopen($archivo,'w+');

这个:

$fopen = fopen($archivo,'w+b');

b标志代表"二进制"并禁用换行转换。标志在fopen()手册页面中进行了说明。