> 백엔드 개발 > PHP 튜토리얼 > PHP 파일 다운로드의 원리_php 예제에 대한 간략한 분석

PHP 파일 다운로드의 원리_php 예제에 대한 간략한 분석

WBOY
풀어 주다: 2016-05-16 20:27:31
원래의
1023명이 탐색했습니다.

1. PHP 다운로드 회로도

2. 파일 다운로드 소스코드:

코드 복사 코드는 다음과 같습니다.

$file_name="haha.jpg";//다운로드할 파일
$file_name=iconv("utf-8","gb2312","$file_name");
$fp=fopen($file_name,"r ");//파일을 다운로드하려면 먼저 파일을 열고 메모리에 써야 합니다
if(!file_exists($file_name)){//파일 존재 여부 확인
echo "파일이 존재하지 않습니다.";
종료();
}
$file_size=filesize("a.jpg");//파일 크기 판단
//반환된 파일
Header("콘텐츠 유형: 애플리케이션/옥텟 스트림");
//바이트 형식으로 반환
Header("허용 범위: 바이트");
//파일 크기 반환
Header("허용 길이: ".$file_size);
//클라이언트 대화 상자 팝업, 해당 파일 이름
Header("콘텐츠 처리: 첨부 파일; filename=".$file_name);
//서버의 순간적인 압력 증가를 방지하고 세그먼트 단위로 읽습니다
$버퍼=1024;
동안(!feof($fp)){
$file_data=fread($fp,$buffer);
에코 $file_data;
}
//파일 닫기
fclose($fp);
?>

3. 파일 인코딩 문제:
파일명이 중국어인 경우 PHP의 함수는 중국어 파일명을 인식하지 못합니다. 일반적으로 프로그램 인코딩이 UTF-8인 경우 PHP의 기능은 비교적 오래되어 gb2312로 인코딩된 중국어만 인식할 수 있으므로 iconv("original 인코딩"을 사용하십시오. 중국어) "변환할 인코딩", "트랜스코딩할 문자열") 기능을 트랜스코딩할 수 있습니다.

예를 들어 문자열을 utf-8에서 gb2312로 변환합니다

$file_name=iconv(“utf-8”,”gb2312”,”$file_name”);

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