本文目錄一覽:
怎麼判斷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下開啟PDO MySQL的擴展
PDO擴展為PHP訪問數據庫定義了一個輕量級的、一致性的接口,它提供了一個數據訪問抽象層,這樣,無論使用什麼數據庫,都可以通過一致的函數執行查詢和獲取數據。
在一些PHP管理系統需要開啟PDO和PDO_MySQL擴展,方法很簡單:
1、找到php.ini文件
2、打開後,搜索 extension=php_pdo.dll 和 extension=php_pdo_mysql.dll ,去掉前面“;”的注釋。
最終這兩行配置內容如下:
extension=php_pdo.dll
extension=php_pdo_mysql.dll
重新啟動apache或者iis後,在phpinfo函數中查看,是否開啟。
php怎麼打開socket擴展
下個相同版本的php源碼,進行編譯安裝,再按照上面步驟搞,生成的so。copy到rpm裝的那個,修改php.ini進行擴展就行了,或者到網上找相同版本,相同系統 的編譯好的so文件。
在linux下給PHP安裝socket擴展,參考方法如下:
#cd /home/php/ext/sockets
#/server/php/bin/phpize
#./configure –prefix=/usr/local/php/lib –with-php-config=/server/php/bin/php-config –enable-sockets
#make
#make install
再修改/usr/local/php/etc/php.ini文件
#extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/” (php5.4版本以上不用加擴展路徑)
extension=sockets.so
重啟apache或者nginx等進程,完成。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199379.html