php - 从文件夹 PHP 中删除图像

标签 php

我有一个文件夹来保存我的图像,名为 img/。我有一张 table ,里面有我所有的图片:

<table border="3">
    <tr>
        <td>    
            <?php
            $files = glob("img/*");
            foreach ($files as $file) {
                echo "<div class='divimages'>"; 
                echo '<img src="'.$file.'"/>';
                echo "<input type='submit' value='Delete image'/><br>";
                echo "</div>";  
            }
            ?>
        </td>
    </tr>   
</table>

如何删除与值为:"Delete image" 的按钮关联的图像。

最佳答案

有几条路线。一个,最简单的,就是把它变成一种形式;当它提交时,您对 POST 数据使用react并使用 unlink

删除图像

免责声明:这是不安全的。攻击者可以使用此代码删除您服务器上的任何 文件。您必须扩展此演示代码以添加一些安全措施,否则您可能会遇到不好的事情

每个图像的显示标记都包含如下形式:

echo '<form method="post">';
  echo '<input type="hidden" value="'.$file.'" name="delete_file" />';
  echo '<input type="submit" value="Delete image" />';
echo '</form>';

...并在同一个 PHP 文件的顶部:

if (array_key_exists('delete_file', $_POST)) {
  $filename = $_POST['delete_file'];
  if (file_exists($filename)) {
    unlink($filename);
    echo 'File '.$filename.' has been deleted';
  } else {
    echo 'Could not delete '.$filename.', file does not exist';
  }
}
// existing code continues below...

您可以使用 javascript 对此进行详细说明:您可以发送 AJAX 请求而不是提交表单。服务器端代码看起来与此非常相似。

文档和相关阅读

关于php - 从文件夹 PHP 中删除图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15005899/

相关文章:

php - 用于 PHP Loop 的 Google API 库

php - 执行方法始终设置为 true

javascript - 如何关闭 iframe 窗口?

php - 显示从数据库检索的数据作为表头

php - 如何从codeigniter事件记录中获取result_array列表到row_array中

php - 在 PHP 中打印多个反序列化数组

php - 数组中的对象是否通过引用传递?

基于先前选择的 PHP 选择

javascript - 通过 javascript 和 php 对表以及其他一些选择标准进行动态排序

php - 如何将 PHP 和 SQL 添加到样式表