ZipArchive-> deleteName并不总是在Debian上工作

时间:2015-03-17 18:09:14

标签: php symfony ziparchive

我有一个带档案的zip档案" file.txt"和其他一些人。 我想提取此文件,然后将其从存档中删除。

所以我做到了:

chmod( $file_path, 0777); 
if ($zip->open( $file_path ) === TRUE) 
{
    if( $zip->extractTo( $dir, array('file.txt') ) )
    {
         $zip->deleteName('file.txt');
    }
}

它适用于我的计算机(Windows),但是当我在我的服务器(Debian)上运行它时,它不适用于某些存档(有时它可以工作,有时它不会)。你知道为什么吗 ?可以这样做吗?

$zip->deleteName('%file.txt%');

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

它可能与权限有关,chmod()可能无法按预期工作,并且当您通过再次提取和存档自己创建存档时,它可以工作,因为它已经获得了正确的权限。

  

当前用户是运行PHP的用户。可能不是   您用于普通shell或FTP访问的同一用户。模式可以是   只有在大多数系统上拥有该文件的用户才能更改。

因此,请检查运行PHP的用户是否是拥有该文件夹的用户。

相关问题