php目录删除创建遍历

 更新时间:2016年11月25日 15:52  点击:2372

php教程目录删除创建遍历

实例目录结构:php执行文件与leaps教程oulcn目录处在同一级,创建的子目录处在leapsoulcn目录下。
第一步:使用php目录函数创建相关目录
复制代码 代码如下:
<?
mkdir("leapsoulcn",0777);
mkdir("leapsoulcn/leapsoul",0777);
mkdir("leapsoulcn/php",0777);
mkdir("leapsoulcn/php/web",0777);
mkdir("leapsoulcn/php/web/test",0777);
?>

说明:在这段代码中,先使用php目录函数mkdir创建主目录leapsoulcn,并创建了两个子目录,leapsoul及php,在php目录下创建了web以及test目录。
知识点:mkdir主要用来创建目录,有两个参数:新目录名(注意创建多级目录时,必须包含目录路径),新目录的访问权限,即umask值,第一个数字通常是0,第二个数字指定了所有者特许,第三个数字指定了所有者用户群的特许 ,第四个数字制定了全局特许,可用值如下:
1 = 可执行
2 = 可写
4 = 可读
将三个数字加起来,7代表拥有所有权限,你可以根据自己的需要对创建的新目录赋予不同的权限。
第二步:在leapsoulcn/php/目录下创建leapsoulcn.txt文件,并写入相关的内容
复制代码 代码如下:
<?
@$fp = fopen("leapsoulcn/php/leapsoulcn.txt","w");
if(!$fp){
echo "system error";
exit();
}else {
$filedata = "domain"."t"."www.111cn.net"."n";
$filedata = $filedata."description"."t"."php网站开发教程网,面向php初学者的php教程网。"."n";
$filedata = $filedata."title"."t"."本实例主要讲述php目录函数的具体应用:涵盖读取目录、创建目录、删除目录等功能";
fwrite($fp,$filedata);
fclose($fp);
}
?>

说明:这段实例代码具体解释可参考之前介绍的php文件写入教程。
第三步:读取(遍历)目录名及文本文件名
复制代码 代码如下:
<?
$dir = opendir("leapsoulcn");
while ($filedir = readdir($dir)) {
if (!strcmp($filedir,".")||!strcmp($filedir,"..")) {
continue;
}
echo $filedir."目录列表:<br/><br/>";
$subdir = "leapsoulcn/".$filedir;
$dirc = "->";
listsubdir($subdir,$dirc);
}
closedir($dir);
?>

说明:在这段代码实例教程中主要使用了php目录函数opendir(),readdir(),closedir()。
知识点:
1、opendir函数用来打开所游览的具体目录,函数参数为目录名,注意,由于在本实例教程中php执行文件和游览的主目录处在同一级,所以传递的参数仅仅只是目录名,如果不在同一级或读取多级目录时,需带上具体的目录路径或文件路径。
2、在通过opendir函数读取了主目录后,通过while循环来进一步读取主目录下的多级目录及文件,此处使用的php目录函数为readdir,此函数从目录中读取目录或文件名,当没有可读取的目录或文件时,返回false,注意,读取的目录包含.和..,在本实例教程中由于是一级级往下读取目录,所以当读取的目录信息为.和..时跳出本次循环,继续读取下一级目录。
3、在读取完主目录的所有子目录及文件后,通过php目录函数closedir来关闭目录句柄,类似于fclose函数关闭文件。
第四步:创建读取(遍历)目录及文件的递归函数
复制代码 代码如下:
<?
function listsubdir($dirinfo,$dirc)
{
if (is_dir($dirinfo)) {
$subdir = dir($dirinfo);
while ($subfile = $subdir->read()) {
if (!strcmp($subfile,".")||!strcmp($subfile,"..")) {
continue;
}
$newdir = $dirinfo."/".$subfile;
if (is_file($newdir)) {
echo $dirc.$subfile.":文件属性<br/>";
}
else{
echo $dirc.$subfile.":目录属性<br/>";
listsubdir($newdir,"-".$dirc);
}
}
$subdir->close();
return;
}
else return;
}
?>

说明:此函数有两个参数:需要读取的目录(包含目录路径),显示用的多级目录分隔符。在这个函数中主要使用了php文件目录函数is_dir,is_file,dir类。
知识点:
1、首先通过is_dir来判断要读取的是目录还是文件,此函数的参数和opendir函数类似,注意目录路径问题。
2、如果判断需要读取的是目录,则通过dir目录类来进一步读取其多级子目录,层层递归。dir类所具有的操作函数功能和opendir、readdir、closedir这些php目录函数功能一致。
  至此整个创建目录,读取目录的代码实例就算完成了,可列出主目录下的多级子目录名及文本文件名。
