我不确定我做错了什么。我想在条件存在后删除特定文件夹中的图像。条件是限制超过八个图像或照片。 当我删除一个图像时它可以工作,但是一旦我添加了while或者条件,它就会给出拒绝访问错误。
下面是我的代码,它检查数据库中的条件,然后从文件夹中删除图像:
mysql_select_db($database_rentaguide, $rentaguide);
$query_overflow_images = sprintf("SELECT * FROM tbl_rentalimages WHERE sessionid = %s AND image_id > '$lastimageid'",
GetSQLValueString($colname_overflow_images, "text"));
$overflow_images = mysql_query($query_overflow_images, $rentaguide) or die(mysql_error());
$row_overflow_images = mysql_fetch_assoc($overflow_images);
$totalRows_overflow_images = mysql_num_rows($overflow_images);
while ($row_overflow_images = mysql_fetch_assoc($overflow_images)); {
$overflowpath = $row_overflow_images['image_url'];
chmod("../".$overflowpath, 0777);
unlink("../".$overflowpath);
}
图像的实际路径是 - > rentalimages/LqXtyVtzKm/architecture-1836070__340.jpg
$ lastimageid变量来自db连接,它获取第八个或最后一个记录的id,其中有超过八个图像。
请帮帮我。请
哦,是的,我在Windows 7 64位上运行xampp
答案 0 :(得分:0)
您的代码中有一个拼写错误,就在while
块的正文之前(编辑 - 忘记提及拼写错误是分号):
/* Empty loop, followed by a code block */
while ($row_overflow_images = mysql_fetch_assoc($overflow_images));
{
/* $row_overflow_images is no longer an array */
$overflowpath = $row_overflow_images['image_url'];
chmod("../".$overflowpath, 0777);
/* This line tries to delete the parent folder */
unlink("../".$overflowpath);
}
答案 1 :(得分:0)
这是最终有用的......
mysql_select_db($database_rentaguide, $rentaguide);
$query_overflow_images = sprintf("SELECT * FROM tbl_rentalimages WHERE
sessionid = %s AND image_id > '$lastimageid'",
GetSQLValueString($colname_overflow_images, "text"));
$overflow_images = mysql_query($query_overflow_images, $rentaguide) or
die(mysql_error());
$row_overflow_images = mysql_fetch_assoc($overflow_images);
$totalRows_overflow_images = mysql_num_rows($overflow_images);
do {
$filepath = $row_overflow_images['image_url'];
$imageid = $row_overflow_images['image_id'];
$deleteSQL = sprintf("DELETE FROM tbl_rentalimages WHERE image_id = %s",
GetSQLValueString($imageid, "int"));
mysql_select_db($database_rentaguide, $rentaguide);
$Result1 = mysql_query($deleteSQL, $rentaguide) or die(mysql_error());
unlink("../".$filepath);
}
while ($row_overflow_images = mysql_fetch_assoc($overflow_images));
}
P.S。我知道我应该移植到mysqli扩展,但我只是练习并试图了解更多。谢谢stachoverflow。你们真棒!