導航:首頁 > 編程語言 > ziparchivephp開啟

ziparchivephp開啟

發布時間:2023-02-01 03:27:11

Ⅰ 力求php高手,在Linux下如何使用 ZipArchive

ZipArchive有依賴,肯定是你環境配置問題,打開php錯誤顯示,查找問題
Linux下可以執行shell解壓

exec("/usr/bin/unzip a.zip")

Ⅱ PHP的ZipArchive無法打開文件的錯誤,有誰遇到過的

Ⅲ php打包壓縮文件之ZipArchive方法用法分析

本文實例講述了php打包壓縮文件之ZipArchive方法用法。分享給大家供大家參考,具體如下:
前面說到了php打包壓縮文件之PclZip方法,今天來說下另一種更為簡單的方法,使用ZipArchive來壓縮文件。這個是php的擴展類,自php5.2版本以後就已經支持這個擴展,如果你在使用的時候出現錯誤,查看下php.ini裡面的extension=php_zip.dll前面的分號有沒有去掉,然後再重啟Apache這樣才能使用這個類庫。
使用ZipArchive壓縮文件是非常簡單的,php官網已經給我提供了很多相關示例,大家可以看下
http://www.php.net/manual/zh/class.ziparchive.php,例如:
<?php
$zip
=
new
ZipArchive;
//首先實例化這個類
if
($zip->open('test.zip')
===
TRUE)
{
//然後查看是否存在test.zip這個壓縮包
$zip->addFile('too.php');
$zip->addFile('test.php');
//將too.php和test.php兩個文件添加到test.zip壓縮包中
$zip->close();
//關閉
echo
'ok';
}
else
{
echo
'failed';
}
?>
下面是一些參數說明:
<?php
/********
ziparchive
可選參數
*******/
/*
1.ZipArchive::addEmptyDir
添加一個新的文件目錄
2.ZipArchive::addFile
將文件添加到指定zip壓縮包中。
3.ZipArchive::addFromString
添加的文件同時將內容添加進去
4.ZipArchive::close
關閉ziparchive
5.ZipArchive::extractTo
將壓縮包解壓
6.ZipArchive::open
打開一個zip壓縮包
7.ZipArchive::getStatusString
返回壓縮時的狀態內容,包括錯誤信息,壓縮信息等等
8.ZipArchive::deleteIndex
刪除壓縮包中的某一個文件,如:deleteIndex(0)刪除第一個文件
9.ZipArchive::deleteName
刪除壓縮包中的某一個文件名稱,同時也將文件刪除。
......
*/
?>
總之只要你的php5.2版本以上,使用ZipArchive來進行文件壓縮還是比較方便的。具體的和PclZip哪一個運行速度比較快,這個磊子還沒有做過測試,大家感興趣的可以折騰折騰。
更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP操作zip文件及壓縮技巧總結》、《php文件操作總結》、《php正則表達式用法總結》、《PHP運算與運算符用法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php字元串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。

Ⅳ 關於PHP的zipArchive()

可能是PHP可用內存的限製造成的,把 php.ini 中的
memory_limit
這個選項的值設大一點試試看。

也可以在 php 文件中設置,比如:

ini_set('memory_limit', '32M');

補充:
32M 還不夠的話,再往上加。
嘗試用 php.ini 文件設置。

Ⅳ php如何取消ZipArchive壓縮

試試:ZipArchive :: getStatusString 和 ZipArchive::close

不對就看文檔:PHP ZipArchive類官方文檔

Ⅵ 寶塔面板php7.3部署項目提示不支持ZipArchive

遷移ShowDoc到外部環境提示沒有安裝ZipArchvie

1 # cd /www/server/php/73/src/ext/zip/
2 # ./configure --with-php-config=/www/server/php/73/bin/php-config
3 # make && make install
4 # echo "extension = zip.so" >> /www/server/php/73/etc/php.ini
5 # 重啟寶塔面板php服務

Ⅶ 寶塔面板php7.3&7.4版本不支持ZipArchive手工安裝擴展方法

寶塔面板安裝的PHP7.3和7.4默認已經不帶zip擴展,要手工安裝zip擴展首先需要安裝libzip,方法如下:

安裝完成後,查看是否存在/usr/local/lib/pkgconfig目錄,如果存在,執行如下命令來設置PKG_CONFIG_PATH:
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig/"

