簡體   English   中英

從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); 
} 

需要錯誤

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注入,但這與您當前的問題無關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM