本文目录一览:
怎么判断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等进程,完成。