PHP ile büyük dosyaları indirirken hataları yakalamak

0 Cevap php

Ben bir PHP komut dosyası aracılığıyla uzak HTTP sunucusu (muhtemelen üzerinde 1GB kadar) oldukça büyük dosyaları indirmek için çalışıyorum. Ben hattı ile uzaktan dosya satır satır okuyacak ve tempnam () ile oluşturulan bir yerel dosya içine dosya içeriğini yazmak için) (fgets kullanıyorum. Ancak, çok büyük dosyaları (birkaç yüz MB), indirme başarısız oluyor. Ben meydana gelen hataları yakalamak için komut rework herhangi bir yolu var mı?

Indirme daha büyük bir toplam sürecin sadece bir parçası olduğu için, ben indirme işlemek ve oldukça wget ya da başka bir işlem için gitmek zorunda PHP komut dosyası hataları ile baş edebilmek istiyorum.

Bu şimdi kullanıyorum betik:

$tempfile = fopen($inFilename, 'w');
$handle = @fopen("https://" . $server . ".domain.com/file/path.pl?keyID=" . $keyID . "&format=" . $format . "&zipped=true", "r");
$firstline = '';
if ($handle) {
 while (!feof($handle)) {
  $buffer = fgets($handle, 4096);
  if ($firstline == '') $firstline = $buffer;
  fwrite($tempfile, $buffer);
 }
 fclose($handle);
 fclose($tempfile);
 return $firstline;
} else {
 throw new Exception ('Unable to open remote file.');
}

0 Cevap