在SSH命令行界面執行以下語句:

最後在重啟一下 PHP 服務即可。

寶塔面板php7.4版本不支持ZipArchive導致程序無法後台直接更新的解決方法
在SSH命令行界面執行以下語句:

最後在重啟一下 PHP 服務即可。

Ⅷ 怎麼判斷ziparchive php擴展是否打開

1.文件下載
header("Content-type: text/html; charset=utf-8"); //設置頭信息
if (!file_exists($file_dir.$name)){ //判斷是否存在某個文件
echo "File not found!"; //如果不存在就提示用戶文件未找到
} else {
$file = fopen($file_dir.$name,"r"); //否則就讀取文件
Header("Content-type: application/octet-stream"); //設置瀏覽器下載需要的頭,告訴客戶端的瀏覽器服務端返回的文件形式 是一個下載文件
Header("Accept-Ranges: bytes"); //告訴客戶端瀏覽器返回的文件大小是按照位元組進行計算的
Header("Accept-Length: ".filesize($file_dir . $name)); //告訴瀏覽器返回的文件大小
Header("Content-Disposition: attachment; filename=".$name); //:告訴瀏覽器返回的文件的名稱
echo fread($file, filesize($file_dir.$name)); //按位元組讀取文件
fclose($file);//關閉文件資源
}
2.文件壓縮:
PHP ZipArchive 是PHP自帶的擴展類,可以輕松實現ZIP文件的壓縮和解壓,使用前首先要確保PHP ZIP 擴展已經開啟,
addEmptyDir() 添加一個新的文件目錄
addFile() 將文件添加到指定zip壓縮包中。
ddFromString()添加的文件同時將內容添加進去
open() 打開一個zip壓縮包
close()關閉ziparchive
extractTo()將壓縮包解壓
getStatusString()返回壓縮時的狀態內容,包括錯誤信息,壓縮信息等等
deleteIndex()刪除壓縮包中的某一個文件,如:deleteIndex(0)刪除第一個文件
deleteName()刪除壓縮包中的某一個文件名稱,同時也將文件刪除。
注意點:使用open方法的時候,第二個參數$flags是可選的,$flags用來指定對打開的zip文件的處理方式,共有四種情況
1. ZIPARCHIVE::OVERWRITE 總是創建一個新的文件,如果指定的zip文件存在,則會覆蓋掉
2.ZIPARCHIVE::CREATE 如果指定的zip文件不存在,則新建一個
3. ZIPARCHIVE::EXCL 如果指定的zip文件存在,則會報錯
4. ZIPARCHIVE::CHECKCONS
一、解壓縮zip文件
$zip=new ZipArchive;//新建一個ZipArchive的對象
if($zip->open('test.zip')===TRUE){
$zip->extractTo('images');//假設解壓縮到在當前路徑下images文件夾
$zip->close();//關閉處理的zip文件
}
二、將文件壓縮成zip文件
$zip=new ZipArchive;
if($zip->open('test.zip',ZipArchive::OVERWRITE)===TRUE){
$zip->addFile('image.txt');//假設加入的文件名是image.txt,在當前路徑下
$zip->close();
}
三、文件追加內容添加到zip文件
$zip=new ZipArchive;
$res=$zip->open('test.zip',ZipArchive::CREATE);
if($res===TRUE){
$zip->addFromString('test.txt','file content goes here');
$zip->close();
echo 'ok';
}else{
echo 'failed';
}
四、將文件夾打包成zip文件
function addFileToZip($path,$zip){
$handler=opendir($path); //打開當前文件夾由$path指定。
while(($filename=readdir($handler))!==false){
if($filename != "." && $filename != ".."){//文件夾文件名字為'.'和『..』,不要對他們進行操作
if(is_dir($path."/".$filename)){// 如果讀取的某個對象是文件夾,則遞歸
addFileToZip($path."/".$filename, $zip);
}else{ //將文件加入zip對象
$zip->addFile($path."/".$filename);
}
}
}
@closedir($path);
}
$zip=new ZipArchive();
if($zip->open('images.zip', ZipArchive::OVERWRITE)=== TRUE){
addFileToZip('images/', $zip); //調用方法,對要打包的根目錄進行操作,並將ZipArchive的對象傳遞給方法
$zip->close(); //關閉處理的zip文件
}
3.php處理flash擴展:
ming庫:
<?php
$f = new SWFFont( '_sans' ); //創建指向一個內置字體(_sans)的指針
$t = new SWFTextField(); //創建文本欄位
$t->setFont( $f ); //設定字體
$t->setColor( 0, 0, 0 );//顏色
$t->setHeight( 400 ); //大小,
$t->addString( 'Hello World' ); //提供一些文本內容(「Hello World」)
$m = new SWFMovie(); //創建了一個 SWFMovie 對象並設定其尺寸
$m->setDimension( 2500, 800 );
$m->add( $t ); //向動畫中添加了文本元素並將動畫保存到文件中。
$m->save( 'hello.swf' ); //在本地保存為 hello.swf
?>
打開瀏覽器輸入 hello.swf 就可以看到了哦。
header( 'Content-type: application/x-shockwave-flash' );
$m = new SWFMovie();
$m->setDimension( 300, 300 );
$s = new SWFShape();
$s->setLine( 5, 0, 0, 0 );
$s->movePenTo( -100, -100 );
$s->drawLineTo( 100, 100 );
$ts = $m->add( $s );
$ts->moveTo( 150, 150 );
for( $i = 0; $i < 100; $i++ ) {
$ts->rotate( 10 );
$m->nextframe();
}
$m->save( 'rotate.swf' );
從 -100, -100 到 100, 100 畫了一條直線。這將把直線的中心放在坐標 0,0 處。這樣,當我在旋轉圖形時,直線的中心將發生旋轉。
當我向動畫中添加圖形時,將移動返回到框架中心的 SWFDisplayItem。然後用 rotate() 方法使它旋轉並每旋轉一周就增大其框架。
<?php
$img = new SWFBitmap(file_get_contents( 'megan.jpg' ));
$s = new SWFShape();
$imgf = $s->addFill( $img );
$s->setRightFill( $imgf );
$s->movePenTo( 0, 0 );
$s->drawLineTo( $img->getWidth(), 0 );
$s->drawLineTo( $img->getWidth(), $img->getHeight() );
$s->drawLineTo( 0, $img->getHeight() );
$s->drawLineTo( 0, 0 );
$m = new SWFMovie();
$m->setDimension( $img->getWidth() * 2, $img->getHeight() * 2 );
$is = $m->add( $s );
$is->moveTo( $img->getWidth() / 2, $img->getHeight() / 2 );
for( $i = 0; $i < 10; $i++ )
{
$is->skewx( 0.02 );
$is->skewy( -0.03 );
$m->nextframe();
}
$m->save( 'image.swf' );

