欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP文件及文件夾操作之創(chuàng)建、刪除、移動(dòng)、復(fù)制

 更新時(shí)間:2016年07月13日 09:10:51   作者:2778085001  
這篇文章主要介紹了PHP文件及文件夾操作之創(chuàng)建、刪除、移動(dòng)、復(fù)制的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下

創(chuàng)建FileUtil.php文件,內(nèi)容及調(diào)用方式如下:

<?php
/**
* 操縱文件類
* 
* 例子:
* FileUtil::createDir('a/1/2/3'); 測(cè)試建立文件夾 建一個(gè)a/1/2/3文件夾
* FileUtil::createFile('b/1/2/3'); 測(cè)試建立文件 在b/1/2/文件夾下面建一個(gè)3文件
* FileUtil::createFile('b/1/2/3.exe'); 測(cè)試建立文件 在b/1/2/文件夾下面建一個(gè)3.exe文件
* FileUtil::copyDir('b','d/e'); 測(cè)試復(fù)制文件夾 建立一個(gè)d/e文件夾,把b文件夾下的內(nèi)容復(fù)制進(jìn)去
* FileUtil::copyFile('b/1/2/3.exe','b/b/3.exe'); 測(cè)試復(fù)制文件 建立一個(gè)b/b文件夾,并把b/1/2文件夾中的3.exe文件復(fù)制進(jìn)去
* FileUtil::moveDir('a/','b/c'); 測(cè)試移動(dòng)文件夾 建立一個(gè)b/c文件夾,并把a(bǔ)文件夾下的內(nèi)容移動(dòng)進(jìn)去,并刪除a文件夾
* FileUtil::moveFile('b/1/2/3.exe','b/d/3.exe'); 測(cè)試移動(dòng)文件 建立一個(gè)b/d文件夾,并把b/1/2中的3.exe移動(dòng)進(jìn)去 
* FileUtil::unlinkFile('b/d/3.exe'); 測(cè)試刪除文件 刪除b/d/3.exe文件
* FileUtil::unlinkDir('d'); 測(cè)試刪除文件夾 刪除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;
}
/**
* 移動(dòng)文件夾
*
* @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);
}
/**
* 移動(dòng)文件
*
* @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;
}
}
/**
* 復(fù)制文件夾
*
* @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);
}
/**
* 復(fù)制文件
*
* @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;
}
}
?>

另一種調(diào)用方式:

$fu = new FileUtil();
$fu->copyFile('a/1/2/3', 'a/1/2/4');

以上所述是小編給大家介紹的PHP文件及文件夾操作之創(chuàng)建、刪除、移動(dòng)、復(fù)制,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • PHP開發(fā)微信支付的代碼分享

    PHP開發(fā)微信支付的代碼分享

    最近一直在研究微信,不研究不知道,一研究下一跳啊,微信真的可以做太多事情了,先來看下微信支付的開發(fā)心得吧,以后會(huì)慢慢補(bǔ)全其他方面的開發(fā)代碼
    2014-05-05
  • Laravel使用Queue隊(duì)列的技巧匯總

    Laravel使用Queue隊(duì)列的技巧匯總

    這篇文章主要給大家介紹了關(guān)于Laravel使用Queue隊(duì)列技巧的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • PHP通過API獲取手機(jī)號(hào)碼歸屬地

    PHP通過API獲取手機(jī)號(hào)碼歸屬地

    本API支持1、可輸入11位手機(jī)號(hào)查詢歸屬地如:13858861234,2、可輸入7位號(hào)段查詢歸屬地如:1335586,3、支持號(hào)段 13、14、15、17、18,有需要的小伙伴可以參考下。
    2015-05-05
  • PHP上傳圖片類顯示縮略圖功能

    PHP上傳圖片類顯示縮略圖功能

    這篇文章主要介紹了PHP上傳圖片類顯示縮略圖功能的相關(guān)資料,重點(diǎn)強(qiáng)調(diào)下帶有縮鏍圖,但是感覺不全面,后續(xù)還會(huì)繼續(xù)修改,需要的朋友可以參考下
    2016-06-06
  • ThinkPHP分組下自定義標(biāo)簽庫(kù)實(shí)例

    ThinkPHP分組下自定義標(biāo)簽庫(kù)實(shí)例

    這篇文章主要介紹了ThinkPHP分組下自定義標(biāo)簽庫(kù)的方法,以實(shí)例形式講述了自定義標(biāo)簽庫(kù)的具體步驟,非常具有參考借鑒價(jià)值,需要的朋友可以參考下
    2014-11-11
  • Smarty模板配置實(shí)例簡(jiǎn)析

    Smarty模板配置實(shí)例簡(jiǎn)析

    這篇文章主要介紹了Smarty模板配置,結(jié)合實(shí)例形式簡(jiǎn)單分析了Smarty模板的功能、基本配置方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-07-07
  • Symfony2之session與cookie用法小結(jié)

    Symfony2之session與cookie用法小結(jié)

    這篇文章主要介紹了Symfony2之session與cookie用法,結(jié)合實(shí)例形式總結(jié)分析了Symfony框架針對(duì)session與cookie的設(shè)置、獲取及刪除等操作的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2016-03-03
  • PHP輸出日歷表代碼實(shí)例

    PHP輸出日歷表代碼實(shí)例

    這篇文章主要介紹了PHP輸出日歷表代碼實(shí)例,本文直接給出代碼實(shí)例,需要的朋友可以參考下
    2015-03-03
  • destoon安全設(shè)置中需要設(shè)置可寫權(quán)限的目錄及文件

    destoon安全設(shè)置中需要設(shè)置可寫權(quán)限的目錄及文件

    這篇文章主要介紹了destoon安全設(shè)置中需要設(shè)置可寫權(quán)限的目錄及文件,對(duì)于安全設(shè)置非常重要!需要的朋友可以參考下
    2014-06-06
  • php計(jì)算幾分鐘前、幾小時(shí)前、幾天前的幾個(gè)函數(shù)、類分享

    php計(jì)算幾分鐘前、幾小時(shí)前、幾天前的幾個(gè)函數(shù)、類分享

    這篇文章主要介紹了php計(jì)算時(shí)間幾分鐘前、幾小時(shí)前、幾天前的幾個(gè)函數(shù)、類分享,需要的朋友可以參考下
    2014-04-04

最新評(píng)論