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 相关文章推荐
php去除头尾空格的2种方法
Mar 16 PHP
PHP扩展程序实现守护进程
Apr 16 PHP
Apache启动报错No space left on device: AH00023该怎么解决
Oct 16 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 PHP
PHP获取文件扩展名的方法实例总结
Jun 10 PHP
PHP CURL与java http使用方法详解
Jan 26 PHP
PHP多线程模拟实现秒杀抢单
Feb 07 PHP
Laravel源码解析之路由的使用和示例详解
Sep 27 PHP
python进程与线程小结实例分析
Nov 11 PHP
CentOS7编译安装php7.1的教程详解
Apr 18 PHP
php文件包含的几种方式总结
Sep 19 PHP
Yii2.0框架behaviors方法使用实例分析
Sep 30 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
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
php 解决旧系统 查出所有数据分页的类
2012/08/27 PHP
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
2013/08/13 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
JavaScript之编码规范 推荐
2012/05/23 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
2016/04/11 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
Move.js入门
2017/02/08 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
详解探索 vuex 2.0 以及使用 vuejs 2.0 + vuex 2.0 构建记事本应用
2017/06/16 Javascript
Avalonjs双向数据绑定与监听的实例代码
2017/06/23 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
JS实现的合并多个数组去重算法示例
2018/04/11 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
Python实现的检测web服务器健康状况的小程序
2014/09/17 Python
详解Python中heapq模块的用法
2016/06/28 Python
Python补齐字符串长度的实例
2018/11/15 Python
wxPython色环电阻计算器
2019/11/18 Python
解决pandas展示数据输出时列名不能对齐的问题
2019/11/18 Python
Python tkinter常用操作代码实例
2020/01/03 Python
Python标准库itertools的使用方法
2020/01/17 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
2020/03/25 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
celery在python爬虫中定时操作实例讲解
2020/11/27 Python
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
会计毕业自我鉴定
2014/02/05 职场文书
创新型城市实施方案
2014/03/06 职场文书