【发布时间】:2014-04-05 02:43:27
【问题描述】:
试图让它工作有点疯狂......我有一个照片上传页面,可让您上传多张照片并在上传表单下方显示特定用户的所有上传照片。我还在每张照片旁边放置了一个删除按钮,但是一旦您删除了一张照片,它就会继续显示该图像(尽管从服务器中删除照片时链接断开)。我首先遍历一个包含文件目录和名称的表,然后显示这些照片。我有一个调用 unlink() 函数的提交按钮。
$photoQuery= "SELECT * FROM photo_index WHERE User_ID='$UserID'";
$result = mysqli_query($dbcon, $photoQuery);
while ($photo_data = mysqli_fetch_array($result)){
echo "<form id=photo_Form action=listing_photos.php method=post> ";
echo "<input type=hidden name=photoDir value='$photo_data[Photo_Dir]' />";
echo "<input type=submit name=photoDel id=submit_but value=Delete />";
echo "</form>";
echo "<img src='$photo_data[Photo_Dir]' height=100px width=100px>";
}
然后这里是删除照片文件和表中存储照片信息的行的php。
if (isset($_POST['photoDel'])){
$fh = fopen($_POST['photoDir'], 'a');
fclose($fh);
unlink($_POST['photoDir']);
$photoDel= "DELETE FROM photo_index WHERE Photo_Dir='$_POST[photoDir]'";
$result = mysqli_query($dbcon, $photoDel) or die(mysql_error());
echo "Photo Removed";
}
在使用 unlink 之前,我必须打开和关闭文件,因为如果我不这样做,我总是会在照片被删除后收到警告说 unlink(images/somephoto.jpg) 不存在(因为它已从服务器已经)
单击删除按钮后,它应该刷新页面,不是吗?当页面刷新时,它应该重新加载查询并只显示照片表中列出的照片?无论出于何种原因,需要两次刷新才能获得该结果。任何帮助将不胜感激,或者任何可以做得更好的方法!干杯。
【问题讨论】:
标签: javascript php forms upload