PHP を使用して ZIP 圧縮ファイルを操作する方法は誰もが知っていると思いますが、特殊な場合には、圧縮パッケージ内のファイルを解凍せずに表示する必要があります。今日はそんな方法をご紹介しますので、一緒に見ていきましょう。
$zip_path = '12.zip';//压缩包实际路径 $zip = zip_open($zip_path);//利用zip_open函数打开压缩包 while ($re = zip_read($zip)) {//读依次读取包中的文件 if (!zip_entry_filesize($re)) break;//如果文件大小为0退出操作 $entry_zp = zip_entry_open($zip,$re,'rb');//读取包中文件 $ext = pathinfo(zip_entry_name ($re),PATHINFO_EXTENSION);//获取图片文件扩展名 $buf = zip_entry_read($re,zip_entry_filesize($re));//读取文件二进制数据 echo sprintf('<img src="data:image/%s;base64,%s">', $ext, base64_encode($buf));//利用base64_encode函数转换读取到的二进制数据并输入输出到页面中 zip_entry_close($re);//关闭打开的压缩包中的文件 } zip_close($zip);//关闭压缩包文件
このコードで最も重要なことは、base64_encodeを使用して画像ファイルのバイナリデータをブラウザで読み取り可能なBase64画像データに変換することです
注: PHPのZIP FILEシリーズの関数を使用する場合は確認してくださいphp_zip.dll 拡張ライブラリが PHP.ini ファイルで有効になっているかどうか、および PHP インストール ディレクトリの ext フォルダに php_zip.dll があるかどうか (Windows システムを使用しています)。 php_zip.dll が存在しない場合は、次の PHP 公式 PECL 拡張パッケージ サイトにアクセスして入手できます
PHP 公式 PECL 拡張パッケージ サイトのアドレス: http://pecl.php.net/package/zip
PHP のバージョンに対応するもの 圧縮パッケージ
Windows では、圧縮パッケージ内の php_zip.dll ファイルを PHP インストール ディレクトリの ext フォルダーに直接ドラッグ アンド ドロップできます
Linux システムは、PHP の 設定を変更する前にコンパイルする必要があります。ファイル
添付 PHP で Zip ファイルを操作するための基本機能
zip_close() 关闭 ZIP 文件。 4 zip_entry_close() 关闭 ZIP 文件中的一个项目。 4 zip_entry_compressedsize() 返回 ZIP 文件中的一个项目的被压缩尺寸。 4 zip_entry_compressionmethod() 返回 ZIP 文件中的一个项目的压缩方法。 4 zip_entry_filesize() 返回 ZIP 文件中的一个项目的实际文件尺寸。 4 zip_entry_name() 返回 ZIP 文件中的一个项目的名称。 4 zip_entry_open() 打开 ZIP 文件中的一个项目以供读取。 4 zip_entry_read() 读取 ZIP 文件中的一个打开的项目。 4 zip_open() 打开 ZIP 文件。 4 zip_read() 读取 ZIP 文件中的下一个项目。 4
これらの事例を読んだ後、あなたは方法をマスターしたと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。
関連書籍:
JavaScriptの二分探索の詳細な説明_javascriptスキル
javascript配列(順序付けされた)リスト内の検索文字の位置を半分にする_javascriptヒント
以上がPHP を使用して圧縮パッケージ内の画像を解凍せずに表示する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。