Php: Tek bir komut dosyası işleme ve indirme işlemleri işlemek nasıl?

1 Cevap php

Tek bir komut dosyası, ben aşağıdakileri yapmanız gerekir:

  1. Bir dizindeki dosyaların dışında bir zip oluşturmak
  2. yeni oluşturmak zip indir zorlamak

My problem is that whenever I try to do this in a single script, the downloaded zip is corrupted (filesize is ok though). If I trig the processes in two separate script calls, the downloaded zip is ok.

I guess that the problem is that the zip saving to file process isn't completely finished before the download starts. Strangely, it doesn't solve the problem to insert a sleep(3) between the processes... Code outline below.

Nasıl kuvvet indirme başlamadan önce zip dosya tamamen bitmiş olduğunu sağlamak için?

Saygılar / Jonas

// 1. create a zip
$createZipFile = new CreateZipFile('temp.zip');
$createZipFile->zipDirectory('temp/', '.');
$createZipFile->saveZipFile();

sleep(3); // <-- Doesn't matter!

// 2. force zip download
$fileServer = new FileServer();
// Line below gives a corrupted zip when run in same script as 1.	    
$fileServer->forzeDownload('temp.zip');

1 Cevap

Zip oluşturun ve sonra bu dosyaya yönlendirir.

http://php.net/manual/en/function.header.php