unlink
Steffi
- php
Hi,
habe durch ein entfernen von "unlink" ein script soweit zum laufen
gebracht, nur das anzeigen von Bildern erfolgt nicht, es kommt ein
kleines Bild mit einem Kreuz.
Ich frage mich jetzt ob es jetzt daran liegt und wie der gegen-
teilige Befehl von "unlink" lautet.
Heißt der Befehl zufällig "link"???
Gruß
Hi Steffi,
Heißt der Befehl zufällig "link"???
Nein. Das Gegenteil von "unlink" kann "vi" oder "notepad", "cp", "copy", "mv", "move", "save", "save as" etc. heißen ;-)
"unlink" löscht eine Datei.
Gruß
Hans
Hello,
ich ahne, dass Du Dich vollkommen auf dem Holzweg befindest.
Ich frage mich jetzt ob es jetzt daran liegt und wie der gegen-
teilige Befehl von "unlink" lautet.
Heißt der Befehl zufällig "link"???
http://www.php.net/manual/en/function.unlink.php löscht eine Datei aus dem Dateibaum.
Das Gegenteil davon müsste also sein, eine Datei anzulegen. Das macht man mit
copy() http://www.php.net/manual/en/function.copy.php
fopen() http://www.php.net/manual/en/function.fopen.php
file_put_contents() http://www.php.net/manual/en/function.file-put-contents.php
...
Das kleine Kreuzchen wird sicherlich im Browser angezeigt und symbolisiert einen "broken link"
Also schau mal nach den Eigenschaften des Kreuzchens mittels rechter Maustaste und lies, welcher Pfad dort erwartet wurde.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Davor ist noch eine if abfrage, ja, es geht dabei um Dateien löschen.
Ich denke das mit dem broken link ist ein guter Hinweis, weil ich
vermute, daß es entweder an einem falschem Pfad liegt (wie so oft)
oder an chmod777.
Hello,
Davor ist noch eine if abfrage, ja, es geht dabei um Dateien löschen.
Ich denke das mit dem broken link ist ein guter Hinweis, weil ich
vermute, daß es entweder an einem falschem Pfad liegt (wie so oft)
oder an chmod777.
"chmod 777 dateiname" ist ein Befehl, der den Vollzugriff für Jedermann ermöglichen würde...
Change Mode
Es würde zum Lesen aber 444 ausreichen oder bestenfalls 644
Das nur so nebenbei.
Das Einfachste wird sein, wenn Du uns das kleine Stück relevanten Codes Deines PHP-Scriptes und das kleine Stück relevanten Codes des resultirenden HTML-Dokumentes postest. Aber bitte ohne Formen- und Farbenspielereien ;-))
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
"chmod 777 dateiname" ist ein Befehl, der den Vollzugriff für Jedermann ermöglichen würde...
Ist nicht schlimm oder vielmehr ist das der Sinn des Scripts, daß User(Jedermann) Bilder hochladen können und betrachten können. :-)
Kann ein User denn dann auch einfach so Dateien(Bilder) von der Datenbank löschen, daß doch nicht oder? Er hat ja in dem Sinne keinen Zugriff auf die Datenbank, sondern nur durch das Script.
Hello,
"chmod 777 dateiname" ist ein Befehl, der den Vollzugriff für Jedermann ermöglichen würde...
Ist nicht schlimm oder vielmehr ist das der Sinn des Scripts, daß User(Jedermann) Bilder hochladen können und betrachten können. :-)
Kann ein User denn dann auch einfach so Dateien(Bilder) von der Datenbank löschen, daß doch nicht oder? Er hat ja in dem Sinne keinen Zugriff auf die Datenbank, sondern nur durch das Script.
Das kommt drauf an, wie Dein Server aufgebaut ist.
Wenn Du shared hosting nutzt, also mit mehreren Bentuzern auf einem Server herumtobst, der als _eine_Zelle_ eingerichtet ist, und außerdem noch PHP im Modul benutzt wird, dann benutzt ohnehin jeder Domaininhaber denselben Dienst. Die Abgrenzung führt PHP dann programmintern z.B. durch Setzen von open_basedir Restriktionen durch.
Befehle, wie exec() usw, sollten dann aber abgeschaltet sein, denn damit könntest Du als Mitbenutzer den ganzen Server explorieren und auch Schaden anrichten.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Das kommt drauf an, wie Dein Server aufgebaut ist.
Wenn Du shared hosting nutzt, also mit mehreren Bentuzern auf einem Server herumtobst, der als _eine_Zelle_ eingerichtet ist, und außerdem noch PHP im Modul benutzt wird, dann benutzt ohnehin jeder Domaininhaber denselben Dienst. Die Abgrenzung führt PHP dann programmintern z.B. durch Setzen von open_basedir Restriktionen durch.Befehle, wie exec() usw, sollten dann aber abgeschaltet sein, denn damit könntest Du als Mitbenutzer den ganzen Server explorieren und auch Schaden anrichten.
Ich bin bei strato.de. Ich benutze exec() nicht. Kann dann doch
etwas passieren???
Hello,
Das kommt drauf an, wie Dein Server aufgebaut ist.
Wenn Du shared hosting nutzt, also mit mehreren Bentuzern auf einem Server herumtobst, der als _eine_Zelle_ eingerichtet ist, und außerdem noch PHP im Modul benutzt wird, dann benutzt ohnehin jeder Domaininhaber denselben Dienst. Die Abgrenzung führt PHP dann programmintern z.B. durch Setzen von open_basedir Restriktionen durch.Befehle, wie exec() usw, sollten dann aber abgeschaltet sein, denn damit könntest Du als Mitbenutzer den ganzen Server explorieren und auch Schaden anrichten.
Ich bin bei strato.de. Ich benutze exec() nicht. Kann dann doch
etwas passieren???
Das hängt davon ab, ob Andere "exec()" verwenden dürfen, und ob PHP als Modul oder als CGI läuft bei Strato. Das weiß ich leider nicht, wie die ihre Server einrichten.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Also schau mal nach den Eigenschaften des Kreuzchens mittels rechter Maustaste und lies, welcher Pfad dort erwartet wurde.
Der Pfad ist in Ordnung. "/images/2.jpg" Dort liegen aber
erstanlicherweise keine Bilder bzw. wurden keine Bilder
eingeschrieben, was mich ein bisschen wundert, weil diese "2.jpg"
wird ja mit der RM angegeben.
Kann es sein, daß das Problem bei chmod777 zu suchen ist?
Verstehe jetzt, er erwartet den Pfad "/images/2.jpg". Dort liegt
aber nicht 2.jpg, daß heißt: 2.jpg liegt woanders bzw. wurde woanders
eingeschrieben.
Verstehe jetzt, er erwartet den Pfad "/images/2.jpg". Dort liegt
aber nicht 2.jpg, daß heißt: 2.jpg liegt woanders bzw. wurde woanders
eingeschrieben.
Ne, auch falsch. Ich habe jetzt mal einfach nach 2.jpg gesucht, aber nix gefunden, daß heißt nun: er erwartet zwar "/images/2.jpg" Es existiert aber gar kein 2.jpg. Also muß es dann doch an chmod777 hängen oder?
Hello,
Verstehe jetzt, er erwartet den Pfad "/images/2.jpg". Dort liegt
aber nicht 2.jpg, daß heißt: 2.jpg liegt woanders bzw. wurde woanders
eingeschrieben.Ne, auch falsch. Ich habe jetzt mal einfach nach 2.jpg gesucht, aber nix gefunden, daß heißt nun: er erwartet zwar "/images/2.jpg" Es existiert aber gar kein 2.jpg. Also muß es dann doch an chmod777 hängen oder?
Das kommt darauf an, wie Du das Bild Auf den Server schiebst.
Wenn das mittels upload geschieht, und Du auf einem Server arbeitest, bei dem der Safe-Mode eingeschaltet ist, dann hat es noch ganz andere Ursachen.
Du müsstest bitte ein bisschen mehr erzählen über die Randbedingungen.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom
Das kommt darauf an, wie Du das Bild Auf den Server schiebst.
Wenn das mittels upload geschieht, und Du auf einem Server arbeitest, bei dem der Safe-Mode eingeschaltet ist, dann hat es noch ganz andere Ursachen.Du müsstest bitte ein bisschen mehr erzählen über die Randbedingungen.
Ich mach das im Moment mit einem lokalen Server (xampp). Ich hab jetzt mal ein Bild "manuell" in den Ordner gesteckt und siehe da, daß Bild wird jetzt angezeigt. :-)
Also muß es dann ja an chmod777 hängen wenn ich mich nicht irre.
Hello,
Ich mach das im Moment mit einem lokalen Server (xampp). Ich hab jetzt mal ein Bild "manuell" in den Ordner gesteckt und siehe da, daß Bild wird jetzt angezeigt. :-)
Also muß es dann ja an chmod777 hängen wenn ich mich nicht irre.
Was reitest Du immer auf den Rechten des Users auf die Datei herum?
Du solltest erstmal versuchen, das von Dir vorgesehene Speicherverfahren zu beschreiben. Sonst können wir Dir nicht helfen. WIE soll das Bild später in das vorgesehene Verzeichnis gelangen und was tust Du zur Zeit dafür?
Dieses Stück Code solltest Du uns senden, und zwas das Stück vom Client (Ausschnitt aus dem HTML-Dokument) _und_ das Stück aus dem Serverscript, dass diesen Request verarbeiten soll.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom