
26.11.2008, 20:03
|
|
Постоянный
Регистрация: 29.05.2007
Сообщений: 852
Провел на форуме: 4832771
Репутация:
1916
|
|
Писал когда-то
Простой скрипт для скачки удалённых файлов
PHP код:
<?php
function download($url, $new_name=''){
$openfile = @fopen($url, 'r');
if (!$openfile){
die('Файл не найден');
}else{
$fileinfo = stream_get_meta_data($openfile);
preg_match('#Content-Length:[\s\S](\d+)#is', join('', $fileinfo['wrapper_data']), $outsize);
$filesize = !empty($outsize[1]) ? $outsize[1] : '';
preg_match('#Last-Modified:[\s\S](.+GMT)#Uis', join('', $fileinfo['wrapper_data']), $outmod);
$last_modifed = !empty($outmod[1]) ? $outmod[1] : '';
preg_match('#Content-Type:[\s\S](.*)\s#U', join(' ', $fileinfo['wrapper_data']), $outmime);
$mime_type = !empty($outmime[1]) ? $outmime[1] : '';
fclose($openfile);
$etag = md5($filename);
$etag = substr($etag, 0, 8).'-'.substr($etag, 8, 7).'-'.substr($etag, 15, 8);
header('HTTP/1.1 200 Ok');
header('Content-Length: '.$filesize);
header('ETag: "'.$etag .'"');
header('Accept-Ranges: bytes');
header('Connection: close');
header('Content-Type: '.$mime_type);
header('Last-Modified: '.$last_modifed);
header('Content-Disposition: attachment; filename="'.$new_name.'";');
echo readfile($filename);
}
}
?>
|
|
|