2017-03-29 102 views
2

我知道如何使用download屬性來強制下載,但我想做一些不同的事情。是否可以使用下載屬性強制下載?

<a href="filename.mp4" download=""><img src="download.png"></a> 

這是download屬性,它工作正常,但我想用下載meta標籤,像這樣:

<meta http-equiv="refresh" content="5; url=uploads/<?php echo $_POST["filename"]; ?>"> Please wait while your file start downloading. 

它與類似的壓縮文件擴展名偉大的工作,RAR等。但當我嘗試使用mp4時,它會在瀏覽器中打開文件,而不是強制下載。

+0

[下載屬性時文件名不能正常工作?](http://stackoverflow.com/questions/33909763/download-attribute-with-a-file-name-not-working) –

+0

@SatishSaini no這是不同的老兄!即時使用meta http-equiv刷新5秒後下載 –

+0

是的,它認爲這是不同的 – Jayanta

回答

1

我改變了一些東西。先生,我認爲它可以幫助你: 第一頁代碼:

<?php $file = $_POST["filename"]; ?> 
<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1.0"> 
    <meta http-equiv="X-UA-Compatible" content="ie=edge"> 
    <meta http-equiv="refresh" content="5; url=hello.php?file=<?php echo $file; ?>"> 

    <title>Document</title> 
</head> 
<body> 

</body> 
</html> 

然後創建一個hello.php文件,它包含:

<?php 
$file = 'uploads/' . $_GET['file']; 

if(!file_exists($file)) die("File not found"); 

header('Content-Disposition: attachment; filename="' . basename($file) . '"'); 
header("Content-Length: " . filesize($file)); 
header('Content-type: vedio/mp4'); 

readfile($file); 
?> 

過程中下載的文件自動。

+0

它沒有爲我工作。如果我想要這樣使用:」>你能告訴我爲什麼你使用$ _POST文件名,然後$ _GET方法? –

+0

你需要文件下載自動對嗎? – Jayanta

+0

它適合我。你只需要**內容處置:附件; **到另一個文件頭 – Jayanta