PHP 온라인 패키지 다운로드 기능 예시

高洛峰
풀어 주다: 2023-03-03 17:12:01
원래의
1249명이 탐색했습니다.

이 기사의 예에서는 PHP 온라인 패키지 다운로드 기능을 구현하는 방법을 설명합니다. 자세한 내용은 다음과 같습니다.

어젯밤에는 패키징과 다운로드 작업을 하느라 너무 바빴습니다. 여러 가지 문제가 있는데, 첫 번째는 PHP_ZIP.dll을 시작하는 문제입니다. 즉, PHP.INI에서 extend_dir 앞에 있는 ";" 기호를 제거하면 됩니다. IIS나 아파치를 다시 시작하세요.

문제는 시스템에서 구성한 실제 PHP.INI를 찾을 수 없다는 것입니다.

PHP 온라인 패키지 다운로드 기능 예시

PHP 구성 다이어그램

두 번째는 구성 문서의 경로를 알려주는데, 클릭해서 찾으시면 됩니다. 머리가 어지러워서 시간을 많이 낭비했습니다.

PHP_ZIP 확장 라이브러리를 연 후 패키징 및 다운로드를 시작할 수 있습니다.

$filename= date("YmdHis");
$zip = new ZipArchive();//使用本类,linux需开启zlib,windows需取消php_zip.dll前的注释
$zip->open($filename.".zip", ZipArchive::OVERWRITE); //$data 就是从数据库里面读出的数字
foreach( $data as $val){
   $attachfile = "E:\bysj\bysj".$val['fileaddr'].$val['filename']; //写硬路径,但建议用PHP环境变量
   $attachfile=iconv("UTF-8","GBK",$attachfile); //转码,是打包中文文档的关键
   $zip->addFile( $attachfile , basename($attachfile)); //压栈
}
$zip->close();//关闭
header("Content-type:text/html;charset=utf-8");//设置页面编号
header("Cache-Control: public");
header("Content-Description: File Transfer");
header('Content-disposition: attachment; filename='.basename($filename)); //文件名
header("Content-Type: application/zip"); //zip格式的
header("Content-Transfer-Encoding: binary"); //告诉浏览器,这是二进制文件
header('Content-Length: '. filesize($filename)); //告诉浏览器,文件大小
@readfile($filename.".zip");
로그인 후 복사

위 코드는 기본적으로 문서 패키징 및 다운로드를 구현할 수 있으며, 중국어 문서를 패키징하여 다운로드할 수 없는 문제도 해결합니다.

이 글이 PHP 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.

PHP 온라인 패키지 다운로드 기능 예제와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

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