Julian Finn: Bilder vom user online stellen lassen

Hallo,
um dem kunden die Möglichkeit zu bieten, die Linkdatenbank einer Homepage selbst zu aktualisieren, bastele ich gerade ein Admin-Tool.
So weit so gut, ist ja 'ne wirklich einfache Sache.
Problematischer wirds dabei, dass die Links mit Bildern verknüpft werden sollen. Da der Kunde nicht mit solchen Dingen wie FTP belästigt werden soll, hatte ich die Idee, ein Skript zu basteln, dass lokal gespeicherte Dateien zeichenweise ausliest und auf dem Server abspeichert (oder sogar in die Datenbank steckt, um sie dann bei Abrufen ausuzulesen, abzuspeichern und hinterher wieder zu löschen.)

Nur: wie stelle ich das mit dem lokalen auslesen an?
Und: welche Methode haltet ihr für geeignet?

Grüße und Danke,

Julian

  1. Hallo,

    Nur: wie stelle ich das mit dem lokalen auslesen an?

    Das geht viel einfacher, mit einem formular und den input type="file" siehe: http://www.php.net/manual/de/features.file-upload.php

    Und: welche Methode haltet ihr für geeignet?

    Bilder haben nix in einer datenbank zu suchen, langsam und unpraktisch. Bilder ins filesystem, link auf das bild in die DB.

    lg
    Ludwig

    1. Hallo,

      Nur: wie stelle ich das mit dem lokalen auslesen an?
      Das geht viel einfacher, mit einem formular und den input type="file" siehe: http://www.php.net/manual/de/features.file-upload.php

      danke, aber wie muß das skript dahinter aussiehen, das diesen upload dann abarbeitet und steuert?

      Und: welche Methode haltet ihr für geeignet?
      Bilder haben nix in einer datenbank zu suchen, langsam und unpraktisch. Bilder ins filesystem, link auf das bild in die DB.

      dachte ich mir auch schon.. aber zumindest eine umbenennung des bildes (in $nummer.jpg) (und eine verwaltung der Bilder durch die DB) wäre wohl angebracht, oder?

      cheers,
      Julian

      1. Hallo,

        danke, aber wie muß das skript dahinter aussiehen, das diesen upload dann abarbeitet und steuert?

        was meinst?
        <input type="file" name="file">

        in php:

        if($file!="none"){
          copy($file,"/home/user/bilder/neuername.ext);
        }

        natürlcih solltest du per getimagesize format und größe überprüfen, und vorher den link in der datenbank speichern, mittels mysql_insert_id die id rausbekommen, und dann als $id.ext speichern.

        dachte ich mir auch schon.. aber zumindest eine umbenennung des bildes (in $nummer.jpg) (und eine verwaltung der Bilder durch die DB) wäre wohl angebracht, oder?

        siehe oben

        lg
        Ludwig

  2. Hallo,

    hab ich das richtig verstanden? Der User soll Links erstellen können. Wird auf der Website auf einen solchen Link geklickt, so wird ein Bild geöffnet/downgeloaded.

    Warum gibst Du dem benutzer nicht gleich beim anlegen eines Links die Möglichkeit das zugehörige Bild per
    input type=file
    upzuloaden?
    Methode wäre dann POST.

    Hoffe das hilft weiter.
    Gruss
    Tobias

    1. Hallo,

      hab ich das richtig verstanden? Der User soll Links erstellen können. Wird auf der Website auf einen solchen Link geklickt, so wird ein Bild geöffnet/downgeloaded.

      fast: Das bild soll neben dem Link stehen bzw. der Link sein (die Bilder werden alle immer im gleichen größenverhältnis und so abgespeichert, schließlich handelt es sich um ein admin-tool für den Kunden..)

      Warum gibst Du dem benutzer nicht gleich beim anlegen eines Links die Möglichkeit das zugehörige Bild per
      input type=file
      upzuloaden?
      Methode wäre dann POST.

      Hoffe das hilft weiter.

      mehr oder weniger ;-) siehe mein anderes antwortposting..
      aber trotzdem mal dankeschön :)

      1. Hallo,

        http://www.zend.com/manual/features.file-upload.php
        da findest du alles nötige, was den Fileupload und das Speichern auf dem Server angeht.
        Falls Du das Bild serverseitig per Skript bearbeiten willst (grösse, auflösung) musst Du prüfen, ob auf dem Server eine Grafik-Bibliothek für PHP installiert ist (GD-Bibliothek ).

        Gruss
        Tobias