Php 通过单选按钮删除图像
不知是否有人能帮助我 我把下面的脚本放在一起,创建了一个图像库Php 通过单选按钮删除图像,php,Php,不知是否有人能帮助我 我把下面的脚本放在一起,创建了一个图像库 <?php if (isset($_POST['del'])) $originalname = intval($_POST['del']); $file = 'UploadedFiles/' . $_SESSION['username'] . '/' . $_SESSION['locationid'] . '/' '$originalname'; if (!unlink($file)) {
<?php
if (isset($_POST['del']))
$originalname = intval($_POST['del']);
$file = 'UploadedFiles/' . $_SESSION['username'] . '/' . $_SESSION['locationid'] . '/' '$originalname';
if (!unlink($file))
{
echo ("Error deleting $file");
}
else
{
echo ("Deleted $file");
}
?>
<?php
$galleryPath = 'UploadedFiles/' . $_SESSION['username'] . '/' . $_SESSION['locationid'] . '/';
$thumbnailsPath = $galleryPath . 'Thumbnails/';
$absGalleryPath = realpath($galleryPath) . DIRECTORY_SEPARATOR;
$descriptions = new DOMDocument('1.0');
$descriptions->load($absGalleryPath . 'files.xml');
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Gallery</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="Libraries/fancybox/jquery.fancybox-1.3.1.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css" type="text/css" media="all" />
<link href="Styles/style.css" rel="stylesheet" type="text/css" />
<!--[if IE]>
<link href="Styles/ie.css" rel="stylesheet" type="text/css" />
<![endif]-->
<script src="Libraries/jquery/jquery-1.4.3.min.js" type="text/javascript"></script>
<script src="Libraries/fancybox/jquery.fancybox-1.3.1.pack.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function() { $('a.fancybox').fancybox(); });
</script>
<style type="text/css">
<!--
.style1 {
font-size: 14px;
margin-right: 110px;
}
.style4 {font-size: 12px}
-->
</style>
<script type="text/javascript">
function showdialog() {
// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
$( "#dialog:ui-dialog" ).dialog( "destroy" );
$( "#dialog-confirm" ).dialog({
resizable: false,
height:160,
modal: false,
buttons: {
"Delete image": function() {
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
};
</script>
</head>
<body style="font-family: Calibri; color: #505050; font-size: 9px; border-bottom-width: thin; margin-top: 5px; margin-left: -476px; margin-right: 1px; margin-bottom: -10px;">
<div align="right" class="style1"> <a href = "javascript:document.gallery.submit()"/> Add Images <a/> ← View Uploaded Images </div>
<form id="gallery" name="gallery" class="page" action="index.php" method="post">
<div id="container">
<div id="center">
<div class="aB">
<div class="aB-B">
<?php if ('Uploaded files' != $current['title']) :?>
<?php endif;?>
<input name="deleteimage" type="button" value="Delete Selected Image" onclick="showdialog()" />
<div class="demo">
<div class="inner">
<div class="container">
<div class="gallery">
<ul class="gallery-image-list">
<?php for ($i = 0; $i < $descriptions->documentElement->childNodes->length; $i++) :
$xmlFile = $descriptions->documentElement->childNodes->item($i);
$name = htmlentities($xmlFile->getAttribute('originalname'), ENT_COMPAT, 'UTF-8');
$description = htmlentities($xmlFile->getAttribute('description'), ENT_COMPAT, 'UTF-8');
$source = $galleryPath . rawurlencode($xmlFile->getAttribute('source'));
$thumbnail = $thumbnailsPath . rawurlencode($xmlFile->getAttribute('thumbnail'));
?>
<li class="item">
<a class="fancybox" target="_blank" rel="original" href="<?php echo $source; ?>"><img class="preview"
alt="<?php echo $name; ?>" src="<?php echo $thumbnail; ?>" /></a><?php echo "<input type='radio' name='del' value='{$originalname}' />"?></li>
<p><span class="style4"><b>Image Name:</b> <?php echo htmlentities($xmlFile->getAttribute('originalname'));?> <br />
<b>Image Description:</b> <?php echo htmlentities($xmlFile->getAttribute('description'));?> </span><br />
<?php endfor; ?>
</li>
</p>
</ul>
</div>
</div>
</div>
</div>
<div id="dialog-confirm" title="Delete This Image?">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>This image will be permanently deleted and cannot be recovered. Are you sure?</p>
</div>
</div>
<div class="aB-a"> </div>
</div>
</div>
</div>
</form>
</body>
</html>
这里:$thumbnailsPath=$galleryPath缩略图/'
我不擅长PHP,但我做了一些研究,我相信我需要使用'unlink'命令。因此,我想我应该尝试在开始时只使用一个文件路径来编写这个过程。我可以选择一个单选按钮,并获得正确的对话框确认消息显示,但不幸的是,它没有删除图像,我真的不知道问题出在哪里
我只是想知道是否有人能看看这个,让我知道我哪里做错了
非常感谢和问候如果您知道正在将图像的正确路径传递给unlink命令,则运行PHP的用户帐户可能没有对该文件的写入权限
您可能希望在E_警告级别启用错误,然后运行测试脚本以查看是否收到警告。您还应该测试unlink的返回值,因为它在失败时返回FALSE。Hi,感谢您花时间回复。我的问题是,我没有收到任何错误消息,这可能表明是代码而不是权限问题导致的。但是因为我对PHP有点陌生,我不确定我的代码是否有问题。我真的很想确认一下,虽然我很感激这可能只是一种夸张,但我的代码是否正确?Kind Regards此行的语法错误,您缺少一个点来连接最后两个字符串:$file='UploadedFiles/'$_会话['username']./'$_会话['locationid']./''$原名';vs$file='UploadedFiles/'$_会话['username']./'$_会话['locationid']./'$原名';看到区别了吗?嗨,格雷格,非常感谢。我明白你的意思。我会做出改变的。关于篮球,我忘了一部分。使用单引号时,不会对变量进行插值。您应该从$originalname中提取单引号,因为它将其视为字符串文字,而不是变量的值。
$galleryPath = 'UploadedFiles/' . $_SESSION['username'] . '/' . $_SESSION['locationid'] . '/';