url에서 내 서버로 zip 파일을 다운로드해야하는데 이는 동적으로 생성되므로 URL에 확장자가 없음을 의미합니다. zip 파일은 URL에 의해 생성됩니다. 우리는 그 zip 파일을 서버에 저장해야합니다.동적으로 생성 된 url에서 서버로 파일을 다운로드하십시오.
나는 이것을 시도했다.
function DownloadFile($reportDownloadUrl, $downloadPath) {
$reader = fopen(urldecode($reportDownloadUrl), 'rb') or die("url cannot open");
if (!file_exists($downloadPath)) {
die('File does not exist');
}
$writer = fopen($downloadPath, 'wb') or die("cannot open file");
if (!$reader) {
throw new Exception("Failed to open URL " . $reportDownloadUrl . ".");
}
if (!$writer) {
fclose($reader);
throw new Exception("Failed to create ZIP file " . $downloadPath . ".");
}
$bufferSize = 10 * 1024;
while (!feof($reader)) {
if (false === ($buffer = fread($reader, $bufferSize))) {
fclose($reader);
fclose($writer);
throw new Exception("Read operation from URL failed.");
}
if (fwrite($writer, $buffer) === false) {
fclose($reader);
fclose($writer);
$exception = new Exception("Write operation to ZIP file failed.");
}
}
fclose($reader);
fflush($writer);
fclose($writer);
}
이것을 사용하면 확장자가 .zip 인 파일을 다운로드 할 수 있지만 확장자가없는 파일은 다운로드 할 수 없습니다. 나는 이것을 알아 내기 위해 나이를 먹으려 고 노력 해왔다. 방법이 있어야한다. 어떤 제안이라도 대단히 감사한다.
미리 감사드립니다.