Ⅸ PHP的ZipArchive無法打開文件的錯誤,有誰遇到過的

我遇見過,這說明文件壓縮的不完整,所以解壓不出來

Ⅹ php ZipArchive 能否在指定目錄生成壓縮包

當然可以啊,親


下面代碼就是在/tmp目錄下生成aaaa.zip文件

$zip=newZipArchive();
$zip->open('/tmp/aaaa.zip',ZipArchive::CREATE);
$zip->addEmptyDir('dir1');
$zip->close();
閱讀全文

與ziparchivephp開啟相關的資料

熱點內容
python通用管理系統 瀏覽:202
apachephphtml 瀏覽:141
安慶智能雲伺服器找哪家 瀏覽:761
linuxtab輸入 瀏覽:932
小說網盤資源 瀏覽:502
全免費影視投屏網站 瀏覽:250
娘娘懷孕快生了忍著不生 瀏覽:804
git拉取代碼的命令 瀏覽:993
程序員節西安市 瀏覽:687
單片機的閃燈 瀏覽:965
phpmime映射 瀏覽:583
關鍵特徵分析python 瀏覽:992
linux粘滯位 瀏覽:137
安卓如何把備忘錄調成黑色 瀏覽:862
dhcp伺服器手動分配ip地址 瀏覽:308
阿里雲國內伺服器數量 瀏覽:455
壓縮機安全裕度 瀏覽:226
android交叉編譯環境 瀏覽:775
美團雲伺服器質量怎麼樣 瀏覽:396
蘋果手機游戲解壓包怎麼安裝 瀏覽:446