[英]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.