PHP를 사용하여 파일을 안전하게 다운로드하는 방법 및 예

墨辰丷
풀어 주다: 2023-03-29 16:30:01
원래의
1523명이 탐색했습니다.

이 글에서는 PHP 파일의 인코딩 설정, 변환, 판단, 다운로드 기술 등 PHP로 파일을 안전하게 다운로드하는 방법을 주로 소개합니다. 도움이 필요한 친구들은 참고하세요

자세한 내용은 다음과 같습니다.

<?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;);
?>
로그인 후 복사

참고: 파일 이름은 중국어 이름을 사용할 수 있습니다. 파일 형식은 utf-8입니다.

요약: 위 내용이 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장 사항:

PHP 배경 기반 Android 뉴스 검색 클라이언트 구현

PHP에서 문자열 길이를 판단하는 두 가지 방법

phpffmpeg를 사용하여 동영상에 텍스트 자막을 추가하는 방법 구현

위 내용은 PHP를 사용하여 파일을 안전하게 다운로드하는 방법 및 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