我想知道是否有人可以帮助我。
我把这个页面放在一起,允许用户以画廊格式查看他们上传的图像。
我现在想添加删除功能到每个图像。我已经创建了按钮和它背后的JavaScript,但我真的不知道如何链接'按钮点击'与文件的实际物理删除。
这些图像没有存储在数据库中,而是存储在我的服务器上的两个文件夹中,结构如下:UploadedFiles/username/locationid/imagename
和UploadedFiles/username/locationid/Thumbnails/imagename
个
我对PHP相对来说是个新手,现在我的知识已经达到了极限,但我当然愿意学习。从我读过的文档来看,我认为我说unlink
方法是正确的命令是正确的吗?
但我发现真正困难的是告诉代码找到与当前username
和locationid
匹配的username
和locationid
文件夹,然后删除与$source
名称变量匹配的文件。
我只是想知道是否有人可以提供一些指导,请我如何去做这件事。
非常感谢和亲切的问候
3条答案
按热度按时间nukf8bse1#
如果你可以将username、locationid和imagesource变量传递给你的脚本,你可以使用
unlink()
删除这些文件:字符串
因为您正在与文件系统交互,所以您需要确保并清理变量(防止有人使用../来访问文件系统中不需要的部分)。
型
qv7cva1a2#
显然你的JavaScript(客户端)将不得不调用一个URL(服务器端)来删除用户选择的图片。我建议现在你静态地做这件事(如果以后你想移动到更动态的东西,转换成aerlog的步骤相当小。
因此,正如Set Sail Media所说,在单击删除按钮时,您必须将用户名和locationID传递给您的服务器。其中一种方法是:
当在HTML/JavaScript中渲染你的画廊时,对于每一张图片,你在它下面有一个将包含所需信息的提交按钮,它将简单地从你的服务器调用删除脚本。你可以做的表单的一个例子是:
字符串
此表单将在隐藏字段中存储所需的值,这些隐藏字段不会显示在网页上,但在按下提交按钮时仍会发送到服务器。
(for这个小故事,这里使用的方法是GET,因为AFAIK HTML不支持GET方法(在我们的情况下,这将是合适的)。
GET方法将调用脚本“your.server.org/deleteImage.php“。在此脚本中,您将拥有通过使用$_GET”username“]和$_GET”locationId“]变量删除图像所需的所有信息(username/locationId)。然后,如您所提到的,您将需要使用unlink方法从服务器中实际删除文件。
最后,一旦完成了这一步,你需要重定向php脚本,以便在删除图片后再次显示图库(例如)。如果你有某种模板引擎,这可以通过调用脚本来完成,或者通过调用php的“header”函数。
我希望这个流程是你所期望的,我希望我对你有所帮助。
问候,
熊
oyjwcjzk3#
$path =“已删除的文件/”. $username .“/”. $locationid .“/”;
Unlink($path . $IMG-20231104-WA0071.jpg); unlink($path . 'Thumbnails/' . $IMG-20231104-WA0071.jpg);