Steffi: unlink

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ß

  1. 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

  2. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. 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.

      1. 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

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau

        1. "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.

          1. 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

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau

            1. 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???

              1. 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

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau

        2. 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.

          1. 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?

            1. 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

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau

              1. 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.

                1. 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

                  --
                  Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                  Nur selber lernen macht schlau