当前位置:首页 > 日记 > 正文

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

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.webp")) {   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程序设计有所帮助。

相关文章

深入理解AngularJs-scope的脏检查(一

深入理解AngularJs-scope的脏检查(一

检查,电脑软件,AngularJs,scope,进入正文前的说明:本文中的示例代码并非AngularJs源码,而是来自书籍<<Build Your Own AngularJs>>, 这本书的作者仅依赖jquery和lodash一步一步构建出AngularJs的各核心模块,对全面理解AngularJs有非常巨大的帮…

AI三步制作超漂亮的悖反空间效果

AI三步制作超漂亮的悖反空间效果

空间,三步,效果,漂亮,电脑软件,这篇教程教的AI学习者们使用AI快速三步制作悖反空间效果,所以悖反空间其实就是不同透视角度物体的重合。这样制作出来的效果会更加吸引人的眼球和引发人们细看的兴趣。好了,我们先来看看最终的效果图:具体的制作…

详解PHP防止直接访问.php 文件的实

详解PHP防止直接访问.php 文件的实

文件,方法,直接访问,详解,电脑软件,详解PHP防止直接访问.php 文件的实现方法为了保证我们用 PHP 写的 API 的安全性要禁止除了接口外的访问方式.比如我们的项目为 example, 其下有文件夹 dir1、有个接口文件 api.php. 结构为: 输入图片说明…

微信小程序 生命周期函数详解

微信小程序 生命周期函数详解

周期函数,详解,生命,程序,电脑软件,微信小程序 生命周期函数小程序中 判断当前首页是从其他页面返回,还是由入口打开由于小程序的数据在我们退出小程序时并没有得到释放,因此再次点击开来数据依然没有变成初始化 解决方法:在小程序 data 数据…

2017扣扣个性签名搞笑的

2017扣扣个性签名搞笑的

个性签名,搞笑,最新版,热门,经典,  2017年扣扣个性签名档,有哪些搞笑的话语呢?下面是小编给大家带来的扣扣个性签名搞笑的,希望你喜欢。2017扣扣个性签名搞笑的【经典版】1) 能不打就别打,一旦打起来,就给我死命磕2) 我可以爱你爱到撕心裂肺,…

fireworks简单几步制作layer

fireworks简单几步制作layer

几步,简单,电脑软件,fireworks,layer,在使用fireworks的时候,想要使用fireworks做layer,如何制作呢?下面讲解具体的制作方法!最终效果:步骤:1、先打开ps&ldquo;文件&rdquo;&rarr;&rdquo;新建&rdquo;,然后点击工具栏的&ldquo;椭圆选框工具&rdquo;2…

在wps2016表格中内容如何快速填充

在wps2016表格中内容如何快速填充

填充,表格,快速,内容,电脑软件,  在WPS2016表格内容快速填充,好像和Excel的快速填充有点不一样了,那么如果你不知道如何表格内容快速填充,可以学习一下。以下是小编为您带来的关于wps2016表格内容快速填充,希望对您有所帮助。wps2016表格内容…

怎么把ppt转换成视频

怎么把ppt转换成视频

转换成,视频,电脑软件,ppt,在我们使用PPT2013时, 怎么把ppt转换成视频?下面小编教你一招最简单实用的方法,希望对大家有所帮助。PPT 2013怎么把ppt转换成视频1、首先 ,使用ppt2013打开你要转化的ppt文件,点击右上角的&ldquo;文件&rdquo;选项,如…

如何在Excel中设置单元格只能输入

如何在Excel中设置单元格只能输入

输入,设置,单元格,如何在,电脑软件,如何能让输入的单元格只能输入正值?正值就是大于0的数据吗?是只能输入数值?经过确认后,希望能限制单元格只能输入数值,而且是正数。Excel果然是强大的,这种问题分分钟搞定。与大家分享一下。场景:适合公司人…

详解vue父子组件间传值 | props

详解vue父子组件间传值 | props

传值,组件,父子,详解,电脑软件,先定义一个子组件,在组件中注册props<template> <div> <div>{{message}}(子组件)</div> </div></template><script>export default { props: { message: String //定义传值的类型<br> }}</script><s…

位图怎么转换成矢量图

位图怎么转换成矢量图

矢量图,位图,转换成,电脑软件,我们在做设计的过程中,有时候用到的素材是一张尺寸较小的图片,而又找不到更好的图片时,会给设计过程带来不便,如果图片是位图文件,任意放大或者缩小都会模糊不清,要想获得良好的视觉体验,就必须转换成矢量图,那么有哪…

easyui datagrid 表格中操作栏 按

easyui datagrid 表格中操作栏 按

显示,解决方法,操作,表格,按钮图标,jQuery EasyUI动态添加控件或者ajax加载页面后不能自动渲染解决办法:使用解析器Parser(解析器)$.parser.parse(); // 解析所有页面$.parser.parse('#cc'); // 解析指定节点以上这篇easyui datagrid 表格…