Chcę pobrać plik pdf z this link. Na stronie wybierz cotygodniowe podsumowanie, chcę pobrać pierwszy plik pdf.Jak pobrać ten plik PDF za pomocą php
PDF Cotygodniowe podsumowanie - W ostatnim tygodniu: Sortowanie przez insider
używam kodu następujące spróbować pobrać pdf,
<?php
$file="https://www.sedi.ca/sedi/SVTWeeklySummaryACL?name=W1ALLPDFI&locale=en_CA";
if (file_exists($file))
{
if (FALSE!== ($handler = fopen($file, 'r')))
{
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename($file));
header('Content-Transfer-Encoding: chunked'); //changed to chunked
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
//header('Content-Length: ' . filesize($file)); //Remove
//Send the content in chunks
while(false !== ($chunk = fread($handler,4096)))
{
echo $chunk;
}
}
exit;
}
echo "<h1>Content error</h1><p>The file does not exist!</p>";
?>
Wydaje się, że nie można pobrać za pomocą PHP. Mogę pobrać samodzielnie potwierdzić okno wyskakujące. Jakieś sugestie?
Próbowałem również curl, nadal nie mogę pobrać. Rozmiar pliku wynosi zero.
<?php
$file="https://www.sedi.ca/sedi/SVTWeeklySummaryACL?name=W1ALLPDFI&locale=en_CA";
$path = 'c:\download\output.pdf';
$ch = curl_init($file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
curl_close($ch);
file_put_contents($path, $data);
?>
dlaczego nie wystarczy wskazać klientom na bezpośrednie adres URL? to nie tak, że faktycznie zmieniasz coś na temat pdf - po prostu proxy. –
curl byłby zwykły sposób tezy dni –
@MarcB, mógłbyś mi pokazać, jak to zrobić? –