从PHP文件夹中删除图像,如何取路径


Delete image from folder in PHP, how to take path?

我在文件夹中有图像当我试图通过这个函数

删除它时
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注入,但这与你当前的问题无关。