我在文件夹中有图像当我试图通过这个函数
删除它时function delete_item()
{
$query = 'SELECT logo FROM entity WHERE id='.$_GET['id'];
$res = mysql_query( $query );
$item = mysql_fetch_array( $res );
$file=basename($item['logo']);
$op_dir=opendir('./img');
while($file=readdir($op_dir ))
{
if($file != "." && $file != "..")
{
unlink ($op_dir.'/'.$file);
}
else {
echo 'no';
}
}
closedir($op_dir);
}
it take error
Warning: unlink(Resource id #8/image.jpg) [function.unlink]: No such file or directory in
图像定位example.com/img/f1.jpeg
在代码中我使用$op_dir=opendir('./img');但是获取一个资源,而不是路径
问题:如何将链接或路径设置为图像,而不是资源?
$op_dir
是您的目录句柄,$file
是您的文件名,您将在循环中覆盖。您应该为您使用readdir()
获得的目录使用不同的名称,并在尝试删除文件时使用该名称而不是目录句柄,例如:
while($dir=readdir($op_dir ))
{
if($file != "." && $file != "..")
{
unlink ($dir.'/'.$file);
}
else
{
echo 'no';
}
}
你应该切换到PDO或mysqli,并使用准备好的语句来避免sql注入,但这与你当前的问题无关。