php中移动复制文件我们使用copy,下面我们来看一个简单的实例,他实现了目录与目录文件移动,希望此文章对大家帮助。
方法一,copy+unlink方式
我的思路是:移动=新建+删除。在移动之前在目标的目录新建一个文件夹,然后在把文件和目录都复制过去,最后在执行删除.
<?php /** * @parammoveDir 剪切文件和目录 * @param string $to 目标文件路径 * @param string $from 源文件路径 */ function moveDir($from, $to) { if (!is_dir($from)) { //判断$from源文件目录是不是存在 return false; } $from = rtrim(str_replace('//', '/', $from) , '/'); //为了在linux上兼容,我们把/符号全部转换成/因为windows下面2个符号都可以的. $files = scandir($from); //列出源文件目录的文件和文件夹,并且以数组的形式存入 $files。 /* $files的输出结果: Array ( [0] => . [1] => .. [2] => a [3] => b [4] => c [5] => dir [6] => dir.php [7] => dir2 [8] => dir2.php [9] => function_file.php [10] => homework.php ) 可以看到scandir这个函数会输出2个多余的值: [0] => . [1] => ..在这对我们木有用.写一个if干掉他们。 */ foreach ($files as $file) { //对 $files数组进行遍历,方便对数组里面的文件夹和文件进行复制和删除. if (in_array($file, array( '.', '..' ))) { // array('.','..')新建了一个只有.和..的数组,并且查找$file里面知否有.和..这2个值 continue; } $subFrom = $from . '/' . $file; //把遍历后的文件夹或者文件名变成一个新的路径 $subTo = $to . '/' . $file; if (is_dir($subFrom)) { @mkdir($subTo); //判断$subFrom是不是一个目录,如果是目录就在目标的目录下面,新建一个目录 moveDir($subFrom, $subTo); //递归执行新建目录。 } else { //不是目录的话,就直接复制文件.复制完就删除文件. copy($subFrom, $subTo); unlink($subFrom); //删除所有文件 } @rmdir($subFrom); //删除所有的目录 } return true; } ?> moveDir('C:/Users/Administrator/Desktop/0704','e:');//在这传递你要移动的文件或者目录的地址
方法二,rename
1.对于文件,rename可以在不同盘符之间移动.
2.对于空文件夹,rename也可以在不同盘符之间移动.但是目标文件夹的父目录必须存在.
3.对于非空文件夹,只能在同一盘符下移动.不过,1和3,应该差不多能够对付所有的应用情况了.
<?php rename("D:/testdir/test", "F:/totestdir/mydir"); ?>
对于一个40M的文件,copy+unlink方式需要7.6249899864197秒,而rename方式,只需要0.024738788604736,快300倍.
例
<?php //定义一个变量,保存文件名 $file = "html/cache.txt"; $rename = "html/renameCache.txt"; //使用rename()函数重命名一个文件 if (rename($file, $rename) == TRUE) { echo "重命名文件成功!"; } else { echo "重命名文件失败!"; } //使用rename()函数移动文件,并改名 rename("html/renameCache.txt", "html/a/2.txt"); //使用rename()函数重命名目录 rename("html", "cache"); //使用rename()函数移动目录到目标目录 rename("b", "cache/b"); ?>
文章链接:
随便收藏,请保留本文地址!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載
最受歡迎的的開源編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器