Есть площадка с сайтом где находится скрипт, но для создания большого файлового хранилища не подходит, поэтому хочу использовать для храниния файлов вторую площадку, с большим пространством. Скрипт который выдает пользователю файл выглядит так: PHP: $file = 'http://br.tunes.ru/idm/02-alphatown_-_hot_stuff-zzzz.mp3'; @$fh = fopen( $file, 'r' ); if (!$fh) { header ("HTTP/1.0 404 Not Found"); echo 404; exit; } $filename = basename($file); // echo $filename; header('Content-disposition: attachment; filename='.$filename); header("Content-type: audio/mpeg"); fpassthru( $fh ); @fclose( $fh ); exit(); Имя файла и путь будут переменными, сейчас все на стадии тестирования. Этот скрипт дает сохранить файл на диск, только после скачки в кеш браузера. то есть пользователь жмет на ссылку, появляется пусте окно и минуты через три (как только файл загрузится) появляется окно с предложением сохранить файл, при сохранении файл записывается моментально, без всяких дополнительных закачек. Хотелось бы сделать так чтобы при нажатии на ссылку со скриптом предложение сохранить файл появлялось бы сразу..
energy2008 пробуй читать файл построчно, построчно выводить и озать функцию flush() через каждые n итераций
пробуй так Код (Text): <?php //имя файла который будешь отдавать $local_file = 'file.zip'; //имя файла которое увидит узер $download_file = 'name.zip'; // тут скорость ограничиваешь (=> 20,5 kb/s) $download_rate = 20.5; //тут проверяешь есть ли такой файл if(file_exists($local_file) && is_file($local_file)) { header('Cache-control: private'); header('Content-Type: application/octet-stream'); header('Content-Length: '.filesize($local_file)); header('Content-Disposition: filename='.$download_file); flush(); $file = fopen($local_file, "r"); //это тот цикл то что тебе надо //пока нет символа конца файла он будет выдавать файл порциями while(!feof($file)) { //выдает порцию файла print fread($file, round($download_rate * 1024)); //вытолкнуть порцию файла браузеру flush(); sleep(1); } fclose($file);} else { //если такого файла нет это увидишь die('Error: The file '.$local_file.' does not exist!'); } ?>