日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php简单实用的操作文件工具类(创建、移动、复制、删除)

發(fā)布時間:2023/12/31 php 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php简单实用的操作文件工具类(创建、移动、复制、删除) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
php簡單實用好用的文件及文件夾復制函數(shù)和工具類(創(chuàng)建、移動、復制、刪除)
  • function?recurse_copy($src,$dst)?{??//?原目錄,復制到的目錄
  • ????????$dir?=?opendir($src);
  • ????????@mkdir($dst);
  • ????????while(false?!==?(?$file?=?readdir($dir))?)?{
  • ????????????if?((?$file?!=?'.'?)?&&?(?$file?!=?'..'?))?{
  • ????????????????if?(?is_dir($src?.?'/'?.?$file)?)?{
  • ????????????????????recurse_copy($src?.?'/'?.?$file,$dst?.?'/'?.?$file);
  • ????????????????}
  • ????????????????else?{
  • ????????????????????copy($src?.?'/'?.?$file,$dst?.?'/'?.?$file);
  • ????????????????}
  • ????????????}
  • ????????}
  • ????????closedir($dir);
  • ????}
  • ????echo?recurse_copy("原文件夾","目錄文件夾");
  • 復制

    還有更流弊的工具類:

  • <?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::copyDir('b','d/e');????????????????????測試復制文件夾?建立一個d/e文件夾,把b文件夾下的內(nèi)容復制進去
  • ?*?FileUtil::copyFile('b/1/2/3.exe','b/b/3.exe');?測試復制文件????????建立一個b/b文件夾,并把b/1/2文件夾中的3.exe文件復制進去
  • ?*?FileUtil::moveDir('a/','b/c');????????????????????測試移動文件夾?建立一個b/c文件夾,并把a文件夾下的內(nèi)容移動進去,并刪除a文件夾
  • ?*?FileUtil::moveFile('b/1/2/3.exe','b/d/3.exe');?測試移動文件????????建立一個b/d文件夾,并把b/1/2中的3.exe移動進去???????????????????
  • ?*?FileUtil::unlinkFile('b/d/3.exe');?????????????測試刪除文件????????刪除b/d/3.exe文件
  • ?*?FileUtil::unlinkDir('d');??????????????????????測試刪除文件夾?刪除d文件夾
  • ?*/
  • class?FileUtil?{
  • ?
  • ????/**
  • ?????*?建立文件夾
  • ?????*
  • ?????*?@param?string?$aimUrl
  • ?????*?@return?viod
  • ?????*/
  • ????function?createDir($aimUrl)?{
  • ????????$aimUrl?=?str_replace('',?'/',?$aimUrl);
  • ????????$aimDir?=?'';
  • ????????$arr?=?explode('/',?$aimUrl);
  • ????????$result?=?true;
  • ????????foreach?($arr?as?$str)?{
  • ????????????$aimDir?.=?$str?.?'/';
  • ????????????if?(!file_exists($aimDir))?{
  • ????????????????$result?=?mkdir($aimDir);
  • ????????????}
  • ????????}
  • ????????return?$result;
  • ????}
  • ?
  • ????/**
  • ?????*?建立文件
  • ?????*
  • ?????*?@param?string?$aimUrl?
  • ?????*?@param?boolean?$overWrite?該參數(shù)控制是否覆蓋原文件
  • ?????*?@return?boolean
  • ?????*/
  • ????function?createFile($aimUrl,?$overWrite?=?false)?{
  • ????????if?(file_exists($aimUrl)?&&?$overWrite?==?false)?{
  • ????????????return?false;
  • ????????}?elseif?(file_exists($aimUrl)?&&?$overWrite?==?true)?{
  • ????????????FileUtil?::?unlinkFile($aimUrl);
  • ????????}
  • ????????$aimDir?=?dirname($aimUrl);
  • ????????FileUtil?::?createDir($aimDir);
  • ????????touch($aimUrl);
  • ????????return?true;
  • ????}
  • ?
  • ????/**
  • ?????*?移動文件夾
  • ?????*
  • ?????*?@param?string?$oldDir
  • ?????*?@param?string?$aimDir
  • ?????*?@param?boolean?$overWrite?該參數(shù)控制是否覆蓋原文件
  • ?????*?@return?boolean
  • ?????*/
  • ????function?moveDir($oldDir,?$aimDir,?$overWrite?=?false)?{
  • ????????$aimDir?=?str_replace('',?'/',?$aimDir);
  • ????????$aimDir?=?substr($aimDir,?-1)?==?'/'???$aimDir?:?$aimDir?.?'/';
  • ????????$oldDir?=?str_replace('',?'/',?$oldDir);
  • ????????$oldDir?=?substr($oldDir,?-1)?==?'/'???$oldDir?:?$oldDir?.?'/';
  • ????????if?(!is_dir($oldDir))?{
  • ????????????return?false;
  • ????????}
  • ????????if?(!file_exists($aimDir))?{
  • ????????????FileUtil?::?createDir($aimDir);
  • ????????}
  • ????????@?$dirHandle?=?opendir($oldDir);
  • ????????if?(!$dirHandle)?{
  • ????????????return?false;
  • ????????}
  • ????????while?(false?!==?($file?=?readdir($dirHandle)))?{
  • ????????????if?($file?==?'.'?||?$file?==?'..')?{
  • ????????????????continue;
  • ????????????}
  • ????????????if?(!is_dir($oldDir?.?$file))?{
  • ????????????????FileUtil?::?moveFile($oldDir?.?$file,?$aimDir?.?$file,?$overWrite);
  • ????????????}?else?{
  • ????????????????FileUtil?::?moveDir($oldDir?.?$file,?$aimDir?.?$file,?$overWrite);
  • ????????????}
  • ????????}
  • ????????closedir($dirHandle);
  • ????????return?rmdir($oldDir);
  • ????}
  • ?
  • ????/**
  • ?????*?移動文件
  • ?????*
  • ?????*?@param?string?$fileUrl
  • ?????*?@param?string?$aimUrl
  • ?????*?@param?boolean?$overWrite?該參數(shù)控制是否覆蓋原文件
  • ?????*?@return?boolean
  • ?????*/
  • ????function?moveFile($fileUrl,?$aimUrl,?$overWrite?=?false)?{
  • ????????if?(!file_exists($fileUrl))?{
  • ????????????return?false;
  • ????????}
  • ????????if?(file_exists($aimUrl)?&&?$overWrite?=?false)?{
  • ????????????return?false;
  • ????????}?elseif?(file_exists($aimUrl)?&&?$overWrite?=?true)?{
  • ????????????FileUtil?::?unlinkFile($aimUrl);
  • ????????}
  • ????????$aimDir?=?dirname($aimUrl);
  • ????????FileUtil?::?createDir($aimDir);
  • ????????rename($fileUrl,?$aimUrl);
  • ????????return?true;
  • ????}
  • ?
  • ????/**
  • ?????*?刪除文件夾
  • ?????*
  • ?????*?@param?string?$aimDir
  • ?????*?@return?boolean
  • ?????*/
  • ????function?unlinkDir($aimDir)?{
  • ????????$aimDir?=?str_replace('',?'/',?$aimDir);
  • ????????$aimDir?=?substr($aimDir,?-1)?==?'/'???$aimDir?:?$aimDir?.?'/';
  • ????????if?(!is_dir($aimDir))?{
  • ????????????return?false;
  • ????????}
  • ????????$dirHandle?=?opendir($aimDir);
  • ????????while?(false?!==?($file?=?readdir($dirHandle)))?{
  • ????????????if?($file?==?'.'?||?$file?==?'..')?{
  • ????????????????continue;
  • ????????????}
  • ????????????if?(!is_dir($aimDir?.?$file))?{
  • ????????????????FileUtil?::?unlinkFile($aimDir?.?$file);
  • ????????????}?else?{
  • ????????????????FileUtil?::?unlinkDir($aimDir?.?$file);
  • ????????????}
  • ????????}
  • ????????closedir($dirHandle);
  • ????????return?rmdir($aimDir);
  • ????}
  • ?
  • ????/**
  • ?????*?刪除文件
  • ?????*
  • ?????*?@param?string?$aimUrl
  • ?????*?@return?boolean
  • ?????*/
  • ????function?unlinkFile($aimUrl)?{
  • ????????if?(file_exists($aimUrl))?{
  • ????????????unlink($aimUrl);
  • ????????????return?true;
  • ????????}?else?{
  • ????????????return?false;
  • ????????}
  • ????}
  • ?
  • ????/**
  • ?????*?復制文件夾
  • ?????*
  • ?????*?@param?string?$oldDir
  • ?????*?@param?string?$aimDir
  • ?????*?@param?boolean?$overWrite?該參數(shù)控制是否覆蓋原文件
  • ?????*?@return?boolean
  • ?????*/
  • ????function?copyDir($oldDir,?$aimDir,?$overWrite?=?false)?{
  • ????????$aimDir?=?str_replace('',?'/',?$aimDir);
  • ????????$aimDir?=?substr($aimDir,?-1)?==?'/'???$aimDir?:?$aimDir?.?'/';
  • ????????$oldDir?=?str_replace('',?'/',?$oldDir);
  • ????????$oldDir?=?substr($oldDir,?-1)?==?'/'???$oldDir?:?$oldDir?.?'/';
  • ????????if?(!is_dir($oldDir))?{
  • ????????????return?false;
  • ????????}
  • ????????if?(!file_exists($aimDir))?{
  • ????????????FileUtil?::?createDir($aimDir);
  • ????????}
  • ????????$dirHandle?=?opendir($oldDir);
  • ????????while?(false?!==?($file?=?readdir($dirHandle)))?{
  • ????????????if?($file?==?'.'?||?$file?==?'..')?{
  • ????????????????continue;
  • ????????????}
  • ????????????if?(!is_dir($oldDir?.?$file))?{
  • ????????????????FileUtil?::?copyFile($oldDir?.?$file,?$aimDir?.?$file,?$overWrite);
  • ????????????}?else?{
  • ????????????????FileUtil?::?copyDir($oldDir?.?$file,?$aimDir?.?$file,?$overWrite);
  • ????????????}
  • ????????}
  • ????????return?closedir($dirHandle);
  • ????}
  • ?
  • ????/**
  • ?????*?復制文件
  • ?????*
  • ?????*?@param?string?$fileUrl
  • ?????*?@param?string?$aimUrl
  • ?????*?@param?boolean?$overWrite?該參數(shù)控制是否覆蓋原文件
  • ?????*?@return?boolean
  • ?????*/
  • ????function?copyFile($fileUrl,?$aimUrl,?$overWrite?=?false)?{
  • ????????if?(!file_exists($fileUrl))?{
  • ????????????return?false;
  • ????????}
  • ????????if?(file_exists($aimUrl)?&&?$overWrite?==?false)?{
  • ????????????return?false;
  • ????????}?elseif?(file_exists($aimUrl)?&&?$overWrite?==?true)?{
  • ????????????FileUtil?::?unlinkFile($aimUrl);
  • ????????}
  • ????????$aimDir?=?dirname($aimUrl);
  • ????????FileUtil?::?createDir($aimDir);
  • ????????copy($fileUrl,?$aimUrl);
  • ????????return?true;
  • ????}
  • ?
  • }
  • ?
  • ?>
  • 總結(jié)

    以上是生活随笔為你收集整理的php简单实用的操作文件工具类(创建、移动、复制、删除)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。