php删除目录几种方法

 更新时间:2016年11月25日 16:49  点击:1884
本文章提供三款关于php删除目录几种方法,如果你正在找删除目录或删除目录下所有文件的php代码就进来看看吧。
 代码如下 复制代码
deletedir($dir)
{
if (rmdir($dir)==false && is_dir($dir)) {
    if ($dp = opendir($dir)) {
     while (($file=readdir($dp)) != false) {
      if (is_dir($file) && $file!='.' && $file!='..') {
       deletedir($file);
      } else {
       unlink($file);
      }
     }
     closedir($dp);
    } else {
     exit('www.aimeige.com.cn not permission');
    }
}
}

删除目录利用rmdir来删除吧

 代码如下 复制代码

//比如当前文件所在文件夹下游www.111cn.net/一个文件夹
@$flag = rmdir("www.111cn.net/");
if($flag)
{echo "www.111cn.net删除成功";}
else
{echo "www.111cn.net删除失败";}


下面看一款 php删除文件夹及其文件夹下所有文件

 代码如下 复制代码

function deldir($dir) {
  $dh=opendir($dir);
  while ($file=readdir($dh)) {
    if($file!=”.” && $file!=”..”) {
      $fullpath=$dir.”/”.$file;
      if(!is_dir($fullpath)) {
          unlink($fullpath);//mb.111cn.net
      } else {
          deldir($fullpath);
      }
    }
  }

  closedir($dh);
 
  if(rmdir($dir)) {
    return true;
  } else {
    return false;
  }

php string 函数
定义和用法
ord() 函数返回字符串第一个字符的 ascii 值。

语法
ord(string)参数 描述
string 必需。要从中获得 ascii 值的字符串。

echo ord('我');
这里只能返回230, 我是以u8保存的文件并输出的, 它得到的只有230, 而230转换成hex是e6,实际上u8中我的编码是e68891, 这样你就明白了吧, 其实它只拿到了第一个字节

echo chr(0xe6).chr(0x88).chr(0x91);
这里例子可以在u8的情况下输出我这个汉字, 你看到了, 这里用了3次chr才得到这个汉字

 

 代码如下 复制代码

<?php
//a字符
$str=(pack("a*", "中国"));
echo $str,"=",strlen($str),"字节n";
getascill($str);
//h字符
$str=(pack("h*", "fffe"));
echo $str,"=",strlen($str),"字节n";
getascill($str);
//c字符
$str=(pack("c*", "55","56","57"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

//i字符 短整形 32位 4个字节 64位8个字节
$str=(pack("i", "100"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

//s字符 短整形 2个字节
$str=(pack("s", "100"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

//l字符 长整形 4个字节
$str=(pack("l", "100"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

//f字符 单精度浮点 4个字节
$str=(pack("f", "100"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

//d字符 双精度浮点 8个字节
$str=(pack("d", "100"));
echo $str,"=",strlen($str),"字节n";
getascill($str);

function getascill($str)
{
$arr=str_split($str);
foreach ($arr as $v)
{
echo $v,"=",ord($v),"n";
}
echo "=============rnrn";
}

本文章主要是介绍str_replace函数替换单个字符,与替换数据,以及指定str_replace替换的次数,最后一个替换次数是很有用的特别是在seo优化方法面哦。

/mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

个函数返回一个字符串或在出现问题的所有搜索给定的数组替换值替换。

如果你不喜欢需要更换的规则(如正则表达式),你应该始终使用此函数,而不是ereg_replace()或preg_replace函数()。
*/
// provides: <body text='black'>
$bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// provides: hll wrld f php
$vowels = array("a", "e", "i", "o", "u", "a", "e", "i", "o", "u");
$onlyconsonants = str_replace($vowels, "", "hello world of php");

// provides: you should eat pizza, beer, and ice cream every day
$phrase  = "you should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

// provides: 2
$str = str_replace("ll", "", "good golly miss molly!", $count);
echo $count;

//利用str_replace函数指定替换次数

$array = array(
 array(0,1,2)
 );
function keywords( $str,$array )
{
 $count =0;
 foreach($array as $v){     
  if(strstr($str,strtolower($v[0]))!==false){       
   if( $count <=3 ){
    $tos = strtolower($v[0]);
    $str=preg_replace("/$tos/","<a href=".$v[1]." target=_blank >".$v[2]."</a>",$str,1);
    $count++;
    continue;
   }
  }    
 }
 return $str;  
}

?>

由于 flock() 需要一个文件指针, 因此可能不得不用一个特殊的锁定文件来保护打算通过写模式打开的文件的访问(在 fopen() 函数中加入 \\\"w\\\" 或 \\\"w+\\\")。

fp = fopen("test.txt", 'ab');              //from the end
flock($fp, lock_ex);                        //lock the file for waiting...
fwrite($fp, 'just a test string.......');   //start writing...
flock($fp, lock_un);                        //release write lock
fclose($fp);                                //close the file读操作:

//read
$fp = fopen("test.txt", 'r');
flock($fp, lock_sh);
//read from the file.......
flock($fp, lock_un);

<?php教程

$fp = fopen("/tmp/lock.txt", "w+");

if (flock($fp, lock_ex)) { // 进行排它型锁定
    fwrite($fp, "write something here ");
    flock($fp, lock_un); // 释放锁定
} else {
    echo "couldn't lock the file !";
}

fclose($fp);

?>
flock() 不能用于 nfs 以及其它一些网络文件系统。详细资料查看自己操作系统的文档。

在部分操作系统中 flock() 以进程级实现。当用一个多线程服务器 api(比如 isapi)时,可能不可以依靠 flock() 来保护文件,因为运行于同一服务器实例中其它并行线程的 php 脚本可以对该文件进行处理

addslashes: 字符串加入斜线。
bin2hex: 二进位转成十六进位。
chop: 去除连续空白。
chr: 返回序数值的字符。
chunk_split: 将字符串分成小段。
convert_cyr_string: 转换古斯拉夫字符串成其它字符串。
crypt: 将字符串用 des 编码加密。
echo: 输出字符串。
explode: 切开字符串。
flush: 清出输出缓冲区。
get_meta_tags: 抽出文件所有 meta 标记的资料。
htmlspecialchars: 将特殊字符转成 html 格式。
htmlentities: 将所有的字符都转成 html 字符串。
implode: 将数组变成字符串。
join: 将数组变成字符串。
ltrim: 去除连续空白。
md5: 计算字符串的 md5 哈稀。
nl2br: 将换行字符转成 <br>。
ord: 返回字符的序数值。
parse_str: 解析 query 字符串成变量。
print: 输出字符串。
printf: 输出格式化字符串。
quoted_printable_decode: 将 qp 编码字符串转成 8 位字符串。
quotemeta: 加入引用符号。
rawurldecode: 从 url 专用格式字符串还原成普通字符串。
rawurlencode: 将字符串编码成 url 专用格式。
setlocale: 配置地域化信息。
similar_text: 计算字符串相似度。
soundex: 计算字符串的读音值
sprintf: 将字符串格式化。
strchr: 寻找第一个出现的字符。
strcmp: 字符串比较。
strcspn: 不同字符串的长度。
strip_tags: 去掉 html 及 php教程 的标记。
strips教程lashes: 去掉反斜线字符。
strlen: 取得字符串长度。
strrpos: 寻找字符串中某字符最后出现处。
strpos: 寻找字符串中某字符最先出现处。
strrchr: 取得某字符最后出现处起的字符串。
strrev: 颠倒字符串。
strspn: 找出某字符串落在另一字符串遮罩的数目。
strstr: 返回字符串中某字符串开始处至结束的字符串。
strtok: 切开字符串。
strtolower: 字符串全转为小写。
strtoupper: 字符串全转为大写。
str_replace: 字符串取代。
strtr: 转换某些字符。
substr: 取部份字符串。
trim: 截去字符串首尾的空格。
ucfirst: 将字符串第一个字符改大写。
ucwords: 将字符串每个字第一个字母改大写。


php语言中的字符串函数也是一个比较易懂的知识。今天我们就为大家总结了将近12种php字符串函数,希望对又需要的朋友有所帮助,增加读者朋友的php知识库。
1查找字符位置函数:
int strpos(string $str, mixed search,[int]):查找search在$str中的第一次出现的位置(从int开始,忽略int之前的任何值);
int stripos(string $str,string search,[int]):函数返回字符串在另一个字符串中第一次出现的位置。该函数对大小写不敏感
strrpos($str,search,[int]):查找search在$str中的最后一次出现的位置从int(从int开始,忽略int之前的任何值);

2、提取子字符函数(双字节)
submit($str,int start[,int length]):从$str中strat位置开始提取[length长度的字符串]。
strstr($str1,$str2):从$str1(第一个的位置)搜索$str2并从它开始截取到结束字符串;若没有则返回false。
stristr() 功能同strstr,只是不区分大小写。
strrchr() 从最后一次搜索到的字符处返回;用处:取路径中文件名
3、替换字符串的php字符串函数
str_replace(search,replace,$str):从$str中查找search用replace来替换
str_irreplace(search,replace,$str):
strtr($str,search,replace):这个函数中replace不能为"";
substr_replace($str,$rep,$start[,length])$str原始字符串,$rep替换后的新
字符串,$start起始位置,$length替换的长度,该项可选
4、字符长度
int strlen($str)
5、比较字符函数
int strcmp($str1,$str2):$str1>=<$str2分别为正1,0,-1(字符串比较)
strcasecmp() 同上(不分大小写)
strnatcmp("4","14") 按自然排序比较字符串
strnatcasecmp() 同上,(区分大小写)
6、分割成数组的php字符串函数
str_split($str,len):把$str按len长度进行分割返回数组
split(search,$str[,int]):把$str按search字符进行分割返回数组int是分割几次,后面的将不分割
expload(search,$str[,int])
7、去除空格:
ltrim、rtrim、trim
8、加空格函数
chunk_split($str,2);向$str字符里面按2个字符就加入一个空格;
9、chr、ord--返回指定的字符或ascii
10、html代码有关函数
nl2br():使n转换为<br>。
strip_tags($str[,'<p>']):去除html和php标记
在$str中所有html和php代码将被去除,可选参数为html和php代码作用是将保留
可选参数所写的代码。
如:echo strip_tags($text, '<br><p>');

htmlspecialchars($str[,参数]):页面正常输出html代码参数是转换方式
11、字符大小写转换的php字符串函数
strtolower($str) 字符串转换为小写
strtoupper($str) 字符串转换为大写
ucfirst($str) 将函数的第一个字符转换为大写
ucwords($str) 将每个单词的首字母转换为大写
12、数据库教程相关的php字符串函数
addslashes($str):使str内单引号(')、双引号(")、反斜线()与 nul
字符串转换为',",\。
magic_quotes_gpc = on 自动对 get post cookie的内容进行转义
get_magic_quotes_gpc()检测是否打开magic_quotes_gpc
stripslashes() 去除字符串中的反斜杠

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • php 中file_get_contents超时问题的解决方法

    file_get_contents超时我知道最多的原因就是你机器访问远程机器过慢,导致php脚本超时了,但也有其它很多原因,下面我来总结file_get_contents超时问题的解决方法总结。...2016-11-25
  • php抓取网站图片并保存的实现方法

    php如何实现抓取网页图片,相较于手动的粘贴复制,使用小程序要方便快捷多了,喜欢编程的人总会喜欢制作一些简单有用的小软件,最近就参考了网上一个php抓取图片代码,封装了一个php远程抓取图片的类,测试了一下,效果还不错分享...2015-10-30
  • HTTP 408错误是什么 HTTP 408错误解决方法

    相信很多站长都遇到过这样一个问题,访问页面时出现408错误,下面一聚教程网将为大家介绍408错误出现的原因以及408错误的解决办法。 HTTP 408错误出现原因: HTT...2017-01-22
  • Android子控件超出父控件的范围显示出来方法

    下面我们来看一篇关于Android子控件超出父控件的范围显示出来方法,希望这篇文章能够帮助到各位朋友,有碰到此问题的朋友可以进来看看哦。 <RelativeLayout xmlns:an...2016-10-02
  • 解决Pycharm的项目目录突然消失的问题

    今天小编就为大家分享一篇解决Pycharm的项目目录突然消失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-22
  • ps把文字背景变透明的操作方法

    ps软件是现在非常受大家喜欢的一款软件,有着非常不错的使用功能。这次文章就给大家介绍下ps把文字背景变透明的操作方法,喜欢的一起来看看。 1、使用Photoshop软件...2017-07-06
  • intellij idea快速查看当前类中的所有方法(推荐)

    这篇文章主要介绍了intellij idea快速查看当前类中的所有方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-09-02
  • Mysql select语句设置默认值的方法

    1.在没有设置默认值的情况下: 复制代码 代码如下:SELECT userinfo.id, user_name, role, adm_regionid, region_name , create_timeFROM userinfoLEFT JOIN region ON userinfo.adm_regionid = region.id 结果:...2014-05-31
  • 删除条目时弹出的确认对话框

    复制代码 代码如下: <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导出table数据到excel即导出为EXCEL文档的方法

    复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht...2013-10-13
  • mysql 批量更新与批量更新多条记录的不同值实现方法

    批量更新mysql更新语句很简单,更新一条数据的某个字段,一般这样写:复制代码 代码如下:UPDATE mytable SET myfield = 'value' WHERE other_field = 'other_value';如果更新同一字段为同一个值,mysql也很简单,修改下where即...2013-10-04
  • ps怎么制作倒影 ps设计倒影的方法

    ps软件是一款非常不错的图片处理软件,有着非常不错的使用效果。这次文章要给大家介绍的是ps怎么制作倒影,一起来看看设计倒影的方法。 用ps怎么做倒影最终效果&#819...2017-07-06
  • js基础知识(公有方法、私有方法、特权方法)

    本文涉及的主题虽然很基础,在许多人看来属于小伎俩,但在JavaScript基础知识中属于一个综合性的话题。这里会涉及到对象属性的封装、原型、构造函数、闭包以及立即执行表达式等知识。公有方法 公有方法就是能被外部访问...2015-11-08
  • 安卓手机wifi打不开修复教程,安卓手机wifi打不开解决方法

    手机wifi打不开?让小编来告诉你如何解决。还不知道的朋友快来看看。 手机wifi是现在生活中最常用的手机功能,但是遇到手机wifi打不开的情况该怎么办呢?如果手机wifi...2016-12-21
  • PHP 验证码不显示只有一个小红叉的解决方法

    最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误; (1)修改步骤如下,原因如下,原因是apache权限没开, (2)点击打开php.int., 搜索extension=ph...2013-10-04
  • c#中分割字符串的几种方法

    单个字符分割 string s="abcdeabcdeabcde"; string[] sArray=s.Split('c'); foreach(string i in sArray) Console.WriteLine(i.ToString()); 输出下面的结果: ab de...2020-06-25
  • js控制页面控件隐藏显示的两种方法介绍

    javascript控制页面控件隐藏显示的两种方法,方法的不同之处在于控件隐藏后是否还在页面上占位 方法一: 复制代码 代码如下: document.all["panelsms"].style.visibility="hidden"; document.all["panelsms"].style.visi...2013-10-13
  • 连接MySql速度慢的解决方法(skip-name-resolve)

    最近在Linux服务器上安装MySql5后,本地使用客户端连MySql速度超慢,本地程序连接也超慢。 解决方法:在配置文件my.cnf的[mysqld]下加入skip-name-resolve。原因是默认安装的MySql开启了DNS的反向解析。如果禁用的话就不能...2015-10-21
  • C#方法的总结详解

    本篇文章是对C#方法进行了详细的总结与介绍,需要的朋友参考下...2020-06-25