如何防止从zip中提取php文件

时间:2016-05-12 11:32:15

标签: php unzip

我正在使用这段代码解压缩.zip文件

$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
   $zip->extractTo('/my/destination/dir/');
   $zip->close();
   echo 'ok';
} else {
   echo 'failed';
}

让我们说:.zip中有一个.php文件,我不希望提取.php文件。我该如何防止这种情况?

1 个答案:

答案 0 :(得分:1)

$zip= new ZipArchive;
if($zip->open('test.zip') === TRUE){
 for($i = 0; $i < $zip->numFiles; $i++) {
  $filename = pathinfo($zip->getNameIndex($i));
  $fileinfo = $filename['extension'];
  if($fileinfo!="php"){
    $zip->extractTo('extract/',$zip->getNameIndex($i));
  }
  $zip->close();
}
相关问题