Maison >développement back-end >tutoriel php >Deux façons d'implémenter le téléchargement PHP et d'enregistrer des fichiers dans la zone locale

Deux façons d'implémenter le téléchargement PHP et d'enregistrer des fichiers dans la zone locale

高洛峰
高洛峰original
2017-01-06 14:19:274052parcourir

Le premier type :

<?php
function downfile()
{
 $filename=realpath("resume.html"); //文件名
 $date=date("Ymd-H:i:m");
 Header( "Content-type:  application/octet-stream ");
 Header( "Accept-Ranges:  bytes ");
Header( "Accept-Length: " .filesize($filename));
 header( "Content-Disposition:  attachment;  filename= {$date}.doc");
 echo file_get_contents($filename);
 readfile($filename);
}
downfile();
?>

ou

<?php
function downfile($fileurl)
{
 ob_start();
 $filename=$fileurl;
 $date=date("Ymd-H:i:m");
 header( "Content-type:  application/octet-stream ");
 header( "Accept-Ranges:  bytes ");
 header( "Content-Disposition:  attachment;  filename= {$date}.doc");
 $size=readfile($filename);
  header( "Accept-Length: " .$size);
}
 $url="url地址";
 downfile($url);
?>

Le deuxième type :

<?php
function downfile($fileurl)
{
$filename=$fileurl;
$file  =  fopen($filename, "rb");
Header( "Content-type:  application/octet-stream ");
Header( "Accept-Ranges:  bytes ");
Header( "Content-Disposition:  attachment;  filename= 4.doc");
$contents = "";
while (!feof($file)) {
 $contents .= fread($file, 8192);
}
echo $contents;
fclose($file);
}
$url="url地址";
downfile($url);
?>

PHP implémente deux méthodes de téléchargement de fichiers. Partagez-le pour que les amis qui pourraient le trouver utile puissent y jeter un œil.

Méthode 1 :

<?php
/**
* 下载文件
* header函数
*
*/
header(&#39;Content-Description: File Transfer&#39;);
 
header(&#39;Content-Type: application/octet-stream&#39;);
header(&#39;Content-Disposition: attachment; filename=&#39;.basename($filepath));
header(&#39;Content-Transfer-Encoding: binary&#39;);
header(&#39;Expires: 0′);
header(&#39;Cache-Control: must-revalidate, post-check=0, pre-check=0′);
header(&#39;Pragma: public&#39;);
header(&#39;Content-Length: &#39; . filesize($filepath));
readfile($file_path);
?>

Comprendre l'utilisation de la fonction d'en-tête en php.

Méthode 2 :

<?php
//文件下载
//readfile
$fileinfo = pathinfo($filename);
header(&#39;Content-type: application/x-&#39;.$fileinfo[&#39;extension&#39;]);
header(&#39;Content-Disposition: attachment; filename=&#39;.$fileinfo[&#39;basename&#39;]);
header(&#39;Content-Length: &#39;.filesize($filename));
readfile($thefile);
exit();
?>

Pour plus de téléchargements php et d'enregistrement de fichiers à enregistrer localement, veuillez faire attention au PHP chinois pour les articles connexes . filet!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn