Обновлено до php7.2 zip неограниченное создание файлов - PullRequest
0 голосов
/ 21 июня 2019

Так что у меня есть следующий код и перенесен из Centos в Ubuntu. PHP 7.0 до PH 7.2. Следующий код автоматически продолжает генерировать файлы .dat и .psw. без остановки. (Сгенерировано 200 ГБ файлов за 2 часа). Я не вижу никакой ошибки в следующем коде, и он просто таинственным образом не работает

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));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...