我有一个带档案的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%');
感谢您的帮助
答案 0 :(得分:0)
它可能与权限有关,chmod()可能无法按预期工作,并且当您通过再次提取和存档自己创建存档时,它可以工作,因为它已经获得了正确的权限。
当前用户是运行PHP的用户。可能不是 您用于普通shell或FTP访问的同一用户。模式可以是 只有在大多数系统上拥有该文件的用户才能更改。
因此,请检查运行PHP的用户是否是拥有该文件夹的用户。