当前位置: 首页 > 图文教程 > 网络编程 > PHP > php删除上传的图片及文件夹

PHP
PHP新手总结的PHP基础知识
php实现gb2312和unicode间编码转换
用php语言实现数据库连接详细代码介绍
详细解析 PHP 向 MySQL 发送数据过程
利用PHP V5开发多任务应用程序
详细讲解PHP中缓存技术的应用
php escapeshellcmd多字节编码漏洞
《PHP设计模式介绍》导言
《PHP设计模式介绍》第一章 编程惯用法
《PHP设计模式介绍》第二章 值对象模式
《PHP设计模式介绍》第三章 工厂模式
《PHP设计模式介绍》第四章 单件模式
《PHP设计模式介绍》第五章 注册模式
《PHP设计模式介绍》第六章 伪对象模式
《PHP设计模式介绍》第七章 策略模式
《PHP设计模式介绍》第八章 迭代器模式
《PHP设计模式介绍》第九章 观测模式
《PHP设计模式介绍》第十章 规范模式
《PHP设计模式介绍》第十一章 代理模式
《PHP设计模式介绍》第十二章 装饰器模式

PHP 中的 php删除上传的图片及文件夹


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 233 ::
收藏到网摘: n/a

删除上传的图片及文件夹,主要的函数有file_exists(),unlink(),rmdir()等。

对于这三个文件,一开始我使用了“http://localhost/test”作为变量传递,结果在虚拟空间里运行出错:

Warning: unlink() [function.unlink]: http does not allow unlinking in D:\……

讨教了别人后,才知道不能使用网址作为参数,于是改用了绝对地址,就解决问题了。可以删除上传的图片,以及图片所在的文件夹。

简单测试代码如下:

以下为引用的内容:

<?php
//[email protected]
//2008-08-28
 $folder = "D:\p8-server\wwwroot\\"."test\image";
 if( !file_exists( $folder ) )
 {
 if( !mkdir( $folder,777 ) )
 {
  echo "mkdir $folder (mode:777) error<br />";
 }
 else
 {
  echo "mkdir $folder (mode:777) okay<br />";
 }
 }

 $filename = "aaa.jpg";
 $filepath = $folder . "\\" . $filename;
 if( !file_exists( $filepath ) )
 {
 die( "$filepath not exist<br />" );
 }
 else
 {
 echo "<img src=\"$filepath\" alt=\"picture\" /><br />";
 echo "<p>deleting $filepath ......</p>";
 if( !unlink( $filepath ) )
 {
  echo "unlink $filepath error<br />";
 }
 else
 {
  echo "unlink $filepath okay<br />";
  if( !rmdir( $folder ) )
  {
   echo "rmdir $folder error<br />";
  }
  else
  {
   echo "rmdir $folder okay<br />";
  }
 }
 }
?>

如果上传到虚拟空间,则可能会由于文件夹的权限问题导致不能删除图片和文件夹。这里我是用了777,可能一般的虚拟空间上的都是660吧,可以改成770,实在不行就改成777吧,虽然不安全了些。