Maison >développement back-end >tutoriel php >Méthodes et exemples de téléchargement sécurisé de fichiers à l'aide de PHP

Méthodes et exemples de téléchargement sécurisé de fichiers à l'aide de PHP

墨辰丷
墨辰丷original
2018-06-04 10:04:511579parcourir

Cet article présente principalement la méthode de téléchargement de fichiers PHP en toute sécurité, impliquant les paramètres d'encodage, la conversion, le jugement et les techniques de téléchargement des fichiers PHP. Les amis dans le besoin peuvent se référer à

Les détails sont les suivants :

<?php
header(&#39;Content-Type:text/html;Charset=utf-8&#39;);
define(&#39;ROOT_PATH&#39;, dirname(__FILE__));
/**
 * 下载文件
 * @param string $file_path 绝对路径
 */
function downFile($file_path) {
  //判断文件是否存在
  $file_path = iconv(&#39;utf-8&#39;, &#39;gb2312&#39;, $file_path); //对可能出现的中文名称进行转码
  if (!file_exists($file_path)) {
    exit(&#39;文件不存在!&#39;);
  }
  $file_name = basename($file_path); //获取文件名称
  $file_size = filesize($file_path); //获取文件大小
  $fp = fopen($file_path, &#39;r&#39;); //以只读的方式打开文件
  header("Content-type: application/octet-stream");
  header("Accept-Ranges: bytes");
  header("Accept-Length: {$file_size}");
  header("Content-Disposition: attachment;filename={$file_name}");
  $buffer = 1024;
  $file_count = 0;
  //判断文件是否结束
  while (!feof($fp) && ($file_size-$file_count>0)) {
    $file_data = fread($fp, $buffer);
    $file_count += $buffer;
    echo $file_data;
  }
  fclose($fp); //关闭文件
}
downFile(ROOT_PATH . &#39;/down/Sunset.jpg&#39;);
?>
Remarque : Le nom du fichier peut accepter les noms chinois. Le format de fichier est utf-8.

Résumé : Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.

Recommandations associées :

Implémentation d'un client de navigation d'actualités Android basé sur un arrière-plan PHP

Deux méthodes permettant à PHP de déterminer la longueur de la chaîne

phpUtiliser ffmpeg pour ajouter des sous-titres de texte aux vidéos

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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