Grafiken löschen

Status
Nicht offen für weitere Antworten.
Wie meinst du das?

PHP:
<?php
// Bilder aus einem Verzeichnis auslesen
// und sortiert in einer Tabelle anzeigen
$bilderliste = array();
$verzeichnis = "../Images/KG/";
$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 style=\"color:blue;\" href=\"./delete.php?img=".$bilderliste[$zaehler][1]."\">Bild löschen</a></td>";  
 echo "</tr>";
}
echo "</table>";
?>

Kannst du mir das nicht einfach machen? Ich weiss, ich lerne es dadurch nicht richtig aber es ist ja nur eine "kleine Adminoberfläche" zum Bilder anschauen und löschen.

Vielen Dank für eure super Hilfe.
 
Hi

ich könnte es dir machen, aber dazu habe ich, sagen wir mal keine Lust. Ich helfe dir aber gerne dabei.
Das Script sollte sich wie folgt abspielen. Du klickst auf den Link, daraufhin wird eine Seite (wenn du möchtest auch die gleiche) aufgerufen, die überprüft ob auf den Link geklickt wurde. Anschließend wird die betreffende Datei gelöscht.
PHP:
//Hier der Löschcode
if( isset($_GET["img"]) ){ // das heißt deine URL sieht z.B so aus www.beispiel.de?img=meinbild.png
  //jetzt kannst du prüfen ob das Bild existiert
  //wenn ja, kannst du es löschen
}

Den Löschcode kannst du in die Dateischreiben, auf die du verlinkst.
Diese Funktion sollte dir auch noch helfen. file_exists()
 
Würde das auch so reichen?

PHP:
if( isset($_GET["img"]) ){
unlink("filename");
}

Was muss ich an die Stelle von "filename" eintragen?
 
den dateinamen des Bildes das du löschen willst....
aber vorher prüfen ob das Bild existiert mit file_exist()
 
Hi, was ist denn der Dateiname der Grafik?

So geht es schon einmal nicht:

PHP:
<?php 
if( isset($_GET["img"]) ){
unlink("$bilderliste[$zaehler][1]");
}  
?>

Ich habe schon meinen ganzen Tag ruiniert nur um das zum laufen zu bekommen. :(
 
Warum ruiniert? Du kommst Schritt für Schritt näher ans Ziel. Und durch simples Überlegen solltest du ja auch gleich verstehen, wo der Dateipfad des Bildes versteckt ist. Bisschen Hirnzellen anstrengen, vor dem Posten mal nachdenken und anstatt zu schreiben mal frisch fröhlich zu probieren würde vielen Supportern viele Nerven sparen und die Postzahl auf tutorials.de wohl drastisch verkleinern :D
 
Mh aller Anfang ist schwer aber du solltest noch einmal die Grundlagen Tutorials anschauen und vor allem bitte mal die Code beiträge der anderen lesen denn im Beitrag #12 hat timestamp schon erklärt wie du es machen musst.

Ich geb dir dieses mal die Lösung direkt weil ich es dir nachfühlen kann ging mir Anfangs auch so.
Aber Cromon hat recht eigentlich solltest du durch nachdenken drauf kommen.
PHP:
<?php 
if( isset($_GET["img"]) ){
   if(file_exists("/pfad/zu/deinen/bildern/".$_GET["img"]))
      unlink("/pfad/zu/deinen/bildern/".$_GET["img"]);
}  
?>

Allerdings ist das so ohne Passwortschutz eine unsichere Sache denn damit kann jeder deine Bilder löschen.
 
Ich komme echt nicht drauf. :( :D

Ich kann mir vorstellen wie das bei euch Profis so ankommen muss aber es ist so. xD

Das Skript wird weder heute, noch morgen und auch in einem Jahr nicht laufen... :(
 
Dein letztes Posting ist schlicht und einfach eine Lüge und zeugt von Faulheit etwas zu probieren. Wer im PhP-Forum so einen Beitrag schreibt hat auf jeden Fall schon den Befehl "echo" gehört und kann dann damit rumprobieren wo der Pfad verborgen ist. Aber das braucht halt ein bisschen mehr als wortwörtlich 5 Minuten Aufwand.

PS:
Ich bin kein Profi. Mit PhP hab ich etwa so viel am Hut wie gewisse "Komiker" mit niveauvollem Humor.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Zurück