操縱檔案類 FileUtil

2021-10-10 10:14:12 字數 4504 閱讀 5725

<?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資料夾下的內容複製進去

* 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資料夾下的內容移動進去,並刪除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

}catch

(\exception$e)

}/**

* 建立資料夾

** @param string $aimurl

* @return viod

*/public

function

createdir

($aimurl)}

return

$result;}

/** * 建立檔案

** @param string $aimurl

* @param boolean $overwrite 該引數控制是否覆蓋原檔案

* @return boolean

*/public

function

createfile

($aimurl

,$overwrite

=false

)elseif

(file_exists

($aimurl)&&

$overwrite

==true

)$aimdir

=dirname

($aimurl);

fileutil :

:createdir

($aimdir);

touch

($aimurl);

return

true;}

/** * 移動資料夾

** @param string $olddir

* @param string $aimdir

* @param boolean $overwrite 該引數控制是否覆蓋原檔案

* @return boolean

*/public

function

movedir

($olddir

,$aimdir

,$overwrite

=false)if

(!file_exists

($aimdir))

@ $dirhandle

=opendir

($olddir);

if(!$dirhandle

)while

(false

!==(

$file

=readdir

($dirhandle))

)if(!

is_dir

($olddir

.$file))

else

}closedir

($dirhandle);

return

rmdir

($olddir);

}/**

* 移動檔案

** @param string $fileurl

* @param string $aimurl

* @param boolean $overwrite 該引數控制是否覆蓋原檔案

* @return boolean

*/public

function

movefile

($fileurl

,$aimurl

,$overwrite

=false)if

(file_exists

($aimurl)&&

$overwrite

=false

)elseif

(file_exists

($aimurl)&&

$overwrite

=true

)$aimdir

=dirname

($aimurl);

fileutil :

:createdir

($aimdir);

rename

($fileurl

,$aimurl);

return

true;}

/** * 刪除資料夾

** @param string $aimdir

* @return boolean

*/public

function

unlinkdir

($aimdir

)$dirhandle

=opendir

($aimdir);

while

(false

!==(

$file

=readdir

($dirhandle))

)if(!

is_dir

($aimdir

.$file))

else

}closedir

($dirhandle);

return

rmdir

($aimdir);

}/**

* 刪除檔案

** @param string $aimurl

* @return boolean

*/public

function

unlinkfile

($aimurl

)else

}/**

* 複製資料夾

** @param string $olddir

* @param string $aimdir

* @param boolean $overwrite 該引數控制是否覆蓋原檔案

* @return boolean

*/function

copydir

($olddir

,$aimdir

,$overwrite

=false)if

(!file_exists

($aimdir))

$dirhandle

=opendir

($olddir);

while

(false

!==(

$file

=readdir

($dirhandle))

)if(!

is_dir

($olddir

.$file))

else

}return

closedir

($dirhandle);

}/**

* 複製檔案

** @param string $fileurl

* @param string $aimurl

* @param boolean $overwrite 該引數控制是否覆蓋原檔案

* @return boolean

*/public

function

copyfile

($fileurl

,$aimurl

,$overwrite

=false)if

(file_exists

($aimurl)&&

$overwrite

==false

)elseif

(file_exists

($aimurl)&&

$overwrite

==true

)$aimdir

=dirname

($aimurl);

fileutil :

:createdir

($aimdir);

copy

($fileurl

,$aimurl);

return

true;}

}?>

操縱檔案類

hp操作檔案類 檔案和資料夾建立,複製,移動和刪除 操縱檔案類 例子 fileutil createdir a 1 2 3 測試建立資料夾 建乙個a 1 2 3資料夾 fileutil createfile b 1 2 3 測試建立檔案 在b 1 2 資料夾下面建乙個3檔案 fileutil cre...

使用API操縱檔案

本例中使用到很多axapta高階技巧,比如函式的巢狀等,值得大家揣摩。例子中使用到的三個函式解釋 fileexists name 若存在檔案,則返回 true。folderexists name 若存在資料夾或檔案,則返回true。pathexists name 若存在資料夾,則返回true。1 s...

os模組操縱檔案和目錄

如果我們要操作檔案 目錄,可以在命令列下面輸入作業系統提供的各種命令來完成。比如dir cp等命令。如果要在python程式中執行這些目錄和檔案的操作怎麼辦?其實作業系統提供的命令只是簡單地呼叫了作業系統提供的介面函式,python內建的os模組也可以直接呼叫作業系統提供的介面函式。開啟python...