PHP存档和重命名不能一起工作


PHP Archive and rename not working together

下面的函数做了,要将一个zip文件夹提取到一个目录后,该zip文件夹需要移动到另一个文件夹。

它有时工作,有时不工作,工作函数的概率很低。因此,我想寻求您的帮助来优化和建议这个功能应该在任何类型的环境中,它应该独立于操作系统。

    function extractTo(){
    //This will extract project directory to fetch installable version of TV APP.
    $path='../';
    $filename = 'xyz-v1.22.zip';
    $zipname = $path.$filename;
    $zip = new ZipArchive;
    if($zip->open($zipname))
    {
        for($i=0; $i<$zip->numFiles; $i++)
        {               //echo 'Filename: '.$zip->getNameIndex($i).'<br />'; 
        }
        if($zip->extractTo('../StadVis/')){ 
            sleep(1); 
            unlink($zipname);
        }else{ 
            return "not success"; 
        }
        $zip->close();
        //chmod('../StadVis/'.$filename1, 0777); 
        if (rename('../'.$filename,'../versions/'.$filename))
        {
        return "success"; 
        //echo "File  Copy";
        }
        else {
        return "not success"; 
        //echo "File Not Copy";
        }
    } 
    else 
    {
        return 'Error reading zip-archive!';
    }
}

1/在脚本中使用绝对路径:

$path=getcwd()."/..";

2/你在../工作目录,因此更改目录:

chdir('../');

3/合并解决方案1+2