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程序设计有所帮助。

(0)

相关推荐

  • php写入、删除与复制文件的方法

    本文实例讲述了php写入.删除与复制文件的方法.分享给大家供大家参考.具体如下: 1. 写入: <?php $filename = "Test//file.txt"; $file = fopen($filename, "w"); //以写模式打开文件 fwrite($file, "Hello, world!/n"); //写入第一行 fwrite($file, "This is a test!/n"); //写入第二行

  • PHP文件及文件夹操作之创建、删除、移动、复制

    创建FileUtil.php文件,内容及调用方式如下: <?php /** * 操纵文件类 * * 例子: * FileUtil::createDir('a/1/2/3'); 测试建立文件夹 建一个a/1/2/3文件夹 * FileUtil::createFile('b/1/2/3'); 测试建立文件 在b/1/2/文件夹下面建一个3文件 * FileUtil::createFile('b/1/2/3.exe'); 测试建立文件 在b/1/2/文件夹下面建一个3.exe文件 * FileUtil

  • PHP实现递归复制整个文件夹的类实例

    本文实例讲述了PHP实现递归复制整个文件夹的类.分享给大家供大家参考.具体如下: <?php /* * 文件夹复制类 */ class CopyFile { public $fromFile; public $toFile; /* * $fromFile 要复制谁 * $toFile 复制到那 */ function copyFile($fromFile,$toFile){ $this->CreateFolder($toFile); $folder1=opendir($fromFile); w

  • php不使用copy()函数复制文件的方法

    本文实例讲述了php不使用copy()函数复制文件的方法.分享给大家供大家参考.具体如下: 下面的代码不使用php内置的copy函数,直接通过文件读取写入的操作方式复制文件 <?php function copyfiles($file1,$file2){ $contentx =@file_get_contents($file1); $openedfile = fopen($file2, "w"); fwrite($openedfile, $contentx); fclose($o

  • PHP中的浅复制与深复制的实例详解

    PHP中的浅复制与深复制的实例详解 前言: 最近温习了一下Design Pattern方面的知识,在看到Prototype Pattern这一设计模式时,注意到其中涉及到一个浅复制与深复制的问题.这里来总结一下,提醒自己以后一定要多加注意. 自PHP5起,new运算符自动返回一个引用,一个 对象变量 已经不再保存整个对象的值,只是保存一个标识符来访问真正的对象内容.当对象作为参数传递,作为结果返回,或者赋值给另外一个变量,另外一个变量跟原来的不是引用的关系,只是他们都保存着同一个标识符的拷贝,这

  • php删除与复制文件夹及其文件夹下所有文件的实现代码

    复制代码 代码如下: <?php  /*复制xCopy函数用法:      *   xCopy("feiy","feiy2",1):拷贝feiy下的文件到   feiy2,包括子目录      *   xCopy("feiy","feiy2",0):拷贝feiy下的文件到   feiy2,不包括子目录      *参数说明:      *   $source:源目录名      *   $destination:目的目录

  • php简单复制文件的方法

    本文实例讲述了php简单复制文件的方法.分享给大家供大家参考,具体如下: <?php /** *author:果冻 *qq:52091199 *wyg517.blog.163.com **/ $file = 'image/a1.jpg'; $newfile = 'a/123.jpg'; //必须有写入权限 if (file_exists($file) == false) { die ('文件不在,无法复制'); } $result = copy($file, $newfile); if ($re

  • php实现复制移动文件的方法

    本文实例讲述了php实现复制移动文件的方法.分享给大家供大家参考.具体如下: 仿写elFinder的,抽出关键的成员方法做的一个简单示例 实现功能是: 实现多文件复制或移动操作 注:为了方便测试,对一些判断做了简单处理.并且会在程序文件所在目录下 新生成一个test文件夹作为目的文件夹.如果实际使用需要修改.       copy.php文件如下: <?php /** * 复制/移动操作简单示例 : >PHP5 * */ /** * 判断文件是否存在 * */ function _isFin

  • 用BAT创建文件夹文件及回显环境变量的问题

    1.创建文件夹:md md my_xmlrpc 新建文件夹my_xmlrpc echo=>1.txt 新建文件1.txt echo "this" >> 1.txt 将this追加到1.txt之后 del 1.txt 删除文件1.txt rd my_xmlrpc 删除文件夹my_xmlrpc log.txt中的内容是: this is the end. this is the second end. 2.查看环境变量 在Linux中查看环境变量是: echo $PATH

  • 详解C#压缩、解压文件夹/文件(带密码)

    前言 今天梳理一下项目中用到的压缩.解压文件夹或文件的方法,发现因为需求不同,已经用了好几个不同组件.今天就好好整理记录下,别下次遇到需求又重头开始了. DotNetZip DotNetZip是一个开源的免费类库,主要提供了快速操作zip文件的工具集,VB.C#任何.Net语言都可以通过它创建.解压缩zip文件.我使用该类库最主要的目的还是因为它可以创建带密码保护的压缩文件. 只有设置了zip.Password = "password"之后,被压缩的文件才会有密码保护 /// <

  • Nodejs实现多文件夹文件同步

    本文实例为大家分享了Nodejs实现多文件夹文件同步的具体代码,供大家参考,具体内容如下 package.json { "name": "asyncFile", "version": "0.0.1", "dependencies":{ "fs-sync":"", "later":"" } } asycnFile.js var f

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

    学习了PHP的文件编程,其中PHP自身提供了复制文件的函数(copy).自己也写了一个功能差不多的复制图片的函数,以此在这里记录一下. 在说该函数之前,先介绍一下使用PHP创建/删除文件夹.文件等知识. 1.创建文件夹 <?php //使用 file_exists("d:/mydir") 或 is_dir("d:/mydir")判断该文件夹是否存在 if(!file_exists("d:/mydir")) { if(mkdir("

  • bat批处理实现的创建10个文件夹,文件夹再包含5个空文件夹

    复制代码 代码如下: @echo off for /l %%i in (1,1,10) do ( for /l %%j in (1,1,5) do md %%i\%%j 2>nul ) pause 最后的那个 " 2>nul"注意就是屏蔽错误信息--如果存在同名文件夹的话,将不会显示出错信息.

  • PHP递归实现文件夹的复制、删除、查看大小操作示例

    本文实例讲述了PHP递归实现文件夹的复制.删除.查看大小操作.分享给大家供大家参考,具体如下: PHP虽然提供了 filesize.copy.unlink 等文件操作的函数,但是没有提供 dirsize.copydir.rmdirs 等文件夹操作的函数(rmdir也只能删除空目录).所以只能手动编写这些函数,主要的技巧是通过递归将问题逐层分解,直到分解成可以直接解决的最小子问题. 查看文件夹大小 由于文件夹是没有大小的,平常所说的文件夹尺寸准确的说应该是文件夹中所有文件的总大小.所以只需要将文件

  • java实现文件复制、剪切文件和删除示例

    复制代码 代码如下: import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException; /** * Java实现文件复制.剪切.删除操作 * 文件指文件或文件夹 * 文件分割符统一用"\\" */ public class FileOperateDemo { /**     * 复制文件或文件夹     * @param srcPa

  • 自动删除超过10天的文件及文件夹的vbs代码

    复制代码 代码如下: option explicit dim fpath,fso,logfile,fwrite fpath=inputbox ("输入目标文件夹","文件处理器") logfile="logfile.txt" set fso=createobject("scripting.filesystemobject") Set fwrite=fso.opentextfile(logfile,8,true) getfile

  • linux服务器下完美解决无法删除虚拟主机文件或文件夹

    FTP工具软件会提示Permission Denied(没有权限),或者 550删除目录操作失败.今天小残在操作FTP的时候就出现了这种问题. 出现的原因一般都是这些目录或文件是PHP程序以管理员用户写入的,而一般虚拟主机的用户名下的用户又没有管理员用户组的权限,因此无法删除. 大家在使用Linux的虚拟主机时候有没有出现过通过FTP无法删除网站路径中的一些文件夹和文件 我们可以把下面这个PHP代码放到对应的虚拟主机的空间上运行,按提示输入文件夹或文件名即可.(注意这里最好使用相对路径.) <?

  • Node.js之删除文件夹(含递归删除)代码实例

    应用场景:比如像Eclipse这样的IDE,右击项目,出现选项,点击选项中的删除,就可以删除这个项目及其下的子目录包含文件(使用electron开发的桌面端项目多少都会用到). 核心代码如下: /** * * @param {*} url */ function deleteFolderRecursive(url) { var files = []; /** * 判断给定的路径是否存在 */ if (fs.existsSync(url)) { /** * 返回文件和子目录的数组 */ files

随机推荐