Grafiken löschen

Status
Nicht offen für weitere Antworten.

Alice

Erfahrenes Mitglied
Hallo.

Ich habe ein kleines Skript was mit Grafiken mit ein paar Infos anzeigt. Ich wollte nun eine Funktion einbauen um Grafiken zu markieren und löschen zu können. Nur wie? Kann mir da jemand helfen?

PHP:
<?php
// Bilder aus einem Verzeichnis auslesen
// und sortiert in einer Tabelle anzeigen
$bilderliste = array();
$verzeichnis = "../Images/Grafiken/";
$handle = openDir($verzeichnis);
while ($datei = readDir($handle)) {
 $verzeichnis_datei = $verzeichnis . $datei;
 if ($datei != "." && $datei != ".." && !is_dir($datei)) {
  if (strstr($datei, ".gif") || strstr($datei, ".png") || strstr($datei, ".jpg")) {
   $info = getimagesize($verzeichnis_datei);
   array_push($bilderliste, array(filemtime($verzeichnis_datei) , $verzeichnis_datei , $info[0] , $info[1]));
  }
 }
}
closeDir($handle);

rsort($bilderliste);

echo <<<EOT
<table align="center" border="1">
 <tr>
  <td>Kennzeichen</td> <td>Dateiname</td> <td>Datum</td> <td>Maße</td>
 </tr>
EOT;

foreach ($bilderliste as $zaehler => $element) {
 echo "<tr>";
 echo "<td align=left><img src=\"" . $bilderliste[$zaehler][1] . "\" width=\"" . $bilderliste[$zaehler][2] . "\" height=\"" . $bilderliste[$zaehler][3] . "\" alt=\"\"></td >";
 echo "<td align=left>" . str_replace($verzeichnis, "", $bilderliste[$zaehler][1]) . "</td>";
 echo "<td align=left>" . date("d.m.Y H:i", $bilderliste[$zaehler][0]) . "</td>";
 echo "<td align=left>" . $bilderliste[$zaehler][2] . " x ". $bilderliste[$zaehler][3] . "</td>";
 echo "</tr>";
}
echo "</table>";
?>

Edit:

Es würde auch reichen wenn für jedes Bild ein Lösch-Button wäre.

Vielen Dank.
 
Hallo

wie wäre es einfach so?
HTML:
<td align="left"><a href="./delete.php?img=<?=$bilderliste[$zaehler][1];?>">Bild löschen</a></td>
 
Ich probiere es mal aus. :) Danke! :)

Edit:

So geht es nicht:
PHP:
<?php
// Bilder aus einem Verzeichnis auslesen
// und sortiert in einer Tabelle anzeigen
$bilderliste = array();
$verzeichnis = "../Kennzeichen-Generator/Kennzeichen/";
$handle = openDir($verzeichnis);
while ($datei = readDir($handle)) {
 $verzeichnis_datei = $verzeichnis . $datei;
 if ($datei != "." && $datei != ".." && !is_dir($datei)) {
  if (strstr($datei, ".gif") || strstr($datei, ".png") || strstr($datei, ".jpg")) {
   $info = getimagesize($verzeichnis_datei);
   array_push($bilderliste, array(filemtime($verzeichnis_datei) , $verzeichnis_datei , $info[0] , $info[1]));
  }
 }
}
closeDir($handle);

rsort($bilderliste);

echo <<<EOT
<table align="center" border="1">
 <tr>
  <td>Kennzeichen</td> <td>Dateiname</td> <td>Datum</td> <td>Maße</td> <td>Löschen</td>
 </tr>
EOT;

foreach ($bilderliste as $zaehler => $element) {
 echo "<tr>";
 echo "<td align=left><img src=\"" . $bilderliste[$zaehler][1] . "\" width=\"" . $bilderliste[$zaehler][2] . "\" height=\"" . $bilderliste[$zaehler][3] . "\" alt=\"\"></td >";
 echo "<td align=left>" . str_replace($verzeichnis, "", $bilderliste[$zaehler][1]) . "</td>";
 echo "<td align=left>" . date("d.m.Y H:i", $bilderliste[$zaehler][0]) . "</td>";
 echo "<td align=left>" . $bilderliste[$zaehler][2] . " x ". $bilderliste[$zaehler][3] . "</td>";
 echo "<td align="left"><a href="./delete.php?img=<?=$bilderliste[$zaehler][1];?>">Bild löschen</a></td>";
 echo "</tr>";
}
echo "</table>";
?>
 
