<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[沧海一粟]]></title> 
<link>http://www.dzhope.com/index.php</link> 
<description><![CDATA[Web系统架构与服务器运维,php开发]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[沧海一粟]]></copyright>
<item>
<link>http://www.dzhope.com/post//</link>
<title><![CDATA[PHP文件操作类]]></title> 
<author>jed &lt;jed521@163.com&gt;</author>
<category><![CDATA[代码编程]]></category>
<pubDate>Wed, 14 Mar 2018 02:17:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//</guid> 
<description>
<![CDATA[ 
	* FileUtil::createDir('a/1/2/3'); 测试建立文件夹 建一个a/1/2/3文件夹<br/>* FileUtil::createFile('b/1/2/3'); 测试建立文件 在b/1/2/文件夹下面建一个3文件<br/>* FileUtil::createFile('b/1/2/3.exe'); 测试建立文件 在b/1/2/文件夹下面建一个3.exe文件<br/>* FileUtil::copyDir('b','d/e'); 测试复制文件夹 建立一个d/e文件夹，把b文件夹下的内容复制进去<br/>* FileUtil::copyFile('b/1/2/3.exe','b/b/3.exe'); 测试复制文件 建立一个b/b文件夹，并把b/1/2文件夹中的3.exe文件复制进去<br/>* FileUtil::moveDir('a/','b/c'); 测试移动文件夹 建立一个b/c文件夹,并把a文件夹下的内容移动进去，并删除a文件夹<br/>* FileUtil::moveFile('b/1/2/3.exe','b/d/3.exe'); 测试移动文件 建立一个b/d文件夹，并把b/1/2中的3.exe移动进去 <br/>* FileUtil::unlinkFile('b/d/3.exe'); 测试删除文件 删除b/d/3.exe文件<br/>* FileUtil::unlinkDir('d'); 测试删除文件夹 删除d文件夹<br/><br/><div class="code"><br/>&lt;?php<br/>/**<br/>* 操纵文件类<br/>* <br/>* 例子：<br/>* FileUtil::createDir(&#039;a/1/2/3&#039;); 测试建立文件夹 建一个a/1/2/3文件夹<br/>* FileUtil::createFile(&#039;b/1/2/3&#039;); 测试建立文件 在b/1/2/文件夹下面建一个3文件<br/>* FileUtil::createFile(&#039;b/1/2/3.exe&#039;); 测试建立文件 在b/1/2/文件夹下面建一个3.exe文件<br/>* FileUtil::copyDir(&#039;b&#039;,&#039;d/e&#039;); 测试复制文件夹 建立一个d/e文件夹，把b文件夹下的内容复制进去<br/>* FileUtil::copyFile(&#039;b/1/2/3.exe&#039;,&#039;b/b/3.exe&#039;); 测试复制文件 建立一个b/b文件夹，并把b/1/2文件夹中的3.exe文件复制进去<br/>* FileUtil::moveDir(&#039;a/&#039;,&#039;b/c&#039;); 测试移动文件夹 建立一个b/c文件夹,并把a文件夹下的内容移动进去，并删除a文件夹<br/>* FileUtil::moveFile(&#039;b/1/2/3.exe&#039;,&#039;b/d/3.exe&#039;); 测试移动文件 建立一个b/d文件夹，并把b/1/2中的3.exe移动进去 <br/>* FileUtil::unlinkFile(&#039;b/d/3.exe&#039;); 测试删除文件 删除b/d/3.exe文件<br/>* FileUtil::unlinkDir(&#039;d&#039;); 测试删除文件夹 删除d文件夹<br/>*/<br/>class FileUtil &#123;<br/>/**<br/>* 建立文件夹<br/>*<br/>* @param string $aimUrl<br/>* @return viod<br/>*/<br/>function createDir($aimUrl) &#123;<br/>$aimUrl = str_replace(&#039;&#039;, &#039;/&#039;, $aimUrl);<br/>$aimDir = &#039;&#039;;<br/>$arr = explode(&#039;/&#039;, $aimUrl);<br/>$result = true;<br/>foreach ($arr as $str) &#123;<br/>$aimDir .= $str . &#039;/&#039;;<br/>if (!file_exists($aimDir)) &#123;<br/>$result = mkdir($aimDir);<br/>&#125;<br/>&#125;<br/>return $result;<br/>&#125;<br/>/**<br/>* 建立文件<br/>*<br/>* @param string $aimUrl <br/>* @param boolean $overWrite 该参数控制是否覆盖原文件<br/>* @return boolean<br/>*/<br/>function createFile($aimUrl, $overWrite = false) &#123;<br/>if (file_exists($aimUrl) &amp;&amp; $overWrite == false) &#123;<br/>return false;<br/>&#125; elseif (file_exists($aimUrl) &amp;&amp; $overWrite == true) &#123;<br/>FileUtil :: unlinkFile($aimUrl);<br/>&#125;<br/>$aimDir = dirname($aimUrl);<br/>FileUtil :: createDir($aimDir);<br/>touch($aimUrl);<br/>return true;<br/>&#125;<br/>/**<br/>* 移动文件夹<br/>*<br/>* @param string $oldDir<br/>* @param string $aimDir<br/>* @param boolean $overWrite 该参数控制是否覆盖原文件<br/>* @return boolean<br/>*/<br/>function moveDir($oldDir, $aimDir, $overWrite = false) &#123;<br/>$aimDir = str_replace(&#039;&#039;, &#039;/&#039;, $aimDir);<br/>$aimDir = substr($aimDir, -1) == &#039;/&#039; ? $aimDir : $aimDir . &#039;/&#039;;<br/>$oldDir = str_replace(&#039;&#039;, &#039;/&#039;, $oldDir);<br/>$oldDir = substr($oldDir, -1) == &#039;/&#039; ? $oldDir : $oldDir . &#039;/&#039;;<br/>if (!is_dir($oldDir)) &#123;<br/>return false;<br/>&#125;<br/>if (!file_exists($aimDir)) &#123;<br/>FileUtil :: createDir($aimDir);<br/>&#125;<br/>@ $dirHandle = opendir($oldDir);<br/>if (!$dirHandle) &#123;<br/>return false;<br/>&#125;<br/>while (false !== ($file = readdir($dirHandle))) &#123;<br/>if ($file == &#039;.&#039; &#124;&#124; $file == &#039;..&#039;) &#123;<br/>continue;<br/>&#125;<br/>if (!is_dir($oldDir . $file)) &#123;<br/>FileUtil :: moveFile($oldDir . $file, $aimDir . $file, $overWrite);<br/>&#125; else &#123;<br/>FileUtil :: moveDir($oldDir . $file, $aimDir . $file, $overWrite);<br/>&#125;<br/>&#125;<br/>closedir($dirHandle);<br/>return rmdir($oldDir);<br/>&#125;<br/>/**<br/>* 移动文件<br/>*<br/>* @param string $fileUrl<br/>* @param string $aimUrl<br/>* @param boolean $overWrite 该参数控制是否覆盖原文件<br/>* @return boolean<br/>*/<br/>function moveFile($fileUrl, $aimUrl, $overWrite = false) &#123;<br/>if (!file_exists($fileUrl)) &#123;<br/>return false;<br/>&#125;<br/>if (file_exists($aimUrl) &amp;&amp; $overWrite = false) &#123;<br/>return false;<br/>&#125; elseif (file_exists($aimUrl) &amp;&amp; $overWrite = true) &#123;<br/>FileUtil :: unlinkFile($aimUrl);<br/>&#125;<br/>$aimDir = dirname($aimUrl);<br/>FileUtil :: createDir($aimDir);<br/>rename($fileUrl, $aimUrl);<br/>return true;<br/>&#125;<br/>/**<br/>* 删除文件夹<br/>*<br/>* @param string $aimDir<br/>* @return boolean<br/>*/<br/>function unlinkDir($aimDir) &#123;<br/>$aimDir = str_replace(&#039;&#039;, &#039;/&#039;, $aimDir);<br/>$aimDir = substr($aimDir, -1) == &#039;/&#039; ? $aimDir : $aimDir . &#039;/&#039;;<br/>if (!is_dir($aimDir)) &#123;<br/>return false;<br/>&#125;<br/>$dirHandle = opendir($aimDir);<br/>while (false !== ($file = readdir($dirHandle))) &#123;<br/>if ($file == &#039;.&#039; &#124;&#124; $file == &#039;..&#039;) &#123;<br/>continue;<br/>&#125;<br/>if (!is_dir($aimDir . $file)) &#123;<br/>FileUtil :: unlinkFile($aimDir . $file);<br/>&#125; else &#123;<br/>FileUtil :: unlinkDir($aimDir . $file);<br/>&#125;<br/>&#125;<br/>closedir($dirHandle);<br/>return rmdir($aimDir);<br/>&#125;<br/>/**<br/>* 删除文件<br/>*<br/>* @param string $aimUrl<br/>* @return boolean<br/>*/<br/>function unlinkFile($aimUrl) &#123;<br/>if (file_exists($aimUrl)) &#123;<br/>unlink($aimUrl);<br/>return true;<br/>&#125; else &#123;<br/>return false;<br/>&#125;<br/>&#125;<br/>/**<br/>* 复制文件夹<br/>*<br/>* @param string $oldDir<br/>* @param string $aimDir<br/>* @param boolean $overWrite 该参数控制是否覆盖原文件<br/>* @return boolean<br/>*/<br/>function copyDir($oldDir, $aimDir, $overWrite = false) &#123;<br/>$aimDir = str_replace(&#039;&#039;, &#039;/&#039;, $aimDir);<br/>$aimDir = substr($aimDir, -1) == &#039;/&#039; ? $aimDir : $aimDir . &#039;/&#039;;<br/>$oldDir = str_replace(&#039;&#039;, &#039;/&#039;, $oldDir);<br/>$oldDir = substr($oldDir, -1) == &#039;/&#039; ? $oldDir : $oldDir . &#039;/&#039;;<br/>if (!is_dir($oldDir)) &#123;<br/>return false;<br/>&#125;<br/>if (!file_exists($aimDir)) &#123;<br/>FileUtil :: createDir($aimDir);<br/>&#125;<br/>$dirHandle = opendir($oldDir);<br/>while (false !== ($file = readdir($dirHandle))) &#123;<br/>if ($file == &#039;.&#039; &#124;&#124; $file == &#039;..&#039;) &#123;<br/>continue;<br/>&#125;<br/>if (!is_dir($oldDir . $file)) &#123;<br/>FileUtil :: copyFile($oldDir . $file, $aimDir . $file, $overWrite);<br/>&#125; else &#123;<br/>FileUtil :: copyDir($oldDir . $file, $aimDir . $file, $overWrite);<br/>&#125;<br/>&#125;<br/>return closedir($dirHandle);<br/>&#125;<br/>/**<br/>* 复制文件<br/>*<br/>* @param string $fileUrl<br/>* @param string $aimUrl<br/>* @param boolean $overWrite 该参数控制是否覆盖原文件<br/>* @return boolean<br/>*/<br/>function copyFile($fileUrl, $aimUrl, $overWrite = false) &#123;<br/>if (!file_exists($fileUrl)) &#123;<br/>return false;<br/>&#125;<br/>if (file_exists($aimUrl) &amp;&amp; $overWrite == false) &#123;<br/>return false;<br/>&#125; elseif (file_exists($aimUrl) &amp;&amp; $overWrite == true) &#123;<br/>FileUtil :: unlinkFile($aimUrl);<br/>&#125;<br/>$aimDir = dirname($aimUrl);<br/>FileUtil :: createDir($aimDir);<br/>copy($fileUrl, $aimUrl);<br/>return true;<br/>&#125;<br/>&#125;<br/>?&gt;<br/></div>
]]>
</description>
</item><item>
<link>http://www.dzhope.com/post//#blogcomment</link>
<title><![CDATA[[评论] PHP文件操作类]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.dzhope.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>