2011-06-15 57 views
0

這是用戶可以編輯其上傳圖像的頁面。每張圖片附近都有一個複選框。我想在用戶單擊「刪除選定圖像」按鈕(每個複選框包含圖像名稱作爲值)後刪除所選圖像。我怎樣才能做到這一點?藉助複選框刪除所選圖像

<?php 
    session_start(); 
    //////////////if user already logged in go to login.php///////// 
    if (isset($_SESSION['email'])&& isset($_SESSION['password'])) 
    { 
    } else{header("Location: login.php"); } 

     include('includes/config.php'); 


     if (isset($_POST['esubmit']) ){ 

     $checkbox=$_POST['delete']; 
     echo $checkbox; 

     }//main one 



    if (isset($_POST['esubmit']) ){ 

    } else {  $clickeditid=$_GET["id"]; 
     $_SESSION['eid']= $clickeditid ; 
     } 




?> 
<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Untitled Document</title> 
<link href="css/css.css" rel="stylesheet" type="text/css" /> 
<style rel="stylesheet" type="text/css"> 
input { 
    border-style: solid; 
    border-color: #000000; 
    border-width: 1px; 
    background-color: #ffffff; 
} 
</style> 

<script src="js/css_browser_selector.js" type="text/javascript"></script> 
</head> 

<body> 
<?php 


include('includes/topmenu.php');//top menu 
    echo '<br />'; 
    include('includes/usermenu.php');///bcoz of this menu error occurs 



//////////////////// 


    include('includes/edit_img_menu.php'); 
?> 
    <form id="form1" name="form1" method="post" action="editimg.php?id=<?php echo $_SESSION['eid'];?>"> 
    <table align="center" width="70%" cellspacing="0"> 
    <tr> 
    <td colspan="3" align="center" bgcolor="#FFFFFF"></td> 
    </tr> 
    <tr> 
    <td colspan="3" align="center" bgcolor="#FFFFFF"><?php  
$imgcheck=mysql_query(" 

SELECT * 
FROM `images` 
WHERE `deal_id` =$_SESSION[eid] 
LIMIT 0 , 30 

"); 
$numimgcheck=mysql_num_rows($imgcheck); 
if($numimgcheck==0){echo '<span style=color:#ff0000; >No pictures uploaded</span>';} 
while ($rowimg2= mysql_fetch_array($imgcheck)){ 


    $imgname=$rowimg2['name']; 

{ 



    echo ' <a href="users/'.$_SESSION['userid'].'/images/'.$imgname.'" rel="lightbox[slide]" caption=".">'; 
} 


{ echo '<img src="users/'.$_SESSION['userid'].'/images/thumbs/'.$imgname.'" border="0" />';} 
     { echo '</a><input type="checkbox" name="delete" id="delete" value="'.$imgname.'"> &nbsp;&nbsp;&nbsp;&nbsp; 
';} 




} 
    ?></td> 
    </tr> 
    <tr> 
    <td colspan="3" align="center" bgcolor="#FFFFFF">&nbsp;</td> 
    </tr> 
    <tr> 
    <td colspan="3" align="center" bgcolor="#95F8FD"><input name="esubmit" type="submit" class="red" id="esubmit" value="Delete selected images" /></td> 
    </tr> 
    <tr> 
    <td width="89">&nbsp;</td> 
    <td colspan="2">&nbsp;</td> 
    </tr> 
</table> 
    </form> 

</body> 
</html> 

回答

0

我用下面的代碼在我的管理面板中刪除圖像。我將該文件保存爲deletephoto.php。請注意,此腳本無需登錄即可使用。您需要進行一些更改以適合您的使用情況

<form method="post" action="deletepho.php"> 
<center> 
<input type="submit" value="Delete" name="Delete"> 
</center> 
<?php 
\\lets assign the folder name in $title 
\\You can assign any name 
$title= "test"; 
\*$directory corresponds to whole path. Edit to your preference. (i assume u store your 
images in directory named "images") */  
$directory = "$title/images"; 
\\The array specifies the format of the files 
$allowed_types=array('jpg','jpeg','gif','png'); 
$file_parts=array(); 
$ext=''; 
$title=''; 
$i=0; 

$dir_handle = @opendir($directory) or die("There is an error with your image directory!"); 

while ($file = readdir($dir_handle)) 
{ 
    if($file=='.' || $file == '..') continue; 

    $file_parts = explode('.',$file); 
    $ext = strtolower(array_pop($file_parts)); 

    $title = implode('.',$file_parts); 
    $title = htmlspecialchars($title); 

    $nomargin=''; 

    if(in_array($ext,$allowed_types)) 
    { 
     if(($i+1)%4==0) 
     $nomargin='nomargin'; 
     echo' 
     <div id="picture"> 
     <img src="'.$directory.'/'.$file.'" width="150" height="150"><br> 
     Select <input type="checkbox" value="'.$directory.'/'.$file.'" name="imgfile[]"> 

\* I specified input name as an array . So that we can store in an array and delete it.*/ 
      </div>'; 
      } 
      $i++; 
     } 

    closedir($dir_handle); 
    \\Now we have the list of images within form elements 
    ?> 
    </form> 

現在,您可以使用實際的代碼來刪除照片。我將它保存爲deletepho.php

$file = $_REQUEST['imgfile']; 
$num_files=count($file); 
for($i=0;$i<$num_files;$i++) 
{ 
unlink ("$file[$i]"); 
} 
echo "Images successfully deleted.Go <a href='deletephoto.php'>back</a>";