Home >Backend Development >PHP Tutorial >Methods and examples of securely downloading files using PHP
This article mainly introduces the method of safely downloading files with PHP, involving the encoding settings, conversion, judgment and downloading techniques of PHP files. Friends in need can refer to it
The details are as follows:
<?php header('Content-Type:text/html;Charset=utf-8'); define('ROOT_PATH', dirname(__FILE__)); /** * 下载文件 * @param string $file_path 绝对路径 */ function downFile($file_path) { //判断文件是否存在 $file_path = iconv('utf-8', 'gb2312', $file_path); //对可能出现的中文名称进行转码 if (!file_exists($file_path)) { exit('文件不存在!'); } $file_name = basename($file_path); //获取文件名称 $file_size = filesize($file_path); //获取文件大小 $fp = fopen($file_path, 'r'); //以只读的方式打开文件 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 . '/down/Sunset.jpg'); ?>
Note: The file name can accept Chinese names. The file format is utf-8.
Summary: The above is the entire content of this article, I hope it will be helpful to everyone's study.
Related recommendations:
Implementing Android news browsing client based on PHP background
Two methods for PHP to determine string length
phpHow to use ffmpeg to add text subtitles to videos
The above is the detailed content of Methods and examples of securely downloading files using PHP. For more information, please follow other related articles on the PHP Chinese website!