如何删除目录?
  删除目录可以使用php目录函数rmdir,函数的参数和mkdir函数参数类似,可以使用相对目录路径或绝对目录路径,只是要删除的目录必须为空目录,通过上述代码实例你完全可以判断哪些是空目录。

php教程 数组元素随机排序代码
因为工作需要我要对我定义好的数组进行随机排序,每一次循环都要是不同的,下面我们利用了php shuffle函数随机对数组元素进行排序。方法非常简单。

shuffle() 函数把数组中的元素按随机顺序重新排列。

若成功,则返回 true,否则返回 false。

注释:本函数为数组中的单元赋予新的键名。这将删除原有的键名而不仅是重新排序。

*/
$array = array(1,2,3,4);
for( $i=1;$i<30;$i++)
{
 shuffle( $array );
 print_r($array);
 echo '<br />';
}
/*
array ( [0] => 3 [1] => 2 [2] => 4 [3] => 1 )
array ( [0] => 3 [1] => 4 [2] => 1 [3] => 2 )
array ( [0] => 2 [1] => 1 [2] => 3 [3] => 4 )
array ( [0] => 2 [1] => 4 [2] => 1 [3] => 3 )
array ( [0] => 3 [1] => 4 [2] => 2 [3] => 1 )
array ( [0] => 3 [1] => 2 [2] => 4 [3] => 1 )
array ( [0] => 3 [1] => 4 [2] => 1 [3] => 2 )
array ( [0] => 4 [1] => 2 [2] => 1 [3] => 3 )
array ( [0] => 2 [1] => 4 [2] => 1 [3] => 3 )
array ( [0] => 4 [1] => 3 [2] => 1 [3] => 2 )
array ( [0] => 3 [1] => 2 [2] => 1 [3] => 4 )
array ( [0] => 4 [1] => 3 [2] => 1 [3] => 2 )
array ( [0] => 4 [1] => 1 [2] => 2 [3] => 3 )
array ( [0] => 2 [1] => 1 [2] => 4 [3] => 3 )
array ( [0] => 3 [1] => 1 [2] => 4 [3] => 2 )
array ( [0] => 2 [1] => 1 [2] => 3 [3] => 4 )
array ( [0] => 4 [1] => 1 [2] => 3 [3] => 2 )
array ( [0] => 1 [1] => 4 [2] => 2 [3] => 3 )
array ( [0] => 3 [1] => 2 [2] => 1 [3] => 4 )
array ( [0] => 1 [1] => 2 [2] => 4 [3] => 3 )
array ( [0] => 1 [1] => 3 [2] => 4 [3] => 2 )
array ( [0] => 2 [1] => 4 [2] => 3 [3] => 1 )
array ( [0] => 3 [1] => 2 [2] => 1 [3] => 4 )
array ( [0] => 1 [1] => 3 [2] => 4 [3] => 2 )
array ( [0] => 2 [1] => 1 [2] => 4 [3] => 3 )
array ( [0] => 4 [1] => 1 [2] => 3 [3] => 2 )
array ( [0] => 3 [1] => 2 [2] => 1 [3] => 4 )
array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
array ( [0] => 2 [1] => 1 [2] => 4 [3] => 3 )

总结:
php有大量的函数,如果你知道这个函数会对你开发提高大量的帮助,如果你不知道要自己写可能花很多时间。
*/

php教程文件读取操作

读取文本文件中存储数据的方式主要涉及的三个步骤及部分文件操作函数如下:
  1、打开文件(文件操作函数:fopen)
  2、文件数据读取(文件操作函数:fgets、file、readfile、feof等)
  3、关闭文件(文件操作函数:fclose)


在代码实例中,默认php文件读取操作函数为fgets,fgetss与fgetcsv函数的功能与fgets一样,都是一次读取文件中的一行,直到文件末尾。此处我设定读取文本文件中的数据长度为100,即最大读取长度为99(100-1),这样,当遇到换行符n或文件结束符eof或从文件中读取完99个字节时就停止读取数据。fgets函数返回文件读取的数据,字符串型。
  fgetss函数是fgets函数的一个变体,它能够剥离php和html标记,通过传递第三参数来过滤不必要的数据,可以提高网站安全性,比如留言本中可以过滤用户的输入数据,fgetss函数原型如下:
复制代码 代码如下:
string fgetss(resource fp,int length, string[optional] allowable_tags)

