最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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'); 測試建立文件夾 建一個(gè)a/1/2/3文件夾
* FileUtil::createFile('b/1/2/3'); 測試建立文件 在b/1/2/文件夾下面建一個(gè)3文件
* FileUtil::createFile('b/1/2/3.exe'); 測試建立文件 在b/1/2/文件夾下面建一個(gè)3.exe文件
* FileUtil::copyDir('b','d/e'); 測試復(fù)制文件夾 建立一個(gè)d/e文件夾,把b文件夾下的內(nèi)容復(fù)制進(jìn)去
* FileUtil::copyFile('b/1/2/3.exe','b/b/3.exe'); 測試復(fù)制文件 建立一個(gè)b/b文件夾,并把b/1/2文件夾中的3.exe文件復(fù)制進(jìn)去
* FileUtil::moveDir('a/','b/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'); 測試移動(dòng)文件 建立一個(gè)b/d文件夾,并把b/1/2中的3.exe移動(dòng)進(jìn)去 
* 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;
}
/**
* 移動(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ù)制,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 再談PHP中單雙引號的區(qū)別詳解

    再談PHP中單雙引號的區(qū)別詳解

    單引號和雙引號到底有啥區(qū)別呢?很多朋友都不太清楚,下面通過本文給大家介紹PHP中單雙引號的區(qū)別詳解,感興趣的朋友一起學(xué)習(xí)吧
    2016-06-06
  • 利用PHP將部分內(nèi)容用星號替換

    利用PHP將部分內(nèi)容用星號替換

    這篇文章利用php實(shí)現(xiàn)了手機(jī)號碼隱藏中間幾位,身份證號碼只顯示末尾4位的需求,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-07-07
  • ThinkPHP3.2框架使用addAll()批量插入數(shù)據(jù)的方法

    ThinkPHP3.2框架使用addAll()批量插入數(shù)據(jù)的方法

    這篇文章主要介紹了ThinkPHP3.2框架使用addAll()批量插入數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了thinkPHP針對單條數(shù)據(jù)插入及批量數(shù)據(jù)插入操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-03-03
  • laravel 框架配置404等異常頁面

    laravel 框架配置404等異常頁面

    這篇文章主要介紹了laravel 框架配置404等異常頁面,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-01-01
  • Codeigniter生成Excel文檔的簡單方法

    Codeigniter生成Excel文檔的簡單方法

    之前看了使用PHPExcel中導(dǎo)出數(shù)據(jù)到Excel文件的方法,但是似乎比較復(fù)雜。icech找到了一個(gè)針對Codeigniter的類:CI-Excel-Generation-Library,使用方法十分簡單。需要的朋友可以參考下
    2014-06-06
  • php檢測用戶是否用手機(jī)(Mobile)訪問網(wǎng)站的類

    php檢測用戶是否用手機(jī)(Mobile)訪問網(wǎng)站的類

    php檢測用戶是否用手機(jī)(Mobile)訪問網(wǎng)站的類,引入這個(gè)類就可以直接使用了,程序基于MIT License協(xié)議開源,使用方法在下面
    2014-01-01
  • PHP內(nèi)存緩存功能memcached示例

    PHP內(nèi)存緩存功能memcached示例

    這篇文章主要介紹了PHP內(nèi)存緩存功能memcached示例,簡單的介紹了memcached,是php操作memcached的典型應(yīng)用,有需要的朋友可以來了解一下,
    2016-10-10
  • Laravel事件監(jiān)聽器用法實(shí)例分析

    Laravel事件監(jiān)聽器用法實(shí)例分析

    這篇文章主要介紹了Laravel事件監(jiān)聽器用法,結(jié)合實(shí)例形式分析了Laravel事件監(jiān)聽器的注冊、使用相關(guān)流程及操作技巧,需要的朋友可以參考下
    2019-03-03
  • php中g(shù)et_headers函數(shù)的作用及用法的詳細(xì)介紹

    php中g(shù)et_headers函數(shù)的作用及用法的詳細(xì)介紹

    本篇文章介紹了,在php中g(shù)et_headers函數(shù)的作用及用法。需要的朋友參考下
    2013-04-04
  • PHP將字符分解為多個(gè)字符串的方法

    PHP將字符分解為多個(gè)字符串的方法

    這篇文章主要介紹了PHP將字符分解為多個(gè)字符串的方法,通過split進(jìn)行正則匹配實(shí)現(xiàn)分割字符串的功能,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11

最新評論

吴忠市| 卓尼县| 大余县| 沙坪坝区| 宿迁市| 雷山县| 江永县| 涿州市| 赤城县| 汝州市| 鹿泉市| 新竹市| 曲阳县| 揭西县| 容城县| 武义县| 永顺县| 黎平县| 永济市| 浑源县| 厦门市| 抚州市| 武城县| 永善县| 伽师县| 阳泉市| 涿州市| 千阳县| 宜宾县| 青神县| 固始县| 晋江市| 图木舒克市| 中卫市| 保靖县| 台州市| 凤山市| 临夏县| 睢宁县| 呼图壁县| 西乌珠穆沁旗|