php删除文件夹及其文件夹下所有文件

php删除文件夹及其文件夹下所有文件,第1张

有时候我们需要用php删除文件夹及其文件夹下所有文件,那么就可以使用下面的代码了,需要的朋友可以参考下。根据自身要求添加功能

代码如下:

<?

function deldir($dir) {

//先删除目录下的文件:

$dh=opendir($dir)

while ($file=readdir($dh)) {

if($file!="." &&$file!="..") {

$fullpath=$dir."/".$file

if(!is_dir($fullpath)) {

unlink($fullpath)

} else {

deldir($fullpath)

}

}

}

closedir($dh)

//删除当前文件夹:

if(rmdir($dir)) {

return true

} else {

return false

}

}

?>

实例:

删除某个文件夹下的所有“.svn”文件夹(包括其内容也要被删除).

<?php

function delsvn($dir) {

$dh=opendir($dir)

//找出所有".svn“ 的文件夹:

while ($file=readdir($dh)) {

if($file!="." &&$file!="..") {

$fullpath=$dir."/".$file

if(is_dir($fullpath)) {

if($file==".svn"){

delsvndir($fullpath)

}else{

delsvn($fullpath)

}

}

}

}

closedir($dh)

}

function delsvndir($svndir){

//先删除目录下的文件:

$dh=opendir($svndir)

while($file=readdir($dh)){

if($file!="."&&$file!=".."){

$fullpath=$svndir."/".$file

if(is_dir($fullpath)){

delsvndir($fullpath)

}else{

unlink($fullpath)

}

}

}

closedir($dh)

//删除目录文件夹

if(rmdir($svndir)){

return true

}else{

return false

}

}

$dir=dirname(__FILE__)

//echo $dir

delsvn($dir)

?>

PHP删除文件的函数:unlink()

unlink是用来删除文件的它也可以删除指定文件了,此函数支持相对路径删除与绝对路径删除,但它不能删除目录哦,下面一起来看unlink() 函数的一些用法。

用法

nlink() 函数删除文件。

若成功,则返回 true,失败则返回 false。

语法

unlink(filename,context)

示例:

代码如下复制代码

$tmpdata = $this->_agency_mod->find ( intval ( $value ) )

$img = $tmpdata [$value] ['agency_image']

if(!empty($img)){

$img = '../data/agency/' . $img

if (file_exists ( $img )) {

unlink ( $img )

}

}

首先找到该条目,查询条目的内容,包括图片链接地址。有了地址,我们根据这个图片路径,使用unlink函数删除该图片文件。注意:该图片路径的目录要有可读写权限。

php官方示例:

代码如下复制代码

<?php

$fh = fopen('test.html', 'a')

fwrite($fh, '<h1>Hello world!</h1>')

fclose($fh)

unlink('test.html')

?>

w3school示例:

代码如下复制代码

<?php

$file = "test.txt"

if (!unlink($file))

{

echo ("Error deleting $file")

}

else

{

echo ("Deleted $file")

}

?>

删除中文名称的文件失败

Warning: unlink(user_logo/d4d84f383714d5f3.jpg) [function.unlink]: No such file or directory in

文件名是中文命名的用is_file()检测出是false。但是文件是存在的。不知道怎样才能用unlink把这个文件删除了。用include包含文件时,也无法读取文件(文件不是空的)。

代码如下复制代码

if(file_exists($fn)){//存在该文件

//todo 删除

}

如果是中文可能有点问题

现在要解决的是is_file或unlink对文件名中有中文的文件的识别。只要能识别出来就可以删除了。

应该是文件名编码的问题,你可以试试unlink(iconv('gb2312','utf-8','新建文本文档.txt'))

1. 写入:

<?php 

$filename = "Test//file.txt" 

$file = fopen($filename, "w") //以写模式打开文件 

fwrite($file, "Hello, world!/n") //写入第一行 

fwrite($file, "This is a test!/n") //写入第二行 

fclose($file) //关闭文件 

?>

2. 删除:

<?php 

$filename = "Test//file.txt" 

unlink($filename) //删除文件 

?>

3.复制:

<?php $filename1 = "Test//file.txt" $filename2 = "Test//file.bak" copy($filename1, $filename2) //复制文件 ?>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12047572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存