allowable_tags参数是可选项,实例中我事先在leaps教程oulcn.txt文件中写入了包含html、body、h1标记的一行文字,然后在代码中我设定只允许h1标记可以出现。
  fgetcsv函数是fgets的另一个变体,区别在与,当你的文本文件中写入的数据使用了定界符,可以使用fgetcsv将一行分解成多行,返回的结果存储在数组中,函数原型如下
复制代码 代码如下:
array fgetcsv(resource fp,int length, string[optional] delimiter,string[optional] enclosure)

delimiter是可选项,由于在之前写入文件的数据中我是用了t,所以在实例中文件读取函数fgetcsv中的定界符我使用了t,然后通过print_r打印出fgetcsv返回的数组结构。
  三个php文件读取操作函数fgets、fgetss、fgetcsv共同之处在于事先都需要使用fopen函数打开读取的文件,同时通过feof函数判断是否文件指针到达文件末尾,切记在读取操作完成后使用fclose函数关闭文件。
  fgetc:读取单个字符
  fgetc函数用来读取一个字符,在代码实例中我通过一个一个读取字符,当遇到n字符时将其转换成html文件中的br标记,以便在游览器中显示具体的换行效果,当然此函数的效率肯定是比较低的,不建议使用。
  php文件读取操作函数readfile、fpassthru、file之间的区别
  三个函数共同之处是一次可以读取整个文件,而不是一次读一行或一个字符。区别在于:
  readfile函数打开文件,返回文件内容直接输出在游览器上,与fopen函数一样,函数返回值为文件的字符总数,readfile函数的第二个参数是可选项,指明php是否应在include_path中查找文件。在代码实例中,我使用echo语句不是用来输出读取的文件内容,而是输出读取的文件字符总数,读取的文件内容readfile函数已自动输出,这一点必须明确!readfile函数原型如下:
复制代码 代码如下:
int readfile(string filename,int[optional] use_include_path)

  file函数是另一种读取文件的方法,它是把读取的文件内容送到一个数组中,每行一个数组单元。file函数原型如下:
复制代码 代码如下:array file(string filename,bool[optional] use_include_path)
  fpassthru()函数用来输出文件指针处的所有剩余数据,即如果文件指针并不在开头,它只输出文件指针后面的数据。该函数将给定的文件指针从当前的位置读取到eof,并把结果写到输出缓冲区,返回值为输出的字符数。发生错误时,返回false。与readfile()函数相比,fpassthru()函数需要首先打开文件,数据读取完毕后要关闭文件。
  fread与file_exists、filesize函数
  fread函数也是读取文件的一种方法,其可以从文件中读取任意字节,要么满足length要么读到文件末尾。read函数原型如下:
复制代码 代码如下:string fread(resource fp,int length)
  在用到fread函数时,当你想读取文件全部数据,又不知道文件数据长度时,filesize函数可以解决这个问题,即
复制代码 代码如下:
<?
  @$fp = fopen("leapsoulcn.txt","r") or die("system error");
  echo fread($fp,filesize("leapsoulcn.txt"));
  fclose($fp);
?>

在php文件读写操作教程中我们还没有使用过file_exists函数,通常在php网站开发中,出于各种考虑,有时当文件不存在时,我们并不像创建新文件,这时我们就需要在使用fopen函数前使用file_exists函数判断文件是否存在,即
复制代码 代码如下:
<?
if(file_exists("leapsoulcn.txt"))
{
  //进行php文件读写操作
}
?>

以上就是php文件读写操作教程之文件读取操作的各种方法介绍,通过合理应用php文件读写操作函数,可以实现简单的留言本、网站log记录等功

php教程 memcached安装与使用

1.简介

memcache模块是一个高效的守护进程,提供用于内存缓存的过程式程序和面向对象

的方便的接口,特别是对于设计动态web程序时减少对数据库教程的访问。

memcache也提供用于通信对话(session_handler)的处理。

更多memcache 模块相关信息可以到 http://www.danga.com/memcached/ 查阅。

1.1.memcache在php.ini中的配置项列表 memcache在php.ini中的配置项列表
名称
默认值
是否可变
改变日志

memcache.allow_failover
“1”
php_ini_all
available since memcache 2.0.2.

memcache.max_failover_attempts
"20"
php_ini_all
available since memcache 2.1.0.

memcache.chunk_size
"8192"
php_ini_all
available since memcache 2.0.2.

memcache.default_port
"11211"
php_ini_all
available since memcache 2.0.2.

memcache.hash_strategy
"standard"
php_ini_all
available since memcache 2.2.0.

memcache.hash_function
"crc32"
php_ini_all
available since memcache 2.2.0.

