ホームページ >バックエンド開発 >PHPチュートリアル >PHPでオンラインパッケージダウンロード機能を実装する方法

PHPでオンラインパッケージダウンロード機能を実装する方法

墨辰丷
墨辰丷オリジナル
2018-06-01 09:18:441898ブラウズ

この記事では主にPHPオンラインパッケージダウンロード機能の実装方法を紹介し、サンプルの形でPHPパッケージダウンロードの実装プロセスと関連注意事項を分析します。必要な友人はそれを参照してください

これを行うために、昨夜。パッケージのダウンロード、なんて面倒なことでしょう。問題はいくつかありますが、1 つ目は PHP_ZIP.dll の起動時の問題です。つまり、PHP.INI の extend_dir の前にある「;」記号を削除するだけです。 IIS または Apache を再起動するだけです。

問題は、システムに設定されている実際の PHP.INI が見つからないことです。

PHP 構成図

2 番目の図では、構成ドキュメントへのパスが示されています。クリックして見つけてください。頭がクラクラしてしまい、かなりの時間を無駄にしてしまいました。

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

上記のコードは基本的にドキュメントのパッケージ化とダウンロードを実現でき、中国語のドキュメントをパッケージ化してダウンロードできない問題も解決します。

要約: 上記がこの記事の全内容です。皆様の学習に役立つことを願っています。

関連する推奨事項:

PHPStrom 新しいFTPプロジェクトと詳細なオンライン操作の写真とテキスト

phpWeChat Payの公式アカウント支払い機能

PHPはCURLを介してファイルをアップロードする機能を実装します

以上がPHPでオンラインパッケージダウンロード機能を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。