从文件夹PHP中删除图像

时间:2013-02-21 15:24:15

标签: php

我有一个文件夹,用于保存我的图像,名为img/。我有一张包含所有图像的表格:

<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"

6 个答案:

答案 0 :(得分:60)

有几条路线。一个,最简单的,将涉及将其变成一种形式;提交时,您对POST数据做出反应并使用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请求,而不是提交表单。服务器端代码看起来与此类似。

文档及相关阅读

答案 1 :(得分:22)

您可以使用unlink()功能删除PHP中的文件。

unlink('path/to/file.jpg');

答案 2 :(得分:3)

删除使用http://www.php.net/manual/en/function.unlink.php 希望你能写逻辑吗?

答案 3 :(得分:3)

首先检查图像是否存在?如果是,则只需调用unlink(您的文件路径)功能删除您的文件,否则向用户显示消息。

              if (file_exists($filePath)) 
               {
                 unlink($filePath);
                  echo "File Successfully Delete."; 
              }
              else
              {
               echo "File does not exists"; 
              }

答案 4 :(得分:2)

您可以尝试使用此代码。这是简单的PHP图像从服务器删除代码。

<form method="post">
<input type="text" name="photoname"> // You can type your image name here...
<input type="submit" name="submit" value="Delete">
</form>

<?php
if (isset($_POST['submit'])) 
{
$photoname = $_POST['photoname'];
if (!unlink($photoname))
  {
  echo ("Error deleting $photoname");
  }
else
  {
  echo ("Deleted $photoname");
  }
}
?>

答案 5 :(得分:0)

<?php

    require 'database.php';

    $id = $_GET['id'];

    $image = "SELECT * FROM slider WHERE id = '$id'";
    $query = mysqli_query($connect, $image);
    $after = mysqli_fetch_assoc($query);

    if ($after['image'] != 'default.png') {
        unlink('../slider/'.$after['image']);
    }

    $delete = "DELETE FROM slider WHERE id = $id";
    $query = mysqli_query($connect, $delete);

    if ($query) {
        header('location: slider.php');
    }

?>