Rumah pembangunan bahagian belakang tutorial php PHP操作资料类(文件和文件夹创建,复制,移动和删除)

PHP操作资料类(文件和文件夹创建,复制,移动和删除)

Jun 13, 2016 pm 12:54 PM
file

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 {
/**    
* 建立文件夹    
*    
* @param string $aimUrl    
* @return viod    
*/
function createDir($aimUrl) {       
	$aimUrl = str_replace('', '/', $aimUrl);       
	$aimDir = '';       
	$arr = explode('/', $aimUrl);       
	foreach ($arr as $str) {         
		$aimDir .= $str . '/';         
		if (!file_exists($aimDir)) 
		{            
			mkdir($aimDir);         
		}       
	}
}
/**    
* 建立文件    
*    
* @param string $aimUrl     
* @param boolean $overWrite 该参数控制是否覆盖原文件    
* @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;

	
/**    
* 移动文件夹    
*    
* @param string $oldDir    
* @param string $aimDir    
* @param boolean $overWrite 该参数控制是否覆盖原文件    
* @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);
}

/**    
* 移动文件    
*    
* @param string $fileUrl    
* @param string $aimUrl   
* @param boolean $overWrite 该参数控制是否覆盖原文件    
* @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;       
	}
}

/**    
* 复制文件夹    
*    
* @param string $oldDir    
* @param string $aimDir    
* @param boolean $overWrite 该参数控制是否覆盖原文件    
* @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);
}

/**    
* 复制文件    
*    
* @param string $fileUrl    
* @param string $aimUrl    
* @param boolean $overWrite 该参数控制是否覆盖原文件    
* @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;
}

}
?> 
Salin selepas log masuk

?

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Gunakan fungsi File.length() java untuk mendapatkan saiz fail Gunakan fungsi File.length() java untuk mendapatkan saiz fail Jul 24, 2023 am 08:36 AM

Gunakan fungsi File.length() Java untuk mendapatkan saiz fail Saiz fail adalah keperluan yang sangat biasa apabila berurusan dengan operasi fail Java menyediakan cara yang sangat mudah untuk mendapatkan saiz fail, iaitu, menggunakan panjang(. ) kaedah kelas Fail. Artikel ini akan memperkenalkan cara menggunakan kaedah ini untuk mendapatkan saiz fail dan memberikan contoh kod yang sepadan. Pertama, kita perlu mencipta objek Fail untuk mewakili fail yang kita ingin dapatkan saiznya. Berikut ialah cara membuat objek Fail: Filef

Aplikasi asli Hongmeng puisi rawak Aplikasi asli Hongmeng puisi rawak Feb 19, 2024 pm 01:36 PM

Untuk mengetahui lebih lanjut tentang sumber terbuka, sila lawati: Komuniti Pembangun 51CTO Hongmeng https://ost.51cto.com Persekitaran berjalan DAYU200:4.0.10.16SDK: 4.0.10.15IDE: 4.0.600 1. Untuk membuat aplikasi, klik Fail- >newFile->CreateProgect. Pilih templat: [OpenHarmony] EmptyAbility: Isikan nama projek, shici, nama pakej aplikasi com.nut.shici dan lokasi storan aplikasi XXX (tiada bahasa Cina, aksara khas atau ruang). CompileSDK10, Model: Stage. Peranti

Bagaimana untuk menukar gumpalan php kepada fail Bagaimana untuk menukar gumpalan php kepada fail Mar 16, 2023 am 10:47 AM

Cara menukar gumpalan php kepada fail: 1. Buat fail sampel php 2. Melalui "function blobToFile(blob) {return new File([blob], 'screenshot.png', { type: 'image/jpeg' }) } ” kaedah boleh digunakan untuk menukar Blob kepada Fail.

Namakan semula fail menggunakan fungsi File.renameTo() java Namakan semula fail menggunakan fungsi File.renameTo() java Jul 25, 2023 pm 03:45 PM

Gunakan fungsi File.renameTo() Java untuk menamakan semula fail Dalam pengaturcaraan Java, kita selalunya perlu menamakan semula fail. Java menyediakan kelas Fail untuk mengendalikan operasi fail, dan fungsi renameTo() boleh menamakan semula fail dengan mudah. Artikel ini akan memperkenalkan cara menggunakan fungsi File.renameTo() Java untuk menamakan semula fail dan menyediakan contoh kod yang sepadan. Fungsi File.renameTo() ialah kaedah kelas Fail.

Gunakan fungsi File.getParent() java untuk mendapatkan laluan induk fail Gunakan fungsi File.getParent() java untuk mendapatkan laluan induk fail Jul 24, 2023 pm 01:40 PM

Gunakan fungsi File.getParent() java untuk mendapatkan laluan induk fail Dalam pengaturcaraan Java, kita selalunya perlu mengendalikan fail dan folder. Kadangkala, kita perlu mendapatkan laluan induk bagi fail, iaitu laluan folder tempat fail itu berada. Kelas Fail Java menyediakan kaedah getParent() untuk mendapatkan laluan induk bagi fail atau folder. Kelas Fail ialah perwakilan abstrak Java bagi fail dan folder. Ia menyediakan satu siri kaedah untuk mengendalikan fail dan folder. Antaranya, dapatkan

Gunakan fungsi File.getParentFile() java untuk mendapatkan direktori induk fail Gunakan fungsi File.getParentFile() java untuk mendapatkan direktori induk fail Jul 27, 2023 am 11:45 AM

Gunakan fungsi File.getParentFile() java untuk mendapatkan direktori induk fail Dalam pengaturcaraan Java, kita selalunya perlu mengendalikan fail dan folder. Apabila kita perlu mendapatkan direktori induk fail, kita boleh menggunakan fungsi File.getParentFile() yang disediakan oleh Java. Artikel ini menerangkan cara menggunakan fungsi ini dan menyediakan contoh kod. Kelas fail dalam Java ialah kelas utama yang digunakan untuk mengendalikan fail dan folder. Ia menyediakan banyak kaedah untuk mendapatkan dan memanipulasi sifat fail

Bagaimana untuk memadam fail atau direktori menggunakan kaedah File.delete() dalam Java? Bagaimana untuk memadam fail atau direktori menggunakan kaedah File.delete() dalam Java? Nov 18, 2023 am 08:02 AM

Bagaimana untuk memadam fail atau direktori menggunakan kaedah File.delete() dalam Java? Gambaran Keseluruhan: Di Java, kita boleh memadam fail atau direktori menggunakan kaedah delete() kelas Fail. Kaedah ini digunakan untuk memadam fail atau direktori yang ditentukan. Walau bagaimanapun, perlu diingatkan bahawa kaedah ini hanya boleh memadam direktori kosong atau fail yang tidak dibuka oleh program lain. Jika pemadaman fail atau direktori gagal, anda boleh mencari sebab khusus dengan menangkap IOException. Langkah 1: Import pakej berkaitan Pertama, kita perlukan

Cipta direktori berbilang peringkat menggunakan fungsi File.mkdirs() java Cipta direktori berbilang peringkat menggunakan fungsi File.mkdirs() java Jul 24, 2023 am 11:04 AM

Cipta direktori berbilang peringkat menggunakan fungsi File.mkdirs() Java Dalam Java, kita selalunya perlu mencipta folder untuk menyimpan dan menyusun fail. Kadangkala, kita perlu mencipta direktori berbilang peringkat, iaitu folder yang mengandungi subfolder. Java menyediakan fungsi mkdirs() bagi kelas Fail untuk melaksanakan fungsi ini. Kelas Fail ialah kelas dalam Java yang mengendalikan fail dan direktori Ia menyediakan satu siri kaedah untuk mengendalikan fail dan direktori. Antaranya, fungsi mkdirs() ialah fungsi yang mencipta direktori pelbagai peringkat. Bawah

See all articles