压缩上传文件的代码无法删除临时文件

| 伙计们,我正在编写代码以上传文件,将其压缩并删除tmp文件。 但是当我使用取消链接功能时,它不会删除所有文件,有人可以向我解释原因吗? 有关PHP代码:
$zip = new ZipArchive();
$target_path = \'img/products/\';
$zip->open($target_path.$id_insert.\'.zip\', ZIPARCHIVE::CREATE);
$img_count = $_POST[\'count_file\'];
for ($i = 1; $i <= $img_count; $i++){
    $temp = \'img\'.$i;
    $file = $i.\'-\'.$id_insert.\'-\'.$_FILES[$temp][\'name\'];
    $path = $target_path.basename($file); 
    if(move_uploaded_file($_FILES[$temp][\'tmp_name\'], $path)) {
        $zip->addFile($path, basename($file));
        $files_to_delete[] = $path;
    }
} 
$zip->close();
foreach($files_to_delete AS $file){
    //unlink(dirname(__FILE__).\'/\'.$path);
}
    
已邀请:
        
foreach($files_to_delete AS $file){
    //unlink(dirname(__FILE__).\'/\'.$path);
}
在此块中,应将$ path替换为$ file,因为这就是将它们作为目标。之所以会出现错误,是因为第一次取消链接$ path之后,$ path的文件将被取消链接,但是它的所有其他迭代都试图删除同一文件(这是分配给$ path变量的最后一个文件)。     

要回复问题请先登录注册