删除功能
function delete_news($id,$img)
{
$sql = $this->con->prepare("DELETE FROM `nm_news` WHERE news_id=:id");
$sql->bindParam(':id', $id);
$sql->execute();
unlink("uploads/".$img);
header('Location: all_news.php');
$this->con = null;
}
在这里,我可以删除jpeg和png等所有图像,但无法删除jpg
插入图像功能
function update_category($id, $category_title, $sort_order, $status)
{
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["imageUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file, PATHINFO_EXTENSION);
if (move_uploaded_file($_FILES["imageUpload"]["tmp_name"], $target_file)) {
}
$image = basename($_FILES["imageUpload"]["name"], ".jpg");
if ($image) {
$sql = $this->con->prepare("UPDATE nm_category SET category_title=:category_title,category_image=:category_image,category_order=:category_order,category_status=:category_status WHERE category_id=:id");
$sql->bindParam(':category_title', $category_title);
$sql->bindParam(':category_image', $image);
$sql->bindParam(':category_order', $sort_order);
$sql->bindParam(':category_status', $status);
$sql->bindParam(':id', $id);
}
}
图像插入工作正常,但在jpg上取消链接仅在jpeg和png上无效
结果o / p: :按删除按钮后,整个数据将被删除,但图像仍保留在上载文件夹中
答案 0 :(得分:1)
将$image = basename($_FILES["imageUpload"]["name"], ".jpg");
更改为$image = basename($_FILES["imageUpload"]["name"]);
这仅存储完整的文件名,包括.jpeg
和.png
文件的扩展名。当您上载.jpg
文件时,您将该文件存储在{扩展名包括扩展名的uploads/
文件夹中,但没有扩展名保存到数据库。
例如,myJpgFile.jpg
存在于您的uploads/
文件夹中,但是您试图将myJpgFile
与uploads/
文件夹中的链接断开-该文件夹不存在。