Heim  >  Artikel  >  Backend-Entwicklung  >  Methoden und Beispiele zum sicheren Herunterladen von Dateien mit PHP

Methoden und Beispiele zum sicheren Herunterladen von Dateien mit PHP

墨辰丷
墨辰丷Original
2018-06-04 10:04:511528Durchsuche

In diesem Artikel wird hauptsächlich die Methode zum sicheren Herunterladen von Dateien mit PHP vorgestellt, einschließlich Codierungseinstellungen, Konvertierung, Beurteilung und Downloadtechniken für PHP-Dateien.

Die Details lauten wie folgt:

<?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;);
?>

Hinweis: Der Dateiname kann chinesische Namen akzeptieren. Das Dateiformat ist utf-8.

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.

Verwandte Empfehlungen:

Implementierung des Android-News-Browsing-Clients basierend auf PHP-Hintergrund

Zwei Methoden für PHP zur Bestimmung der Stringlänge

phpVerwendung von ffmpeg zum Hinzufügen von Textuntertiteln zu Videos

Das obige ist der detaillierte Inhalt vonMethoden und Beispiele zum sicheren Herunterladen von Dateien mit PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn