Php获取错误条件无法正常工作

时间:2018-06-04 10:57:08

标签: php zip

您好我正在尝试创建一个zip并添加一些pdf文件但是当我尝试检查文件夹是否存在时收到错误我不知道我在哪里做错了请告诉我,如果我的代码是对还是错。 这是我的代码。

public function createZips(){

    if (is_dir("/home/servername/public_html/wp-content/pdf_files/".$stdname)){

        if(!(file_exists("/home/servername/public_html/wp-content/pdf_files/".$stdname."/zip/".$ct[-1].".zip"))){
            $zip = new ZipArchive();
            $filename = "/home/servername/public_html/wp-content/pdf_files/".$stdname."/zip/".$ct[-1].".zip";

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

            $dir = "/home/servername/public_html/wp-content/pdf_files/".$stdname."/".$ct[-1];

            // Create zip
            $this->createZip($zip,$dir);

            $zip->close();
        }
        return ture;
    }
    return false;
}

// Create zip
public function createZip($zip,$dir){
    if (is_dir($dir)){

        if ($dh = opendir($dir)){
            while (($file = readdir($dh)) !== false){

                // If file
                if (is_file($dir.$file)) {
                    if($file != '' && $file != '.' && $file != '..'){

                        $zip->addFile($dir.$file);
                    }
                }else{
                    // If directory
                    if(is_dir($dir.$file) ){

                        if($file != '' && $file != '.' && $file != '..'){

                            // Add empty directory
                            $zip->addEmptyDir($dir.$file);

                            $folder = $dir.$file.'/';

                            // Read data of the folder
                            $this->createZip($zip,$folder);
                        }
                    }

                }

            }
            closedir($dh);
        }
    }
}

请看看这个我认为这是一个简单的条件检查,但我不知道我错在哪里 我的问题不是重复,因为我收到一条错误消息,说文件不在这里的文件夹是错误 警告:ZipArchive :: close():无法创建临时文件:/home/ameliadeol2015/public_html/wp-content/plugins/lifterlms/includes/admin/reporting/tables/llms.table.student中没有此类文件或目录。第137行的courses.php

1 个答案:

答案 0 :(得分:0)

您似乎没有定义$ ct,所以当您尝试访问$ ct [-1]时,它将无法获得值。