Struppi: Bild vom Server löschen

Beitrag lesen

#!/usr/bin/perl

use strict;
use warnings;

gehört hier noch hin.

CGI Modul nutzen

use CGI;

Parametervariable festlegen

$a = new CGI;

Aussagekräftiger Variabelname, nebenbei ist $a und $b bereits reserviert.

$pfad = "/home/www/html/bilder";
opendir(DIR,"$pfad");

opendir(DIR,"$pfad") || die "Kann $pfad nicht öffnen, weil: $!";
***************
Das versteh ich nicht, wenn ich direkt den Pfadnamen bei unlink("$pfad/brunnen.jpg"); angebe wird die Datei gelöscht.
*******************

Du sollst prüfen ob es gelungen ist das Verzeichniss zu öffnen.

open F, "name" || die ...

|| => ist eine "or" Verknüpfung.

@files = readdir(DIR);
closedir(DIR);

$test1= CGI::param('$bild');
$test2= $a->param("$bild");

und hier ist der Fehler (den du mit Hilfe von strict gefunden hättest)

Was steht den $bild? Kann es sein, das du "bild" meinst?

$test3= "$bild";
********************
Diese 3 $test(s) sind Versuche um den Wert aus dem hidden Feld des Formulares von oben darzustellen, ich hab alle Varianten ausprobiert aber ich bekomm den Wert aus dem hidden Feld $image nicht! Das ist mein eigentliches Problem!

Weil dein Feld auch nicht '$image' heißt sondern 'image', bzw 'bild' und nicht '$bild'

unlink("$pfad/$test1");
unlink("$pfad/$test2");
unlink("$pfad/$test3");

auch hier solltest du den Erfolg checken

*********** Kann ja nicht gehen, wenn $test1/2/3 leer sind*********

Selbst wenn es gehen könnte, solltest du es testen.
Das ist irgendwie so 'ne Unsitte von VB Programmierern (zumindest die ich kenne) nix wird geprüft, wird schon alles laufen. Wenn ich dein PHP Programm seh krieg ich das gruseln. Aber da kann ich nicht helfen.

Aber auch diese Perlprogramm strotzt vor Unzulänglichkeiten, die in erster Linie dir als (vermutlich) Anfänger Fallstricke ohne Ende aufbauen.

Wie gesagt, benutze user strict; und schalte die Warnungen an. Dann musst du alle Variabeln mit my deklarieren, aber es schützt dich vor Schreibfehlern und wenn du dann noch alle Warnungen eliminierst, ist dir bei deiner Fehlersuche schon viel geholfen.

So wie du es hier machst, brauchst du mehr Zeit zur Fehlersuche als zum programmieren.

Struppi.