php中rmdir删除非空目录程序代码
rmdir() 函数删除空的目录。
例
代码如下 | 复制代码 |
<?php |
如果images是空目录可成功删除,如果非空目录就删除不了
代码如下
代码如下 | 复制代码 |
<?php function removeDir($dirName) |
正则表达式
代码如下 | 复制代码 |
echo preg_replace("/([^s]+)*\1{2,}([^s]+)*/",'',$string); |
用循环我给写了个
例1
代码如下 | 复制代码 |
$str = 'abccba 9872223s 12121212 ddd 1234560 vbwwc asasasasas zxzx qaz'; |
例2
代码如下 | 复制代码 |
<?php |
另一种办法
preg_replace_callback() 就更简单了,不过 preg_replace() 可以使用e修饰符来实现PREG_REPLACE_EVAL,能达到
差不多的效果
代码如下 | 复制代码 |
echo preg_replace('/([^s]+)/e','check("\1")',$string); |
代码如下 | 复制代码 |
$uAgent = $_SERVER['HTTP_USER_AGENT']; $osPat = "mozilla|m3gate|winwap|openwave|Windows NT|Windows 3.1|95|Blackcomb|98|ME|X Window|ubuntu|Longhorn|AIX|Linux|AmigaOS|BEOS|HP-UX|OpenBSD|FreeBSD|NetBSD|OS/2|OSF1|SUN"; if(preg_match("/($osPat)/i", $uAgent )) //winwap 模拟WAP手机上网的一个浏览器; openwave|后面为各pc操作系统 { echo "电脑访问"; } else { echo "手机访问"; } echo '<br/>'.$uAgent; |
现在我们事完整的把实例写成一个文件
代码如下 | 复制代码 |
$uachar = "/(nokia|sony|ericsson|mot|samsung|sgh|lg|philips|panasonic|alcatel|lenovo|cldc|midp|mobile|wap)/i"; if(($ua == '' || preg_match($uachar, $ua))&& !strpos(strtolower($_SERVER['REQUEST_URI']),'wap')) if (!empty($Loaction)) exit; }
|
javascript中采用navigator.userAgent 来获取,但非智能机似乎不支持js。
支持js的移动客户端还可以用以下代码简单判断是不是windows电脑访问的
代码如下 | 复制代码 |
if(navigator.platform.indexOf('Win32')!=-1){ |
更多关于判断手机访问文章 http://www.111cn.net/phper/php-cy/44574.htm
在php中可以直接调用linux中的文件压缩命令来实现文件快速压缩与解压缩,有需要的朋友可参考参考。用PHP调用Linux的命令行 ,执行压缩命令,OK,马上行动!
/*拆分成3个txt文件 分别是wow_1.txt wow_2.txt 和 wow_3.txt 全部放到 Exl_file 目录下*/
代码如下 | 复制代码 |
$outputs=array(); |
/*用php的exec执行Linux命令 括号里的字符串就是你在Linux命令窗口里敲的命令;
第二个参数是 linux执行该命令后返回的结果数组;
linux执行返回的每一条结果依次存入该数组
第三个参数是结果,如果执行成功,则Linux返回结果值为0,如果执行失败,则结果值不为0
*/
代码如下 | 复制代码 |
exec("zip ./Exl_file/wow.zip ./Exl_file/wow_1.txt ./Exl_file/wow_2.txt ./Exl_file/wow_3.txt",$outputs,$rc);
|
你可以把 if($rc!=0) 改成 if(1==1) 查看Linux执行命令返回的结果行,如下图:
代码如下 | 复制代码 |
adding: Exl_file/wow_1.txt (deflated 96%) adding: Exl_file/wow_2.txt (deflated 97%) adding: Exl_file/wow_3.txt (deflated 97%) |
可以看到执行返回的信息全部输入到了 $outputs 数组中,*.zip文件生成成功
php提供了system(),exec(),passthru()这几个函数来调用外部的命令.
他们的区别 :
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码
一个php调用zip实现方法,这个在windows中的
#upload.php
代码如下 | 复制代码 |
<table border='0' > <form ENCTYPE="multipart/form-data" action="upsave.php" method="post"> <tr> <td>如果是*.ZIP的文件会被自动解压缩<br> <INPUT NAME="MyFile" TYPE="File" size="50"> </td> </tr> <tr> <td colspan='2' align="center"> <input type="Submit" value=" 上传 " class=iwhite> <input type="reset" value=" 重填 " class=iwhite> </td> </tr> </table> </body> </html> <? //upsave.php //保存上传的文件 $filename="$MyFile_name"; copy($MyFile,"$filename"); unlink($MyFile); //判断是否是ZIP文件 $expand_name=explode(".",$filename); if($expand_name[1] == "zip" or $expand_name[1] == "ZIP") { $str="pkunzip.exe -e $filename "; exec($str); unlink($filename); } ?> |
默认情况下,PHP 指令 magic_quotes_gpc 为 on,它主要是对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇到这种情况时可以使用函数 get_magic_quotes_gpc() 进行检测。
例子
1. addslashes() 示例
代码如下 | 复制代码 |
<? // 输出:Is your name O'''reilly? |
返回值
关闭 magic_quotes_gpc 时返回 0,否则是 1。 在 PHP 5.4.O 起将使用返回 FALSE
例
代码如下 | 复制代码 |
<?php // 适用各个 PHP 版本的用法 // 如果使用 MySQL echo $lastname; // O'reilly |
php.ini:get_magic_quotes_gpc
在php的配置文件中,有个布尔值的设置,就是magic_quotes_runtime,当它打开时,
php的大部分函数自动的给从外部引入的(包括数据库或者文件)数据中的溢出字符加上反
斜线。 当然如果重复给溢出字符加反斜线,那么字符串中就会有多个反斜线,所以这时
就要用set_magic_quotes_runtime()与get_magic_quotes_runtime()设置和检测php.ini
文件中magic_quotes_runtime状态。 为了使自己的程序不管服务器是什么设置都能正常
执行。可以在程序开始用get_magic_quotes_runtime检测该设置的状态决定是否要手工处理
,或者在开始(或不需要自动转义的时候)用set_magic_quotes_runtime(0)关掉该设置。
magic_quotes_gpc设置是否自动为GPC(get,post,cookie)传来的数据中的'"\加上反斜
线。可以用get_magic_quotes_gpc()检测系统设置。如果没有打开这项设置,可以使用
addslashes()函数添加,它的功能就是给数据库查询语句等的需要在某些字符前加上了反
斜线。这些字符是单引号(')、双引号(")、反斜线(\)与 NUL(NULL 字符)。
相关文章
- 下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
- 今天小编就为大家分享一篇解决Pycharm的项目目录突然消失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-22
- 有一种方法,可以不打开网站而直接查看到这个网站的源代码.. 这样可以有效地防止误入恶意网站... 在浏览器地址栏输入: view-source:http://...2016-09-20
- <?php require('path.inc.php'); header('content-Type: text/html; charset=utf-8'); $borough_id = intval($_GET['id']); if(!$borough_id){ echo ' ...2016-11-25
- 本文实例讲述了JS基于Mootools实现的个性菜单效果代码。分享给大家供大家参考,具体如下:这里演示基于Mootools做的带动画的垂直型菜单,是一个初学者写的,用来学习Mootools的使用有帮助,下载时请注意要将外部引用的mootools...2015-10-23
- 复制代码 代码如下: <td> <a href="/member/life/edit_ppt/<?php echo $v->id;?>" class="btn">编辑</a> <a href="javascript:;" onclick="if(confirm('您确定删除这条记录?')){location.href='/member/life/d...2014-06-07
- 本文实例讲述了JS+CSS实现分类动态选择及移动功能效果代码。分享给大家供大家参考,具体如下:这是一个类似选项卡功能的选择插件,与普通的TAb区别是加入了动画效果,多用于商品类网站,用作商品分类功能,不过其它网站也可以用,...2015-10-21
- 本文实例讲述了JS实现自定义简单网页软键盘效果。分享给大家供大家参考,具体如下:这是一款自定义的简单点的网页软键盘,没有使用任何控件,仅是为了练习JavaScript编写水平,安全性方面没有过多考虑,有顾虑的可以不用,目的是学...2015-11-08
- php 取除连续空格与换行代码,这些我们都用到str_replace与正则函数 第一种: $content=str_replace("n","",$content); echo $content; 第二种: $content=preg_replac...2016-11-25
- php简单用户登陆程序代码 这些教程很对初学者来讲是很有用的哦,这款就下面这一点点代码了哦。 <center> <p> </p> <p> </p> <form name="form1...2016-11-25
- 公司一些wordpress网站由于下载的插件存在恶意代码,导致整个服务器所有网站PHP文件都存在恶意代码,就写了个简单的脚本清除。恶意代码示例...2015-10-23
- 其实挺简单的就是if(navigator.userAgent.indexOf('UCBrowser') > -1) {alert("uc浏览器");}else{//不是uc浏览器执行的操作}如果想测试某个浏览器的特征可以通过如下方法获取JS获取浏览器信息 浏览器代码名称:navigator...2015-11-08
- 本文实例讲述了JS实现双击屏幕滚动效果代码。分享给大家供大家参考,具体如下:这里演示双击滚屏效果代码的实现方法,不知道有觉得有用处的没,现在网上还有很多还在用这个特效的呢,代码分享给大家吧。运行效果截图如下:在线演...2015-10-30
- 一、日期减去天数等于第二个日期function cc(dd,dadd){//可以加上错误处理var a = new Date(dd)a = a.valueOf()a = a - dadd * 24 * 60 * 60 * 1000a = new Date(a)alert(a.getFullYear() + "年" + (a.getMonth() +...2015-11-08
- 伪造跨站请求介绍伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。...2013-10-01
- 微信支付,即便交了保证金,你还是处理测试阶段,不能正式发布。必须到你通过程序测试提交订单、发货通知等数据到微信的系统中,才能申请发布。然后,因为在微信中是通过JS方式调用API,必须在微信后台设置支付授权目录,而且要到...2014-05-31
- 这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
- 本文实例讲述了PHP常用的小程序代码段。分享给大家供大家参考,具体如下:1.计算两个时间的相差几天$startdate=strtotime("2009-12-09");$enddate=strtotime("2009-12-05");上面的php时间日期函数strtotime已经把字符串...2015-11-24
- 小编分享了一段简单的php中文转拼音的实现代码,代码简单易懂,适合初学php的同学参考学习。 代码如下 复制代码 <?phpfunction Pinyin($_String...2017-07-06
Centos中彻底删除Mysql(rpm、yum安装的情况)
我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15