【发布时间】:2014-10-27 18:47:35
【问题描述】:
我的大脑已经筋疲力尽,似乎无法很好地构建我的代码,我的解决方案有效,但我需要简化它。好吧,说我有 $id = $_GET["id"];并且 $id = 352 ... 现在,
场景:
下面的代码是用户选择要上传的图片的地方:
$query = mysql_query("SELECT * FROM properties WHERE id = '$_GET[id]'");
<input type="file" name="image1" id="image1" />
<?php if(isset($query) && file_exists("../uploads/properties/".mysql_result($query, 0, "id").".jpg")) { ?>
<img height="100" src="../uploads/properties/<?php echo mysql_result($query, 0, "id"); ?>.jpg" />
<a target="_blank" href="delete_script/deletepic.php?id=<?php echo mysql_result($query, 0, "id"); ?>">Delete image</a>
<?php } ?>
<input type="file" name="image2" id="image2" />
<?php if(isset($query) && file_exists("../uploads/properties/".mysql_result($query, 0, "id")."_2.jpg")) { ?>
<img height="100" src="../uploads/properties/<?php echo mysql_result($query, 0, "id"); ?>_2.jpg" />
<a target="_blank" href="delete_script/deletepic2.php?id=<?php echo mysql_result($query, 0, "id"); ?>">Delete image</a>
<?php } ?>
如果你看一下img标签上的src,两者之间的区别是一张图片将被上传为
1: 352.jpg
2: 352_2.jpg
3: 352_3.jpg
4: 352_4.jpg
5: 352_5.jpg
6: 352_6.jpg
7: 352_7.jpg
8: 352_8.jpg
9: 352_9.jpg
10: 352_10.jpg
现在是棘手的部分:
当点击链接时,此页面deletepic.php 将运行以下代码:
<?php
$id = $_GET["id"];
$file_path = "../uploads/properties/".$id."_".$i.".jpg";
for ($i = 2; $i < 11; $i++) {
$file_path = "../uploads/properties/".$id."_".$i.".jpg";
return $file_path;
}
if (file_exists($file_path)) {
echo "file remove requested";
}else{
echo "no file was requested to be removed";
}
?>
我知道 for 循环不起作用,但基本上我需要脚本来查看 $id."_".$i
然后如果文件存在于被点击的链接上,则必须删除该文件。
目前对我有用的解决方案是,如果我制作 10 个 delete.php 脚本并在每个脚本中运行这段代码,我将在脚本中更改以使其工作的唯一部分是 @987654327 @ 每次将其设置为$img = "../../uploads/properties/".$id.".jpg"; 下一个 delete.php $img 的值将是$img = "../../uploads/properties/".$id."_2.jpg"; 等。
所以现在delete.php里面的代码是这样的:
<?php
$id = $_GET["id"];
$current_page = 'properties_page.php';
$url = $_SERVER['REQUEST_URI'];
$clean_this = "delete_script/deletepic.php";
$url = str_replace($clean_this, "properties_page.php", $url);
$img = "../../uploads/properties/".$id.".jpg";
unlink($img);
header("Location:$url");
?>
【问题讨论】: