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


Posted in PHP onMay 03, 2016

学习了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 相关文章推荐
JAVA/JSP学习系列之四
Oct 09 PHP
Windows2003 下 MySQL 数据库每天自动备份
Dec 21 PHP
PHP生成网页快照 不用COM不用扩展.
Feb 11 PHP
PHP获取和操作配置文件php.ini的几个函数介绍
Jun 24 PHP
codeigniter实现get分页的方法
Jul 10 PHP
php微信公众平台交互与接口详解
Nov 28 PHP
详解cookie验证的php应用的一种SSO解决办法
Oct 20 PHP
PHP后期静态绑定实例浅析
Dec 21 PHP
php用户名的密码加密更安全的方法
Jun 21 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 PHP
PHP实现简单的计算器
Aug 28 PHP
6个常见的 PHP 安全性攻击实例和阻止方法
Dec 16 PHP
Yii2使用swiftmailer发送邮件的方法
May 03 #PHP
php读取torrent种子文件内容的方法(测试可用)
May 03 #PHP
Yii2 输出xml格式数据的方法
May 03 #PHP
php面向对象值单例模式
May 03 #PHP
php使用ffmpeg获取视频信息并截图的实现方法
May 03 #PHP
Linux环境下php实现给网站截图的方法
May 03 #PHP
PHPExcel笔记, mpdf导出
May 03 #PHP
You might like
php auth_http类库进行身份效验
2009/03/19 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
2014/12/16 PHP
php发送与接收流文件的方法
2015/02/11 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
PHP微信发送推送消息乱码的解决方法
2019/02/28 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
JS实现超简单的鼠标拖动效果
2015/11/02 Javascript
javascript实现获取浏览器版本、浏览器类型
2015/12/02 Javascript
Query常用DIV操作获取和设置长度宽度的实现方法
2016/09/19 Javascript
浅谈Angularjs link和compile的使用区别
2016/10/21 Javascript
Bootstrap select多选下拉框实现代码
2016/12/23 Javascript
20行js代码实现的贪吃蛇小游戏
2017/06/20 Javascript
vue 使用自定义指令实现表单校验的方法
2018/08/28 Javascript
Node.js操作系统OS模块用法分析
2019/01/04 Javascript
[01:04:09]DOTA2-DPC中国联赛 正赛 iG vs VG BO3 第二场 2月2日
2021/03/11 DOTA
Python中的各种装饰器详解
2015/04/11 Python
python如何读写json数据
2018/03/21 Python
python3 实现验证码图片切割的方法
2018/12/07 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
virtualenv介绍及简明教程
2020/06/23 Python
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
营业员演讲稿
2013/12/30 职场文书
植树节活动总结
2014/04/30 职场文书
市场营销专业应届生自荐信
2014/06/19 职场文书
村创先争优活动总结
2014/08/28 职场文书
2016新年年会主持词
2015/07/06 职场文书
2016年优秀少先队员事迹材料
2016/02/26 职场文书
SpringBoot实现异步事件驱动的方法
2021/06/28 Java/Android
Win11 vmware不兼容怎么办?Win11与VMware虚拟机不兼容的解决方法
2023/01/09 数码科技