有人可以帮助我如何删除文件夹中的图像吗? 这是我的代码,用于删除数据库中的图像及其工作
<?php
require('connection/dbconn.php');
if(ISSET($_POST['id'])){
foreach ($_POST['id'] as $id){
$dbconn->query("delete from `uploading` where `id` = '$id'");
}
}
?>
答案 0 :(得分:2)
要使用PHP删除文件,您必须使用 unlink
function。
但是您还必须提供一个文件路径,在您的情况下,该文件路径应该由上载目录路径和fileID($_POST['id']
组成)
/**
* Do user permissions check for this operation before going further
*/
foreach ($_POST['id'] as $fileId) {
$filePath = "/path/to/upload/dir/$fileId";
if (file_exists($filePath)) {
unlink($filePath);
}
}
不要忘记进行安全性和数据一致性检查。例如,发送此删除请求的用户拥有足够的权限。
答案 1 :(得分:1)
要从服务器删除映像,必须将imageName
变量传递给PHP脚本,然后可以使用内置函数unlink()
删除文件:
$path = //your path to the upload images
unlink( $path . $imageName);
unlink( $path . 'Thumbnails/' . $imageName); //if also have thumbnail
您正在与服务器文件系统进行交互,因此您需要确定并清理变量(防止他人使用../../../来访问文件系统中不需要的部分)。
$imageName= str_replace( array( '..', '/', '\\', ':' ), '', $imageName);
您应该清理变量以确保转义文件名中的..字符,否则可能会出现类似“ ../../../ public / index.php
更新:
您将必须在数据库中存储图像的名称,并在删除表单中创建一个隐藏字段。删除时,将图像名称命名为$image = $_POST['image'];
,然后按照unlink
的过程进行操作。
答案 2 :(得分:0)
unlink('/path-to-upload-dir/' . $_POST['imagename']);