Php 无法使用取消链接功能删除jpg

Php 无法使用取消链接功能删除jpg,php,Php,删除函数 在这里,我可以删除所有图像,如jpeg和png,但无法删除jpg 插入图像函数 图像的插入工作正常,但jpg上的取消链接不仅仅适用于jpeg和png 结果o/p:按下删除按钮后,整个数据被删除,但图像仍保留在上传文件夹中更改$image=basename$\u FILES[imageUpload][name],.jpg;至$image=basename$_文件[imageUpload][name] 这只是存储完整的文件名,包括.jpeg和.png文件的扩展名。上载.jpg文件时,您将该

删除函数

在这里,我可以删除所有图像,如jpeg和png,但无法删除jpg

插入图像函数

图像的插入工作正常,但jpg上的取消链接不仅仅适用于jpeg和png

结果o/p:按下删除按钮后,整个数据被删除,但图像仍保留在上传文件夹中

更改$image=basename$\u FILES[imageUpload][name],.jpg;至$image=basename$_文件[imageUpload][name]

这只是存储完整的文件名,包括.jpeg和.png文件的扩展名。上载.jpg文件时,您将该文件存储在uploads/文件夹中,包括扩展名,但保存到数据库时不带扩展名


例如,myJpgFile.jpg存在于您的上载/文件夹中,但您试图将myJpgFile从您的上载/文件夹中取消链接,而您的上载/文件夹不存在。

错误消息?警告日志里有什么吗?这是正确的相对路径吗?我很惊讶相同的代码删除了jpeg和png,但没有删除jpg。jpg到底有什么神奇之处?@dhruv:反对票不是针对初学者的错误。否决票是因为你没有提供任何调试信息,只是坚持我们应该相信你的代码是正确的,你做的一切都是正确的,取消链接本身必须被破坏。这不是我们可以帮助解决的问题。更有可能的是,你在某个地方犯了错误,你的价值观并不是你所期望的。但只要您拒绝检查这些值,我们就无能为力。$image=basename$_FILES[imageUpload][name],.jpg;您正在数据库中存储图像的基本名称,如果有扩展名,则不带.jpg。对于.jpeg和.png文件,它看起来像是将包含文件扩展名的basename存储在数据库中,这就是您可以取消链接的原因them@dhruv:不,我们看不到。我们无法从这里查看您的计算机内部或为您调试代码。然而,这是一个让您熟悉一些基本PHP调试的好机会。现在是验证代码的所有运行时值和行为的时候了。转到您的文件系统,找到您希望删除的文件的确切完整路径和名称。然后,当您试图删除文件时,在代码中输出或记录您正在使用的确切完整的路径和名称。它们是一样的吗?
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;
}
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);
    }
}