PHP创建/删除/复制文件夹、文件

yipeiwu_com5年前PHP代码库

学习了PHP的文件编程,其中PHP自身提供了复制文件的函数(copy)。自己也写了一个功能差不多的复制图片的函数,以此在这里记录一下。
在说该函数之前,先介绍一下使用PHP创建/删除文件夹、文件等知识。
1.创建文件夹

<?php 
 //使用 file_exists("d:/mydir") 或 is_dir("d:/mydir")判断该文件夹是否存在 
 if(!file_exists("d:/mydir")) { 
  if(mkdir("d:/mydir")) { 
   echo "创建文件夹成功"; 
  }else{ 
   echo "创建文件夹失败"; 
  } 
 } else { 
  echo "该文件夹已存在"; 
 } 
?> 

 2.创建多级目录(上面所说的,只能创建一级目录)

<?php 
 //使用 file_exists("d:/mydir") 或 is_dir("d:/mydir")判断该文件夹是否存在 
 $path="d:/mydir/p/h/p/test"; 
 if(!file_exists($path)) { 
  if(mkdir($path,0777,true)) { 
   echo "创建文件夹成功"; 
  }else{ 
   echo "创建文件夹失败"; 
  } 
 } else { 
  echo "该文件夹已存在"; 
 } 
?> 

3.删除文件夹

<?php 
 //如果文件夹下有文件,或者目录,均不能删除成功 
 if(rmdir("d:/mydir/p/h/p/test")) { 
  echo "删除文件夹成功"; 
 } else { 
  echo "删除文件夹成功"; 
 } 
?> 

 4.文件的创建

<?php 
 //在d:/mydir目录下,创建一个文件并写入hello 
 $file_path="d:/mydir2/test.txt"; 
 $fp=fopen($file_path,"w+"); 
  
 fwrite($fp,"hello,world"); 
 fclose($fp); 
 echo "文件写入成功"; 
?>

 5.删除文件

<?php 
 $file_path="d:/mydir2/test.txt"; 
 if(is_file($file_path)) { 
  if(unlink($file_path)) { 
   echo "删除成功"; 
  } else { 
   echo "删除失败"; 
  } 
 } else { 
  echo "文件不存在"; 
 } 
?> 

复制文件的函数:

<?php 
 //PHP自身提供的copy文件函数:应用拷贝图片 
 //copy("来源","地点") 
 //$file_path=iconv("utf-8","gb2312","含中文路径"); 
 //将utf-8编码转为gb2312码 
 /*if(!copy("C:\\bh.PNG","D:\\bh2.png")) { 
  echo 'error'; 
 } else { 
  echo 'ok'; 
 }*/ 
 
 
 //自制拷贝文件的函数 
 function myCopyFunc($res, $des) { 
  if(file_exists($res)) { 
   $r_fp=fopen($res,"r"); 
    
   //定位 
   $pos=strripos($des,"\\"); 
   $dir=substr($des,0,$pos); 
   if(!file_exists($dir)) { 
    //可创建多级目录 
    mkdir($dir,0777,true); 
    echo "创建目录成功<br/>"; 
   } 
 
   $d_fp=fopen($des,"w+"); 
   //$fres=fread($r_fp,filesize($res)); 
 
   //边读边写 
   $buffer=1024; 
   $fres=""; 
   while(!feof($r_fp)) { 
    $fres=fread($r_fp,$buffer); 
    fwrite($d_fp,$fres); 
   } 
 
   fclose($r_fp); 
   fclose($d_fp); 
 
   echo "复制成功"; 
  } else { 
   echo "源文件不存在"; 
  } 
 } 
 
 myCopyFunc("C:\\bh.PNG","D:\\PHPTest\\test\bh2.PNG"); 
 //myCopyFunc("C:\\bh.PNG","D:\\bh.PNG"); 
?> 

以上代码包含PHP文件编程中的文件读取与写入功能,希望对大家学习php程序设计有所帮助。

相关文章

最令PHP初学者们头痛的十四个问题

【1】页面之间无法传递变量 get,post,session在最新的PHP版本中自动全局变量是关闭的,所以要从上一页面取得提交过来得变量要使用$_GET['foo'],$_PO...

php加速器eAccelerator的配置参数、API详解

它还能够对脚本进行优化以便加速它们的执行速度。利用eAccelerator可以减少服务器的负载并提高PHP代码的执行时间。 eAccelerator配置选项:复制代码 代码如下:zend...

PHP设计模式 注册表模式(多个类的注册)

以前我也写过一个注册表类,不过那一个不能进行多个类的注册,下面用数组对类进行了存储。 复制代码 代码如下: <?php //基础类 class webSite {//一个非常简单的...

Ajax+PHP 边学边练之四 表单

Ajax+PHP 边学边练之四 表单

谈到Form就涉及到一个发送请求方式问题(GET和POST),对于GET和POST的使用和区别在本文就不详细说明了,一般对于Web开发由于POST传值为隐式且传输数据量较大所以比较常用。...

ThinkPHP like模糊查询,like多匹配查询,between查询,in查询,一般查询书写方法

ThinkPHP的数据库条件查询语句有字符串式,数组式书写方法 字符串式即是原生式,数组式查询语句因书写方式与特定字符的原因比较复杂,下面为大家例出了常用的ThinkPHP数组式查询语句...