首页 > 解决方案 > 更新到 php7.2 zip 无限创建文件

问题描述

所以我有以下代码并从centos迁移到ubuntu。PHP 7.0 至 PH 7.2。以下代码自动不断生成 .dat 和 .psw 文件。不停。(在 2 小时内生成了 200GB 的文件)。我在下面的代码中没有看到任何错误,它只是神秘地无法正常工作

public function syncPosData() {
    $req = new SyncPosDataRequest($this->request->all());
    $validator = $req->validator($this->request->all());

    $data = $req->mapInsertData();
    $service = new LicenseService([
        LicensingConstant::LICENSE_KEY => $data[LicensingConstant::LICENSE_KEY],
        LicensingConstant::LICENSE_PASSWORD => $data[LicensingConstant::LICENSE_PASSWORD],
    ]);
    $license = $service->query();
    if ($license->isEmpty()) {
        return $this->invalidLoginException();
    }
    $companyService = new CompanyService();
    $company = $companyService->findByPk($license->first()->company_id);
    self::$json["data"] = $this->getPosData($company->first()->hash_id);

    return $this->render(true);
}

public function getPosData($id) {
    $directoryName = storage_path() . "/exports/";
    if (!is_dir($directoryName)) {
        mkdir($directoryName, 0755);
    }
    $directoryName = storage_path() . "/exports/" . $this->request['company_id'];
    if (!is_dir($directoryName)) {
        mkdir($directoryName, 0755);
    }
    $directoryName = $directoryName . "/psw/";
    if (!is_dir($directoryName)) {
        mkdir($directoryName, 0755);
    }
    $service = new CompanyService();
    $record = $service->findByHash($id);
    if ($record->isEmpty()) {
        return $this->invalidInputException();
    }
    $company_id = $record->first()->parentId;
    $psw_file_name = $record->first()->id ."_RVC_DATA_EXPORT_" . $this->clean($company_name) . "_" . date('Ymd_His') . ".psw";


    $fileImportExportService = new FileImportExportService([
        "file_name" => $psw_file_name,
        "file_path" => $directoryName . $psw_file_name,
        "company_id" => $company_id,
        "dealer" => $record->first()->id,
        "action" => "EXPORT",
        "created_by" => (empty($this->request->user_id)) ? "0" : $this->request->user_id,
    ]);
    $fileImportExportService->createWithHash();

    $this->zipFile = Zip::create($psw_file_name);
    $file_name = $directoryName . "RVC_DATA_EXPORT_" . date('Ymd_His') . ".dat";
    File::put($file_name, base64_encode(json_encode($excel)));
    $this->zipFile->add($file_name);
    $this->zipFile->close();
    return $psw_file_name; //base64_encode(json_encode($excel));
}

标签: phplaravelzip

解决方案


推荐阅读