session.save_handler
"files"
php_ini_all
supported since memcache 2.1.2

session.save_path
""
php_ini_all
supported since memcache 2.1.2

有关 php_ini_* 常量进一步的细节与定义参见php手册php.ini 配置选项。


下面摘一段代码,给大家一个直观的印象:(假设memcached安装在172.10.10.10上

面,端口号12121)

$memcache = new memcached();

$memcahce->connect('172.10.10.10', 12121);

$memcache->set('key', 'value');

$memcache->get('key');

上面的主要完成了memcached的简单操作流程:连接memcached服务器,设置值,取

值('key'的值是'value');

 

这里需要向大家说明一下addserver函数和connect函数,addserver是将多个服务器

放在连接池,而connect只是将连接某一台服务器;如果在使用了addserver,再使

用connect,这里就会只使用一台服务器。

以下代码是简单模拟的客户端操作

$fp = fsocketopen('172.10.10.10', 12121, $errorno, $errstr, 1);

if(!$fp)

  echo "$errstr";

else

{

  $out = "get key rn";

  fwrite($out);

  while(!feof($fp))

    $str  . = fgets($fp);

  

  if(stripos($str, 'end') ===0)

    exit("no value find")

  $arr = implode('rn', $str);

  echo $arr[1];

}

简单解释上面的代码,使用fsocketopen打开服务器的socket通讯接口,然后向其发

送get key命令, 然后获取返回的数据,并解析返回的数据。这里都没有做异常的

处理,在编程的时候要填

 

memcached 是一个键值存储系统,它将关键数据存储在内存中,大大减少存取数据

的时间。使用memcached的好处不言而喻,它不仅减少了系统访问数据库的压力,而

且提高系统的反应速度。至于什么样的系统需要使用memcache,笔者建议数据量大

,访问频繁系统可以采取memcached作为缓存的中间层。

使用memcached的缺点除了增加程序的代码量,还有就是不能保证数据库的实时性,

另外在第一次初始化数据库会需要额外的时间。但是这些的缺点比起它的优点是很

微不足道

eaccelerator加速php教程程序

什么是eaccelerator

概念:
eaccelerator 是一个免费开源的php加速、优化、编译和动态缓存的项目,它可以

通过缓存php代码编译后的结果来提高php脚本的性能,使得一向很复杂和离我们很

远的php脚本编译问题完全得到解决。通过使用eaccelerator,可以优化你的php代

码执行速度,降低服务器负载,可以提高php应用执行速度最高达10倍。

原理:
eaccelerator 通过把经过编译后的php代码缓存到共享内存中,并在用户访问的时

候直接调用从而起到高效的加速作用。它的效率非常高,从创建共享内存到查找编

译后的代码都在非常短的时间内完成,对于不能缓存到共享内存中的文件和代码,

eaccelerator还可以把他们缓存到系统磁盘上。
eaccelerator 同样还支持php代码的编译和解释执行,你可以通过encoder.php脚本

来对php代码进行编译达到保护代码的目的,经过编译后的代码必须运行在安装了

eaccelerator的环境下。eaccelerator编译后的代码不能被反编译,它不象其他一

些编译工具那样可以进行反编译,这将使得代码更加安全和高效。
注意:在共享内存里面寻找编译好的php程序时,会在很短的时间内产生一些锁定,

所以一个程序可以被多个进程同时执行。不适合放入共享内存的文件将被缓存到硬

盘上

eaccelerator安装配置

1、支持平台
由于aaccelerator提供了大部分基于共享内存的api,所以在*nix的平台上将得到更

好的支持,虽然也发布了基于windows平台的binary版本,但我在这里就只提供基于

*nix平台的配置和说明,目前可以支持的平台包括linux, freebsd, openbsd, mac

os x, solaris, aix en hp-ux。

2、系统要求
php4 or php5
autoconf
automake
libtool
m4
eaccelerator 只支持使用 mod_php 或者 fastcgi mode 安装的php

3、安装
先去eaccelerator官方下载最新版的源码包:

#tar -zxvf ./eaccelerator-0.9.5-beta2.tar.bz2
#cd eaccelerator-0.9.5-beta2
#export php_prefix="/usr/local" (把php安装目录导入到环境变量,freebsd默

认是/usr/local)
#$php_prefix/bin/phpize
#./configure --enable-eaccelerator=shared --with-php-

config=$php_prefix/bin/php-config
#make
#make install
4、ini文件配置
安装完成,下面开始配置php.ini文件,eaccelerator提供了两种配置和调用方式,

分别如下。

安装为 zend extension 模式:

