이 글에서는 ZIP 압축 패키지의 사진이나 파일을 PHP에서 압축을 풀지 않고 직접 표시하는 방법을 간략하게 소개합니다. 방법은 매우 간단하며 주로 PHP에서 Zip File 시리즈 기능과 base64_encode 기능을 사용하는데 도움이 되길 바랍니다. 영감
모든 사람은 ZIP 압축 파일을 작동하는 PHP의 기본 방법을 알아야 합니다 (모르는 경우 이 기사 하단에서 ZIP을 작동하는 PHP의 기본 방법을 배울 수 있습니다) 그렇다면 압축을 풀지 않고 직접 읽는 방법은 무엇입니까? 예를 들어 압축 패키지의 사진을 페이지에 직접 표시하는 방법은 무엇입니까?
이제 압축된 패키지의 이미지 파일을 압축을 풀지 않고 직접 표시하는 방법을 보여드리겠습니다
$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 구성을 수정하기 전에 컴파일해야 합니다. file
첨부된 내용은 PHP 연산입니다. Zip의 기본 기능 File
Function | Description | PHP |
---|---|---|
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를 사용하여 zip을 작동하고 패키지의 압축을 풀지 않고 압축된 패키지의 그림을 표시하는 방법에 대한 설명입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!