Rumah pembangunan bahagian belakang tutorial php PHP执行zip与rar解压缩方法实现代码_PHP

PHP执行zip与rar解压缩方法实现代码_PHP

Jun 01, 2016 pm 12:17 PM
rar zip Buka zip

Zip:PclZip http://www.phpconcept.net/pclzip/index.en.php
Rar:PECL rar http://pecl.php.net/package/rar
以往过去要在php下执行解压缩程序,无非最常见的方法是写command 然后用exec()等执行函式去跑
这在Windows下或许可以,但换成Unix话会碍于帐号权限问题而无法顺利执行
那有没有那种本身就有提供函式可以直接使用而不需要去下command去跑的方法呢
答桉有(话说找了好几天才找到可以用的方法......XD)
先讲Zip,由于php内建本身就有提供zip相关函式(但须先要有ziplib函式)但不是很好用
就光extract来讲,内建函式只负责单纯解压缩档桉出来,而不是会按照资料夹依序解压缩出来
这样就失去extract的作用
而要讲的 PclZip 这支,本身就有提供 extension 了,故有没有Ziplib就没差
且免安装,只需要再用他时 include 进来就可以了
例如: 这样
此外在extract部分,则是会按照资料夹顺序依序解压缩出来,而并非单纯解压缩档桉出来
相关用法像这样
复制代码 代码如下:
require_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');
if ($archive->extract() == 0) { /*解压缩路径跟原始档相同路径*/
die("Error : ".$archive->errorInfo(true));
}
?>

