当 url 路径由 mysql 数据库的值提供时取消链接 jpeg 文件

Unlink jpeg file when the url path is provided by a value of the mysql database

我正在尝试删除 jpg。该图像的路径存储在数据库中的字段名称 PandFoto3 下。之后我清空数据库中的字段。到目前为止,我有以下代码:

    if(isset($_POST['F3Verwijderen']))
    try 
    {               
        
        //delete the file
        $sql = "SELECT PandFoto3 FROM tblpand WHERE `PK_Pand` = '".$pandid."'";
        
        $con = mysql_connect('immocorbati.be.mysql', 'immocorbati_be', 'zx4ge6ty');
        if (!$con) {
        die('Could not connect: ' . mysql_error());
        }
        mysql_select_db("immocorbati_be");
        $result = mysql_query($sql, $con);
        while ($row = mysql_fetch_array($result)) {
            if(file_exists($row['PandFoto3'])){
                unlink($row['PandFoto3']);
            } else {
                echo $row['PandFoto3'];
            }
        }
        //delete the value from the field PandFoto3
        mysql_query("UPDATE tblpand SET PandFoto3 = NULL WHERE `PK_Pand` = '".$pandid."'");
        mysql_close($con);          

    
        header('Location: ../admin/pand-aanpassen.php?id='.$pandid);
    }
    
    catch (Exception $e) 
    {
        $feedback = $e->getMessage();
    }

url 路径已从数据库中删除,因此可以正常工作。但是,该文件不会被删除。代码确实到达了“while ($row = mysql_fetch_array($result))”,但它触发了 else 情况下的回显。

本例中的回显是:uploadImages/picname.jpg 这是图片的正确路径。但是,if 没有被触发,因此图片没有被删除。

ps:我发现我没有使用mysqli_connect,我会尽快编辑这个

使用绝对路径,例如/var/www/uploadImages 或 D:/www/uploadImages: 在这种情况下,您的目录 "uploadImages" 与您的 php 脚本位于同一文档根目录中。

<?php
    if(file_exists($_SERVER['DOCUMENT_ROOT'].'/'.$row['PandFoto3'])) {
                unlink($_SERVER['DOCUMENT_ROOT'].'/'.$row['PandFoto3']);
            } else {
                echo $row['PandFoto3'];
            }