PHP解压缩功能创建隐藏的系统文件

时间:2013-04-08 19:19:44

标签: php wordpress zip unzip

我在wordpress网站上运行以下代码(函数的一部分)。 它工作正常,但它也为每个文件创建一个系统文件(以'。'开头)。 这通常不会成为问题,但我的HTML5音频播放器会选择这些文件,显然无法播放它们,因此看起来播放器已损坏。

有没有办法停止从Zip端创建这些文件?或者我将不得不从玩家那里阻止它?

我宁愿阻止他们被创造,因为他们占用了空间。

代码是:

   // Unzip files to temp unzip folder, ignoring anything that is not a .mp3 extension
   $zip = new ZipArchive();
   $filename = $zip_file_path;

   if ($zip->open($filename)!==TRUE) {
      exit("cannot open <$filename>\n");
   }

   for ($i=0; $i<$zip->numFiles;$i++) {
      $info = $zip->statIndex($i);
      $file = pathinfo($info['name']);
      if(strtolower($file['extension']) == "mp3") {
           file_put_contents($temp_unzip_path.'/'.basename($info['name']), $zip->getFromIndex($i));
      } else {
      $zip->deleteIndex($i);
      }
   }
   $zip->close();

1 个答案:

答案 0 :(得分:1)

为什么不通过检查文件名的第一个字符不是句点来添加到你的mp3条件?

      if(strtolower($file['extension']) == "mp3" && $info['name'][0] != '.') {