当然也可以指定解压缩路径,像这样
复制代码 代码如下:
include('pclzip.lib.php');
$archive = new PclZip('archive.zip');
if ($archive->extract(PCLZIP_OPT_PATH, 'data') { /*data换成其他路径即可*/
die("Error : ".$archive->errorInfo(true));
}
?>

如果再写一支自动建立目录的script会更好,因为函式本身不会判断压缩档裡第一层是档桉还是资料夹(这我想其他相关函式也做不到吧!!!)
再来是Rar,这问题比较大,由于php本身没提供rar相关函式,所以需要求助第三方函式来用
所幸有这个 PECL(The PHP Extension Community Library)
裡面有个 rar 的 package 可以使用
不过须得手动安装才行
若是 Unix 话,可以参考下列安装法

fetch http://pecl.php.net/get/rar-x.x.x.tgz
gunzip rar-xxx.tgz
tar -xvf rar-xxx.tar
cd rar-xxx
phpize
./configure && make && make install

当然若是 freebsd 话,用 port 装会更快

cd /usr/ports/archivers/pecl-rar
make
make install

记得安装完后须 restart apache
安装完后可以做测试
复制代码 代码如下:
$rar_file = rar_open('example.rar') or die("Failed to open Rar archive");
/*example.rar换成其他档桉即可*/
$entries_list = rar_list($rar_file);
print_r($entries_list);
?>

比较要注意的,若是用 port 安装话,版本会比较新(官网只有到0.3.1,port 安装话已经到0.3.4),所以用法上会有些出入
但extract用法上并无差异
相关用法像这样
复制代码 代码如下:
$rar_file = rar_open('example.rar') or die("Can't open Rar archive");
/*example.rar换成其他档桉即可*/
$entries = rar_list($rar_file);
foreach ($entries as $entry) {
$entry->extract('/dir/extract/to/'); /*/dir/extract/to/换成其他路径即可*/
}
rar_close($rar_file);
?>

跟Zip部分一样,若搭配自动建立目录会更好

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyahmampat rar dalam linux Bagaimana untuk menyahmampat rar dalam linux Jan 23, 2024 pm 03:48 PM

Langkah penyahmampatan: 1. Pastikan alat RAR telah dipasang dalam sistem 2. Gunakan arahan "unrar x file.rar" untuk menyahmampat fail RAR 3. Gunakan arahan "unrar x *.rar" untuk menyahmampat berbilang RAR fail; 4. Tentukan laluan penyahmampatan; Fail RAR dalam kelompok.

Panduan Terbaik untuk Memampatkan Fail HTML ke ZIP Panduan Terbaik untuk Memampatkan Fail HTML ke ZIP Apr 09, 2024 pm 04:09 PM

Memampatkan fail HTML ke dalam ZIP boleh meningkatkan kelajuan pemuatan halaman. Kaedah termasuk: menggunakan alatan dalam talian (seperti FileOptimizer, TinyPNG) menggunakan alatan baris arahan (seperti gzip, 7-zip) menggunakan skrip Node.js (menggunakan modul zlib)

Cara menggunakan arahan zip mampatan linux Cara menggunakan arahan zip mampatan linux Oct 08, 2023 pm 01:25 PM

Perintah zip ialah alat pemampatan yang sangat berguna dalam sistem Linux. Dengan menggunakan arahan zip, anda boleh dengan mudah memampatkan fail dan direktori ke dalam fail zip dan menjimatkan ruang storan serta memudahkan pemindahan. Sintaks asas arahan zip ialah "zip [pilihan] [nama fail termampat] [fail atau direktori untuk dimampatkan]".

Penjelasan terperinci tentang arahan fail penyahmampatan (zip) di bawah centos7 Penjelasan terperinci tentang arahan fail penyahmampatan (zip) di bawah centos7 Jan 07, 2024 pm 06:30 PM

1. Folder yang dimampatkan ialah fail zip [root@cgls]#zip-rmydata.zipmydata2 Nyahzip mydata.zip ke dalam direktori mydatabak [root@cgls]#unzipmydata.zip-dmydatabak3.mydata01 folder dan mydata02.txt dimampatkan ke dalam. mydata.zip[root@cgls]#zipmydata.zipmydata01mydata02.txt4 Terus nyahmampat fail mydata.zip [root@cgls]#unzipmydata.zip5

Bagaimana untuk menyahzip fail pada Windows 11 Bagaimana untuk menyahzip fail pada Windows 11 Oct 11, 2023 pm 09:09 PM

Jika anda tidak tahu cara menyahzip fail pada Windows 11, anda mungkin tidak dapat memasang perisian tertentu atau melihat fail yang telah dihantar oleh orang lain kepada anda dalam format arkib. Proses ini sangat mudah untuk dilakukan, dan dalam panduan hari ini kami akan menunjukkan kepada anda cara terbaik untuk melakukannya pada Windows 11. Bagaimana untuk menyahzip fail dalam Windows 11? 1. Cari fail zip pada PC anda menggunakan menu konteks dan klik kanan padanya. Seterusnya, pilih "Ekstrak Semua." Pilih lokasi pengekstrakan dan klik butang "Ekstrak". Tunggu Windows mengekstrak fail. 2. Gunakan alat pihak ketiga untuk memuat turun WinZip dan memasangnya. Klik dua kali pada fail zip yang anda ingin ekstrak. Sekarang klik Ekstrak ke dan pilih folder destinasi. 3.

Bagaimana untuk menyahmampat fail dalam Xunlei secara percuma Bagaimana untuk menyahmampat fail secara percuma Bagaimana untuk menyahmampat fail dalam Xunlei secara percuma Bagaimana untuk menyahmampat fail secara percuma Mar 12, 2024 pm 03:04 PM

Apabila kami menggunakan platform ini, kami boleh menggunakan kaedah penyahmampatan percuma fail, supaya kami boleh membuka beberapa pakej termampat yang kami muat turun, dan sudah tentu terdapat banyak fail, dan lain-lain, yang boleh difahami secara langsung dari yang di atas. ramai pengguna mungkin tidak tahu banyak tentang ini, jadi ini juga membolehkan kami menggunakan beberapa fungsi dengan lebih baik Ini juga lebih mudah untuk kami apabila memuat turun fail lain pada masa hadapan. Ia boleh digunakan dengan lebih baik, dan kesannya masih bagus, jadi hari ini Saya akan membawakan anda pelbagai kesan penggunaan yang berbeza. Mengapa anda tidak mengetahui tentang fungsi yang berguna ini penerangan strategi di bawah. Anda tidak boleh terlepas keseronokan ini.

Apakah perisian yang hendak digunakan untuk menyahmampat rar pada mac Apakah perisian yang hendak digunakan untuk menyahmampat rar pada mac Mar 03, 2023 pm 04:18 PM

Perisian untuk menyahmampat rar pada mac: 1. The Unarchiver, alat pemampatan dan penyahmampatan yang percuma, padat, dan sangat mudah digunakan 2. Keka, alat pemampatan dan penyahmampatan percuma yang menyokong penyahmampatan format RAR pakej mampat; 3. 360 Compression Master ialah perisian pemampatan dan penyahmampatan percuma yang menyokong penyahmampatan fail RAR sepenuhnya 4. MacZip menyokong penyahmampatan lebih daripada 20 format pemampatan termasuk RAR 5. BetterZip ;

Cara menggunakan fungsi Zip dalam Java untuk pemampatan fail Cara menggunakan fungsi Zip dalam Java untuk pemampatan fail Jun 26, 2023 pm 02:10 PM

Memampatkan fail ialah operasi biasa yang boleh menjimatkan ruang cakera dan masa penghantaran rangkaian, dan Java menyediakan fungsi Zip untuk pemampatan fail. Artikel ini akan menunjukkan cara menggunakan fungsi Zip dalam Java untuk pemampatan fail melalui pengenalan terperinci dan contoh demonstrasi. 1. Pengenalan kepada fungsi Zip Fungsi Zip ialah perpustakaan alat pemampatan dan pembungkusan yang disediakan dalam Java Anda boleh menggunakan fungsi ini untuk memampatkan fail atau folder ke dalam fail format Zip. ZipOutputStr digunakan terutamanya dalam fungsi Zip

See all articles