Php 如何通过mysql语句从文件夹中删除图像
我有一个博客当我删除博客文章我希望脚本删除文件夹中的图像文件夹路径是/图片/表格名称为:postmages,位于FROMblog\u posts\u seoPhp 如何通过mysql语句从文件夹中删除图像,php,mysql,Php,Mysql,我有一个博客当我删除博客文章我希望脚本删除文件夹中的图像文件夹路径是/图片/表格名称为:postmages,位于FROMblog\u posts\u seo //show message from add / edit page if(isset($_GET['delpost'])){ $stmt = $db->prepare('DELETE FROM blog_posts_seo WHERE postID = :postID'); $stmt->execute(
//show message from add / edit page
if(isset($_GET['delpost'])){
$stmt = $db->prepare('DELETE FROM blog_posts_seo WHERE postID = :postID');
$stmt->execute(array(':postID' => $_GET['delpost']));
//delete post categories.
$stmt = $db->prepare('DELETE FROM blog_post_cats WHERE postID = :postID');
$stmt->execute(array(':postID' => $_GET['delpost']));
header('Location: index.php?action=deleted');
exit;
上面是我的脚本,它通过postID删除帖子,然后删除类别,但我需要添加删除图像和取消链接图像,您需要在删除之前从数据库中选择照片路径,并使用删除文件
// select the path from database
$stmt = $db->prepare('SELECT photo_path from photos WHERE postID = :postID');
...
$src = "/pathToImages/images/";
if(isset($photoPath) && file_exists($src . $photoPath)) {
unlink($src . $photoPath);
}
// delete post and photos from database
....
此函数是可靠的,因为攻击者可以从数据库中删除任何文件 代码的php必须是
if (array_key_exists('delete', $_POST)) {
$filename = $_POST['delete'];
if (file_exists($filename)) {
unlink($filename);
echo 'Successfully Deleted';
}
else
{
echo 'Problem occured';
}
}
您可以使用此PHP代码使文件删除只是打印
您可以使用参考网站www.w3schools.com
-wiki.php.net
-w3resources.com
取消链接(“image/imageName.jpg的路径”)
因此您必须从postImages
表中选择该数据,并循环结果集编码,如上面显示的@MasivuyeCokile删除该图像存储在../images中。但是postImages仅显示文件名示例。test.jpg不显示path@JoeWilson只需在“图像路径”文件夹中添加内容,我已经编辑了我的答案