exec funktion mit "rm"
christian
- php
hi
folgendes geht nicht:
exec ("rm bilder/$bname");
obwohl es ein unix host ist, kommt eine fehlermeldung konnte nicht gelöscht werden. Das bild in der Variable existiert auf jeden fall schon eingehend kontrolliert.
Sonst noch ideen warum es nicht geht?
bye
Hi Christian
exec ("rm bilder/$bname");
obwohl es ein unix host ist, kommt eine fehlermeldung konnte nicht gelöscht werden. Das bild in der Variable existiert auf jeden fall schon eingehend kontrolliert.
Wie ist die genaue Fehlermeldung.
Mach mal cut n paste der Fehlermeldung.
Es könnte die verschiedenstens Ursachen haben
Gruß
Mike
hi
das würd ich gern aber es kommt kein fehler, es wird einfach nicht gelöscht.
Nur wenn ich sage
if(!exec ("rm bilder/$bname"))
{
print "fehler";
}
dann gibt er fehler.
bye
Hi Christian,
das würd ich gern aber es kommt kein fehler, es wird einfach nicht gelöscht.
dann must Du wohl verschieden Sachen testen. Welche Rechte
hat die Datei 777 oder 666
In welchem Pfad befindest Du dich ?
Versuche es zunächst mal mit dem absoluten Pfad.
Taste Dich so mal langsam vor.
Gruß
Mike
Moin,
Eine dumme Frage zum Anfang: Gibt es einen bestimmten Grund warum du nicht http://www.php.net/manual/de/function.unlink.php verwendest, oder reizt dich einfach nur der Nervenkitzel des Gefährlichen? (Wenn der Parameter von exec() mit Usereingaben gefüttert wird, und man sich dabei dumm anstellt, kann es leicht passieren, dass ein User beliebige Kommandos ausführen kann.)
if(!exec ("rm bilder/$bname"))
{ print "fehler"; }
dann gibt er fehler.
Und das ist auch gut so. exec() gibt, wie in diesem Thread bereits erwähnt, die letzte Zeile des Programm-Outputs zurück. rm gibt keinen Output zurück, wenn alles glatt läuft, und !"" ist nunmal eine wahre Aussage.
--
Henryk Plötz
Grüße aus Berlin
rehi,
folgendes geht nicht:
exec ("rm bilder/$bname");
im Handbuch steht zu "exec":
"exec() führt ein gegebenen Befehl aus, ohne eine Ausgabe zu erzeugen. Die Funktion gibt lediglich die letzte Zeile aus dem Befehlsergebnis zurück."
obwohl es ein unix host ist, kommt eine fehlermeldung konnte nicht gelöscht werden.
Möglicherweise ist die Datei bereits gelöscht, ohne daß du es mitbekommen hast. Du solltest das mit einem FTP-Programm überprüfen. Die Fehlermeldung kommt mit diesem Wortlaut, wenn die zu löschende Datei nicht existiert oder mit anderem Namen existiert
Grüße aus Berlin
Christoph S.
hi
die datei ist 100 prozentig noch da
bye
hallo,
die datei ist 100 prozentig noch da
dann kann es noch an den Rechten liegen. Es kann sein, daß dein Script andere Berechtigungen hat (bzw. einer anderen Gruppe angehört) als dein FTP-Account
Christoph S.