php删除上传的图片及文件夹
删除上传的图片及文件夹,主要的函数有file_exists(),unlink(),rmdir()等。
对于这三个文件,一开始我使用了“”作为变量传递,结果在虚拟空间里运行出错:
Warning: unlink() [function.unlink]: http does not allow unlinking in D:\……
讨教了别人后,才知道不能使用网址作为参数,于是改用了绝对地址,就解决问题了。可以删除上传的图片,以及图片所在的文件夹。
简单测试代码如下:
以下为引用的内容:
<?php
//wangsu820@163.com
//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吧,虽然不安全了些。