php中文件删除函数unlink用法
unlink是用来删除文件的它也可以删除指定文件了,此函数支持相对路径删除与绝对路径删除,但它不能删除目录,下面一起来看unlink() 函数的一些用法.
用法:nlink() 函数删除文件.
若成功,则返回 true,失败则返回 false.
语法:unlink(filename,context)
php示例,代码如下:
- $tmpdata = $this->_agency_mod->find ( intval ( $value ) );
- $img = $tmpdata [$value] ['agency_image'];
- if(!emptyempty($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);
- //开源代码phpfensi.com
- 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'));