Zuletzt bearbeitet:
Hi,

so auch nicht?
PHP:
<?php
// Bilder aus einem Verzeichnis auslesen
// und sortiert in einer Tabelle anzeigen
$bilderliste = array();
$verzeichnis = "../Kennzeichen-Generator/Kennzeichen/";
$handle = openDir($verzeichnis);
while ($datei = readDir($handle)) {
 $verzeichnis_datei = $verzeichnis . $datei;
 if ($datei != "." && $datei != ".." && !is_dir($datei)) {
  if (strstr($datei, ".gif") || strstr($datei, ".png") || strstr($datei, ".jpg")) {
   $info = getimagesize($verzeichnis_datei);
   array_push($bilderliste, array(filemtime($verzeichnis_datei) , $verzeichnis_datei , $info[0] , $info[1]));
  }
 }
}
closeDir($handle);

rsort($bilderliste);

echo <<<EOT
<table align="center" border="1">
 <tr>
  <td>Kennzeichen</td> <td>Dateiname</td> <td>Datum</td> <td>Maße</td> <td>Löschen</td>
 </tr>
EOT;

foreach ($bilderliste as $zaehler => $element) {
 echo "<tr>";
 echo "<td align=left><img src=\"" . $bilderliste[$zaehler][1] . "\" width=\"" . $bilderliste[$zaehler][2] . "\" height=\"" . $bilderliste[$zaehler][3] . "\" alt=\"\"></td >";
 echo "<td align=left>" . str_replace($verzeichnis, "", $bilderliste[$zaehler][1]) . "</td>";
 echo "<td align=left>" . date("d.m.Y H:i", $bilderliste[$zaehler][0]) . "</td>";
 echo "<td align=left>" . $bilderliste[$zaehler][2] . " x ". $bilderliste[$zaehler][3] . "</td>";
 echo "<td align=left><a href=\"./delete.php?img=<?=$bilderliste[$zaehler][1];?>\">Bild löschen</a></td>";
 echo "</tr>";
}
echo "</table>";
?>


mfg Maik
 
Doch jetzt geht das Skript wieder aber wenn ich "Löschen" klicke kommt die Meldung "Page not found" und die URL wird zu "www,Meine-Seite,de/KG/delete.php?img=<?=Array[1];?>".

Und alle "Lösch-Buttons" sehen so aus als wurden sie alle angeklickt.
 
So klappt es besser

PHP:
foreach ($bilderliste as $zaehler => $element) {
 echo "<tr>";
 echo "<td align=left><img src=\"" . $bilderliste[$zaehler][1] . "\" width=\"" . $bilderliste[$zaehler][2] . "\" height=\"" . $bilderliste[$zaehler][3] . "\" alt=\"\"></td >";
 echo "<td align=left>" . str_replace($verzeichnis, "", $bilderliste[$zaehler][1]) . "</td>";
 echo "<td align=left>" . date("d.m.Y H:i", $bilderliste[$zaehler][0]) . "</td>";
 echo "<td align=left>" . $bilderliste[$zaehler][2] . " x ". $bilderliste[$zaehler][3] . "</td>";
 echo "<td align=left><a style="color:blue;" href=\"./delete.php?img=".$bilderliste[$zaehler][1]."\">Bild löschen</a></td>";
 echo "</tr>";
}
Dann erstellst du noch eine delete.php
PHP:
if( isset($_GET["img"]) ){
  //bild löschen
}
 
Jungs ist seit wirklich die besten. :) :) :)

Da ist aber noch nen Fehler drin. Es kommt diese Meldung:

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in XXX.php on line 41
 
muss das skript im selben ordner sein wie die grafiken? Denn mein Skript ist wo anders.

Wenn ich auf Löschen klicke kommt eine neue Seite und da steht:
if( isset($_GET["img"]) ){ //bild löschen }

URL:
www,meine-seite,de/admin/delete.php?img=../KG/Kennzeichen/ABCDEFG.png

EDIT:

Hab alles versucht, es geht nicht.
 
Zuletzt bearbeitet:
Hallo

an die Stelle von meinem Kommentar musst du natürlich deinen Code zum Löschen des Bildes setzten. Ich gebe dir mal diese Funkion als Hinweis: unlink()
 
Status
Nicht offen für weitere Antworten.
Zurück