【发布时间】:2013-07-11 04:49:53
【问题描述】:
我有一个网站,允许用户将照片上传到我的文件夹。当页面刷新时,它将显示该文件夹内的所有图像。
我使用 scandir 而不是 glob 函数来读取图像。我检查文件类型扩展名以查看它是否采用允许的格式(jpg、jpeg、gif、png)然后我使用循环来显示它们。每个图像旁边都有一个“删除”链接。
当用户按下“删除”链接时,我想删除文件夹中的特定图像。我知道函数 unlink() 能够删除图像,但我不能这样做,因为我不知道如何将特定图像名称传递给 delete.php。有人告诉我使用 AJAX,我还没有学过。如果有必要,我会立即去学习。所以请告诉我是否有任何方法可以解决这个问题而不是 AJAX。非常感谢!
$dir = 'images/';
$file_type_allowed = array('jpg','jpeg','png','gif');
$dir_contents = scandir($dir);
foreach($dir_contents as $file){
$file_type = explode('.',$file);
$file_type = strtolower(end($file_type));
if($file !== '.' && $file !== '..' && in_array($file_type, $file_type_allowed) == true){
echo '<img src="', $dir, '/', $file, '" alt="', $file, '" />';
echo '<a href="delete.php">Delete</a>';
}
【问题讨论】:
-
你可以给
<a href="delete.php">添加一个参数,比如<a href="delete.php?path=dir/file">,然后使用$_REQUEST['path']来获取delete.php -
如果您想通过单击删除按钮来删除图像而不刷新页面,那么您必须使用 AJAX(现在几乎所有网站都使用它)。但是如果你想在删除后刷新页面,你可以使用 HTML 表单。提及您对此的要求。
-
我明白了。如果 AJAX 真的那么流行,我会去学习它。但与此同时,我将尝试在 URL 中传递参数并使用 $_GET 在 delete.php 中获取它。谢谢大家
标签: php