1. 怎么判断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()关闭ziparchiveextractTo()将压缩包解压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' );
2. php 怎么判断页面或者文件是否存在
你说的跳转有两种方式一种是302,一种是js跳转,302用php可以获取到状态码,js跳转的话得判断获取到的代码中是否存在跳转代码。
3. 请问PHP有没有可以判断文件是否正在被写入的函数 – PHP进阶讨论
开始写文件时另写一个锁文件,完成后删除。判断锁文件是否存在即可
4. linux端 想监测PHP文件是否启动
这个问题不好整哎,据我所知,php是个脚本文件,只有apache调用时才作用。你的想法如果是在服务器端来调用,那直接service httpd restart不就行了,如果启动了就重启,没启动就启动,同时你直接访问某个php文件应该就能达到效果了吧?
5. php如何实现判断文件是否存在后跳转
file_exists (PHP 3, PHP 4 )file_exists — 检查文件或目录是否存在 说明 bool file_exists ( string filename)如果由 filename 指定的文件或目录存在则返回回 TRUE,否则返回 FALSE。在 Windows 中要用 //computername/share/filename 或者 \\computername\share\filename 来检查网络中答的共享文件。例子 1. 测试一个文件是否存在<?php $filename = '/path/to/foo.txt';if (file_exists($filename)) {print "The file $filename exists"; } else {print "The file $filename does not exist"; } ?>
6. 怎么判断一个php文件是否运行一次
声明两个参数,初始值分别为0,500.并存储到$_SESSION中$num1=0;$num2=500;if(isset($_SESSION[变量1] && isset($_SESSION[变量2])){ $num1=$_SESSION[变量1]+500; $num2=$_SESSION[变量2]+500;}$_SESSION[变量1]=$num1;$_SESSION[变量2]=$num2; }
7. php有没有判断文件是否打开的函数
从 变量 方面来讲. 当用双引号或者定界符指定字符串时,其中的变量会被解析。比如以下例子详细的代码我就不打了,楼上可以去后盾人自学,哪里是教学视频对你很有帮助
8. php如何判断文件是否存在,包括本地和远程文件
当检查的文件是本地时用php自带的file_exists检查就行了,而此函数只能检查本地的函数是否存在,所以如果要检查远程的文件是否存在只能用其它的方法了。如果所服务器中php的配置开启了“allow_url_fopen = On”,即允许远端访问,那么也很简单,其实这个是php.ini中默认开启的,用fopen函数判断就行了,能打开说明存在如果allow_url_fopen = Off那么可以用socket通讯来解决下面写的一个通用函数my_file_exists来检查文件是否存在function my_file_exists($file){if(preg_match('/^http:\/\//',$file)){//远程文件if(ini_get('allow_url_fopen')){if(@fopen($file,'r')) return true;}else{$parseurl=parse_url($file);$host=$parseurl['host'];$path=$parseurl['path'];$fp=fsockopen($host,80, $errno, $errstr, 10);if(!$fp)return false;fputs($fp,GET {$path} HTTP/1.1 \rhost:{$host}\r\r);现在就可以调用此函数来检查文件的存在性,而不用去考虑是远程还是本地文件,或者是否禁用了allow_url_open
9. php 判断图片是否能打开
if($file_content=file_get_contents($image_path)){//能打开}else{//不能打开}
或者 参考 以下函数:
functionmy_file_exists($file){if(preg_match('/^http:///',$file)){//远程文件if(ini_get('allow_url_fopen')){if(@fopen($file,'r'))returntrue;}else{$parseurl=parse_url($file);$host=$parseurl['host'];$path=$parseurl['path'];$fp=fsockopen($host,80,$errno,$errstr,10);if(!$fp)returnfalse;fputs($fp,"GET{$path}HTTP/1.1
host:{$host}
");if(preg_match('/HTTP/1.1200/',fgets($fp,1024)))returntrue;}returnfalse;}returnfile_exists($file);}
参考:http://blog.163.com/ydr_899/blog/static/38994332012103004226986/
10. php判断远程文件能不能访问
<?php$fp = fsockopen("www.example.com", 80);if (!$fp) { echo "Unable to open\n";} else { fwrite($fp, "GET / HTTP/1.0\r\n\r\n"); stream_set_timeout($fp, 2); $res = fread($fp, 2000); $info = stream_get_meta_data($fp); fclose($fp); if ($info['timed_out']) { echo 'Connection timed out!'; } else { echo $res; }}?>