plusieurs unlink Checkbox

  • seularts
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Jan 02, 2007
  • Messages: 147
  • Loc: Romania
  • Status: Offline

Message Mars 28th, 2010, 5:22 am

J'ai ce petit code ici que unlink une image Lorsque je sélectionne une case à cocher et le soumettre à supprimer. Y at-il un moyen de supprimer plusieurs images en même temps!?

PHP Code: [ Select ]
<?php
 
 
if(isset($_POST['rfile'])){
$img=$_POST['rfile'];
echo $img;
unlink('xxx/abc/'.$img);
}else{}
 
if (empty($file_ary))
{
    $image_path = dirname(__FILE__) . '/xxx/abc';
    $dir_handle = null;
   
    if (!($dir_handle = opendir($image_path)))
    {
 
        return;
    }
    $html = '<html><form method="post">';
    $file = readdir($dir_handle);
   
    while ($file)
    {
   if(!$file == "." || !$file == ".." || eregi("\.jpg",$file) )
        $html .= "{$file}<input type=\"checkbox\" name=\"rfile\" value=\"{$file}\" /><br />\r\n";
        $file = readdir($dir_handle);
    }
    closedir($dir_handle);
   
    $html .= '<input type="submit" name="submit" value="Delete" />';
    $html .= "</form></html>";
    echo $html;
}
 
 
if (!empty($file_ary))
{
    echo '<pre>';
    print_r($file_ary);
    echo '</pre>';
}
 
?>
  1. <?php
  2.  
  3.  
  4. if(isset($_POST['rfile'])){
  5. $img=$_POST['rfile'];
  6. echo $img;
  7. unlink('xxx/abc/'.$img);
  8. }else{}
  9.  
  10. if (empty($file_ary))
  11. {
  12.     $image_path = dirname(__FILE__) . '/xxx/abc';
  13.     $dir_handle = null;
  14.    
  15.     if (!($dir_handle = opendir($image_path)))
  16.     {
  17.  
  18.         return;
  19.     }
  20.     $html = '<html><form method="post">';
  21.     $file = readdir($dir_handle);
  22.    
  23.     while ($file)
  24.     {
  25.    if(!$file == "." || !$file == ".." || eregi("\.jpg",$file) )
  26.         $html .= "{$file}<input type=\"checkbox\" name=\"rfile\" value=\"{$file}\" /><br />\r\n";
  27.         $file = readdir($dir_handle);
  28.     }
  29.     closedir($dir_handle);
  30.    
  31.     $html .= '<input type="submit" name="submit" value="Delete" />';
  32.     $html .= "</form></html>";
  33.     echo $html;
  34. }
  35.  
  36.  
  37. if (!empty($file_ary))
  38. {
  39.     echo '<pre>';
  40.     print_r($file_ary);
  41.     echo '</pre>';
  42. }
  43.  
  44. ?>
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Mars 28th, 2010, 5:22 am

  • joebert
  • Sledgehammer
  • Genius
  • No Avatar
  • Inscription: Fév 10, 2004
  • Messages: 13455
  • Loc: Florida
  • Status: Offline

Message Mars 28th, 2010, 9:38 am

Im going to suppose que ce n'est quelque chose sur un réseau privé et d'ignorer la faille de sécurité béante.

En premier lieu, remplacez cette ligne

Code: [ Select ]
$html .= "{$file}<input type=\"checkbox\" name=\"rfile\" value=\"{$file}\" /><br />\r\n";


Avec cette

Code: [ Select ]
$html .= "{$file}<input type=\"checkbox\" name=\"rfile[]\" value=\"{$file}\" /><br />\r\n";


Cela va forcer $ _POST [ "rfile"] d'être enregistré comme un tableau au lieu d'une seule valeur.

Ensuite, remplacez ce bloc

Code: [ Select ]
if(isset($_POST['rfile'])){
$img=$_POST['rfile'];
echo $img;
unlink('xxx/abc/'.$img);
}else{}
  1. if(isset($_POST['rfile'])){
  2. $img=$_POST['rfile'];
  3. echo $img;
  4. unlink('xxx/abc/'.$img);
  5. }else{}


Avec cette

Code: [ Select ]
if( ! empty($_POST['rfile']))
{
    foreach((array)@$_POST['rfile'] as $img)
    {
        echo $img;
        unlink("xxx/abc/$img");
    }
}
  1. if( ! empty($_POST['rfile']))
  2. {
  3.     foreach((array)@$_POST['rfile'] as $img)
  4.     {
  5.         echo $img;
  6.         unlink("xxx/abc/$img");
  7.     }
  8. }
Strong with this one, the sudo is.
  • seularts
  • Graduate
  • Graduate
  • Avatar de l’utilisateur
  • Inscription: Jan 02, 2007
  • Messages: 147
  • Loc: Romania
  • Status: Offline

Message Mars 28th, 2010, 10:54 pm

Merci Il a travaillé comme un charme :)

Afficher de l'information

  • Total des messages de ce sujet: 3 messages
  • Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 119 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC