当 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'];
}
我正在尝试删除 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'];
}