Avatar billede trevi Nybegynder
20. maj 2004 - 17:20 Der er 7 kommentarer og
1 løsning

Kan man slette alle billeder?

Kære eksperter.

Jeg har følgende script:

<?php

$dir = "../../../galleri/gal1/1/";

function GetFileName($file) {
$part = explode(".", $file);
$file = "";

for($i=0;$i<count($part)-1;$i++) {
  $file = $file . $part[$i];
}

return $file;
}

if($_GET["action"] == "delpic") {
if(file_exists($dir . $_GET["name"])) {
  unlink($dir . $_GET["name"]);
  //header("Location: slet.php");
}
}

?>

<table cellpadding="0" cellspacing="0" width="100%">
<?

if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
            $files[] = $file;
           
        }
    }
    closedir($handle);
}
$td = 0;
sort($files);
  foreach($files as $file){
        $td++;
        if($td == 1) {echo "<tr>\n"; }
        ?>
<td align="center" width="25%">
                  <table cellpadding="0" cellspacing="0" align="center" class="tekst_link">
                    <tr>
                <td align="center" style="border: 1px solid #ffffff;"><img src="<? echo $dir.$file; ?>" alt="" width="99" height="86"><br>
                </td>
</tr>
<tr>
<center>
                                          <td class="tekst_normal">
                                           
                    <div align="center">
                      <?php echo GetFileName($file); ?>
                      - <a href="slet.php?action=delpic&name=<?php echo $file?>">Slet</a>
                    </div>
                                          </td>
                                        </center>
</tr>
</table>
</td>

        <?
        if($td == 4) {echo "</tr>\n"; $td = 0;}
}
?>



som går ind og sletter et billede af gangen i den følgende mappe.. hvordan laver jeg så der står allerøverst en knap hvor jeg kan slette alle billederne i mappen ?
Avatar billede dennismp Nybegynder
20. maj 2004 - 20:38 #1
if($_GET["action"] == "delall") {
  if ($handle = opendir($dir)) {
      while (false !== ($file = readdir($handle))) {
          if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
              unlink($file);
           
          }
      }
      closedir($handle);
  }
}

.. og så laver du bare et link der hedder
<a href="slet.php?action=delall">Slet alt!</a>
Avatar billede vixmix Nybegynder
21. maj 2004 - 09:10 #2
okay mange tak .. skal den så bare under den alle? spørger lidt dumt :)?
Avatar billede dennismp Nybegynder
21. maj 2004 - 09:18 #3
jeg vil nok sætte den før/efter denne if-blok
if($_GET["action"] == "delpic") {
..
}
if( ...
Avatar billede trevi Nybegynder
21. maj 2004 - 15:54 #4
if($_GET["action"] == "delall") {
  if ($handle = opendir($dir)) {
      while (false !== ($file = readdir($handle))) {
          if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
              unlink($file);
           
          }
      }
      closedir($handle);
  }
}



den siger fejl her:

              unlink($file);

(Warning: unlink() failed (Is a directory) in /customers/dmagnet.dk/dmagnet.dk/httpd.www/admin/galleri/gal2/slet.php on line 70)
Avatar billede trevi Nybegynder
21. maj 2004 - 15:58 #5
site update;

<?php

$dir = "../../../galleri/gal2/2/";

function GetFileName($file) {
$part = explode(".", $file);
$file = "";

for($i=0;$i<count($part)-1;$i++) {
  $file = $file . $part[$i];
}

return $file;
}

if($_GET["action"] == "delall") {
  if ($handle = opendir($dir)) {
      while (false !== ($file = readdir($handle))) {
          if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
              unlink($file);
           
          }
      }
      closedir($handle);
  }
}

if($_GET["action"] == "delpic") {
if(file_exists($dir . $_GET["name"])) {
  unlink($dir . $_GET["name"]);
  //header("Location: sletdrenge.php");
}
}

?>

<table cellpadding="0" cellspacing="0" width="100%">
<?

if ($handle = opendir($dir)) {
    while (false !== ($file = readdir($handle))) {
        if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
            $files[] = $file;
           
        }
    }
    closedir($handle);
}
$td = 0;
sort($files);
  foreach($files as $file){
        $td++;
        if($td == 1) {echo "<tr>\n"; }
        ?>
Avatar billede dennismp Nybegynder
21. maj 2004 - 18:08 #6
prøv med:

if($_GET["action"] == "delall") {
  if ($handle = opendir($dir)) {
      while (false !== ($file = readdir($handle))) {
          if ($file != "." && $file != ".." && $file != "Thumbs.db" && $file != "thumbs" && $file != "") {
              if( is_file($dir . '/' . $file) )
                unlink($dir . '/' . $file);
           
          }
      }
      closedir($handle);
  }
}
Avatar billede trevi Nybegynder
08. juni 2004 - 16:34 #7
det virkede vist meget godt.mange tak
Avatar billede trevi Nybegynder
08. juni 2004 - 16:34 #8
-lukket-
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester