Domanda

sto cercando di creare video-file scaricabili. Nel mio sito c'è una lista di file. Tutti i video sono in formato .flv-(flash). C'è link esatto al file per i tutti i video. Ma in tutti i browser dopo aver cliccato contenuto in corso alla finestra browser`s. Non ho bisogno in questo. A quanto ho capito dovrei creare redirect-page Wich contiene mime-type del file di download. Che cosa devo fare? Lingua: php

È stato utile?

Soluzione

Crea una pagina PHP con il seguente:

<?php

$filepath = "path/to/file.ext";

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$filepath");
header("Content-Type: mime/type");
header("Content-Transfer-Encoding: binary");
// UPDATE: Add the below line to show file size during download.
header('Content-Length: ' . filesize($filepath));

readfile($filepath);

?>

Imposta $filepath per il percorso del file da scaricare e impostare Content-Type al tipo mime del file in fase di download.

Puntare il link "download" di questa pagina.

Per più file dello stesso tipo:

<?php

$filepath = $_GET['filepath'];

header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; filename=$filepath");
header("Content-Type: mime/type");
header("Content-Transfer-Encoding: binary");
// UPDATE: Add the below line to show file size during download.
header('Content-Length: ' . filesize($filepath));

readfile($filepath);

?>

Sostituire le informazioni come sopra specificato, e puntare il link "Download" per questa pagina con un parametro GET denominato "percorsofile" che contiene il percorso del file.

Ad esempio, se il nome questo file php "download.php", puntare il link per scaricare un file chiamato "movie.mov" (nella stessa directory download.php) a "download.php? Filepath = film .mov".

Altri suggerimenti

Il tipo MIME consigliato di ciò è application/octet-stream :

  

Il sottotipo "octet-stream" è utilizzato per indicare che un corpo contiene dati binari arbitrari. [...]

     

L'azione consigliata per un'implementazione che riceve un'entità "application / octet-stream" è semplicemente offrire a mettere i dati in un file, con qualsiasi annullata Content-Transfer-Encoding, o forse per usarlo come base per una processo specificato dall'utente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top