zend_extension="/usr/local/lib/php/20050922/eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "/var/log/httpd/eaccelerator_log"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
如果你使用了thread safe模式安装的php,你必须使用 “zend_extension_ts” 替

换第一行的 “zend_extension”.

安装为 php extension 模式:(这是大部分采用的方式)

extension="eaccelerator.so"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "/var/log/httpd/eaccelerator_log"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
有关php.ini文件的详细配置说明,请参照源码目录的readme文档或者访问官方文档

完成安装配置后,我们最后要创建缓存目录

#mkdir /tmp/eaccelerator
#chmod 777 /tmp/eaccelerator

测试

php代码中使用eaccelerator加速

下面有一个测试的代码,你可以测试一下eaccelerator强大的威力:(该代码在

cli 模式下可能无效)

<?php
class test_cache {
  var $pro = 'hello';
 
  function test_cache() {
    echo "object created!<br>/n";
  }
  function func() {
    echo ', the world!';
  }
  function now($t) {
    echo date('y-m-d h:i:s', $t);
  }
}
 
$tt = eaccelerator_get("test_tt");
if (!$tt)
{
  $tt = new test_cache;
  eaccelerator_put("test_tt", $tt);
  echo "no cached!<br>/n";
}
else {
  echo "cached<br>/n";
}
 
echo $tt->pro;
$tt->func();
$tt->now(time() + 86400);
?>

[!--infotagslink--]

相关文章

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

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

    今天小编就为大家分享一篇解决Pycharm的项目目录突然消失的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-04-22
  • 删除条目时弹出的确认对话框

    复制代码 代码如下: <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遍历json的key和value的实例

    下面小编就为大家带来一篇js遍历json的key和value的实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-01-26
  • php跨网站请求伪造与防止伪造方法

    伪造跨站请求介绍伪造跨站请求比较难以防范,而且危害巨大,攻击者可以通过这种方式恶作剧,发spam信息,删除数据等等。...2013-10-01
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • Centos中彻底删除Mysql(rpm、yum安装的情况)

    我用的centos6,mysql让我整出了各种问题,我想重装一个全新的mysql,yum remove mysql-server mysql之后再install并不能得到一个干净的mysql,原来的/etc/my.cnf依然没变,datadir里面的数据已没有任何变化,手动删除/etc/my.cn...2015-03-15
  • MyBatis-Plus的物理删除和逻辑删除(使用场景)

    数据库中的数据删除会分为两种:物理删除 和 逻辑删除,接下来通过本文给大家介绍MyBatis-Plus的物理删除和逻辑删除使用场景分析,感兴趣的朋友一起看看吧...2021-09-25
  • docker 启动elasticsearch镜像,挂载目录后报错的解决

    这篇文章主要介绍了docker 启动 elasticsearch镜像,挂载目录后报错的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-20
  • idea out目录与target目录的区别详解

    这篇文章主要介绍了idea out目录与target目录的区别详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-08
  • c# 遍历 Dictionary的四种方式

    这篇文章主要介绍了c# 遍历 Dictionary的四种方式,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2020-12-08
  • C#获得程序的根目录以及判断文件是否存在的实例讲解

    今天小编大家分享一篇C#获得程序的根目录以及判断文件是否存在的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-06-25
  • JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍

    下面小编就为大家带来一篇JavaScript中的数组遍历forEach()与map()方法以及兼容写法介绍。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-05-20
  • C# 遍历datatable字段名和value的案例

    这篇文章主要介绍了C# 遍历datatable字段名和value的案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-19
  • jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结

    借助jQuery我们可以轻松地堆DOM元素进行向上、向下遍历以及同级的遍历,本文我们即来整理jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结:...2016-07-25
  • jquery对Json的各种遍历方法总结(必看篇)

    下面就为大家带来一篇jquery对Json的各种遍历方法总结(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2016-10-02
  • mybatis-plus getOne和逻辑删除问题详解

    这篇文章主要介绍了mybatis-plus getOne和逻辑删除,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-08-26
  • 利用Node.js获取项目根目录的小技巧

    这篇文章介绍的是一个小技巧来获取node.js项目根目录,这个技巧非常实用。有需要的朋友们可以参考借鉴,下面来一起看看吧。...2016-10-02
  • PHP递归创建多级目录

    我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){    if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个“父目录不存...2015-11-08
  • C# 复制与删除文件的实现方法

    这篇文章主要介绍了C# 复制与删除文件的实现方法的相关资料,希望通过本文能帮助到大家,让大家理解掌握这部分内容,需要的朋友可以参考下...2020-06-25