Я пытаюсь загрузить довольно большие файлы (до, возможно, более 1 ГБ) с удаленного HTTP-сервера через скрипт PHP.Я использую fgets (), чтобы построчно читать удаленный файл и записывать содержимое файла в локальный файл, созданный с помощью tempnam ().Однако загрузка очень больших файлов (несколько сотен МБ) не удалась.Можно ли каким-либо образом переработать скрипт, чтобы отследить возникающие ошибки?
Поскольку загрузка является лишь частью более крупного общего процесса, я хотел бы иметь возможность обрабатывать загрузки и устранять ошибкисценарий PHP вместо того, чтобы переходить на wget или какой-либо другой процесс.
Это сценарий, который я использую сейчас:
$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.');
}