2014-02-17 2 views
0

Как заставить php force загрузить файл. У меня есть файл с именем song1, который является песней, в файлах песен. поэтому со страницы, на которой я нахожусь, это песня/song1. Как заставить php загружать файл сразу после запуска php?PHP force download

ответ

1

Вы должны отправить некоторые заголовки HTTP:

header('Content-disposition:attachment; filename=song.mp3;'); 

Тогда вы должны вытащить данные песни с, например file_get_contents(). И, наконец, используйте die() или exit(), чтобы избежать добавления дополнительных данных.

Примечание: приведенный выше код не будет работать, если вы уже отправили HTTP-заголовки (выписали некоторые пробельные символы и т. Д.), Поэтому поместите его непосредственно после <?php, если сможете.

0

Try ниже код

$file='song1.mp3'; 
if (file_exists('song/'.$file)) { 
     header('Content-Description: File Transfer'); 
     header('Content-Type: application/octet-stream'); 
     header('Content-Disposition: attachment; filename='.basename('song/'.$file)); 
     header('Content-Transfer-Encoding: binary'); 
     header('Expires: 0'); 
     header('Cache-Control: must-revalidate, post-check=0, pre-check=0'); 
     header('Pragma: public'); 
     header('Content-Length: ' . filesize('song/'.$file)); 
     ob_clean(); 
     flush(); 
     readfile('song/'.$file); 
    } 

Он будет напрямую загрузить файл.

Смежные вопросы