скачать почтовый файл с URL - PullRequest
0 голосов
/ 31 января 2012

Я хочу использовать php для загрузки некоторых zip-файлов с URL.IE sitename.com/path/to/file/id/123 при переходе по этому URL-адресу напрямую вы получаете приглашение на загрузку файла.Я пытался использовать fopen() и file_get_contents(), но они терпят неудачу.Поиски, которые я сделал, возвращаются с тем, как сделать файл zip загружаемым или как получить файл с сайта sitename.com/path/to/file.zip, но мой URL не имеет расширения .zip.

fopen ('url.com') or die('can not open');

Браузер не может открыть

Ответы [ 2 ]

5 голосов
/ 31 января 2012

URL - это, вероятно, скрипт, который может перенаправить вас.Используйте CURL вместо

$fh = fopen('file.zip', 'w');
$ch = curl_init()
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_FILE, $fh); 
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // this will follow redirects
curl_exec($ch);
curl_close($ch);
fclose($fh);
1 голос
/ 31 января 2012

Возможно, для такого рода вещей проще использовать более простые функции, такие как readfile () .

Адаптировано из , например, на php.нетто :

<?php
// We'll be outputting a ZIP
header('Content-type: application/zip');

// Use Content-Disposition to force a save dialog.
// The file will be called "downloaded.zip"
header('Content-Disposition: attachment; filename="downloaded.zip"');

// The ZIP source is in original.zip
readfile('original.zip');
?>
...