dateipfad in datenbank +größe ändern...

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • dateipfad in datenbank +größe ändern...

    Ich möchte folgendes Vorhaben realisieren:
    Hab schon im Forum nach etwas ähnlichem gesucht, aber leider nix gefunden..

    Über ein Upload-Formular sollen User Bilder (.jpg od. .gif) in den Ordner "user_images" hochladen können. Dabei sollen die Bilder, falls sie größer als 50x100px sind automatisch verkleinert werden, ohne dass sie ihre Proportionen verlieren. Dann soll das Bild vor dem Abspeichern noch umbenannt werden (am Besten wohl anhand eines timestamps, da dadurch kein Dateiname doppelt vorkommt).
    So, jetzt liegt das Bild also mit einem abgeändertem Namen und evtl. mit neuen Maßen in dem Ordner "user_images". Wie kann ich jetzt aber bestimmte Bilder bestimmten Usern zuweisen? Wohl am Besten, indem ich den Pfad des Bildes in eine Datenbank eintragen lasse, oder? Man könnte zwar auch das ganze Bild in der Datenbank ablegen, was aber aus Performancegründen wohl kaum zu empfehlen sein dürfte, hab ich Recht?
    Ok, ich speicher also den Pfad in der Datenbank... aber wie genau mach ich das jetzt? Und wie kann ich es bewerkstelligen, dass die Datenbank upgedatet wird, sobald ich z.b. manuell per FTP ein Bild aus dem Ordner lösche... ist das überhaupt möglich??

    Hat jemand ein paar Tipps, Hinweise oder Lösungsansätze? Evtl. sogar schon ein fertiges oder anpassbares Skript?
    Vielen Dank für Eure Mühe...

  • #2
    wie wärs, wenn du den bildern namen gibst wie
    "uniqid_username.gif" ...oder so? da brauchst du nich extra ne db.

    und dat convertieren geht ganz gut mit `convert -geometry fetste_grös************99999999 filename newfilename`
    eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

    Kommentar


    • #3
      danke, aber die datenbank brauch ich schon (hat diverse andere gründe).

      das mit dem convert... hab ich leider nicht ganz verstanden.

      ach ja, noch ein kleiner nachtrag... hab gd_lib installiert..

      Kommentar


      • #4
        Über ein Upload-Formular sollen User Bilder (.jpg od. .gif) in den Ordner "user_images" hochladen können. Dabei sollen die Bilder, falls sie größer als 50x100px sind automatisch verkleinert werden, ohne dass sie ihre Proportionen verlieren. Dann soll das Bild vor dem Abspeichern noch umbenannt werden (am Besten wohl anhand eines timestamps, da dadurch kein Dateiname doppelt vorkommt).
        Alles klar

        So, jetzt liegt das Bild also mit einem abgeändertem Namen und evtl. mit neuen Maßen in dem Ordner "user_images". Wie kann ich jetzt aber bestimmte Bilder bestimmten Usern zuweisen? Wohl am Besten, indem ich den Pfad des Bildes in eine Datenbank eintragen lasse, oder?
        Korrekt - zusätzlich eine Relation zwischen User-IDs und Bild-IDs

        Man könnte zwar auch das ganze Bild in der Datenbank ablegen, was aber aus Performancegründen wohl kaum zu empfehlen sein dürfte, hab ich Recht?
        Du hast vollkommen recht. Aber eben verbunden mit dem Nachteil den Du richtig beschreibst.

        Ok, ich speicher also den Pfad in der Datenbank... aber wie genau mach ich das jetzt?
        Vermutlich eine rhetorische Frage. Beim Erzeugen und ablegen des Bildes hast Du ja die Info wohin Du es schreibst und wie Du es benennst.

        Und wie kann ich es bewerkstelligen, dass die Datenbank upgedatet wird, sobald ich z.b. manuell per FTP ein Bild aus dem Ordner lösche... ist das überhaupt möglich??
        Tja und das ist der Haken bei der ganzen Angelegenheit. Entweder Du unterbindest diese Möglichhkeit und löscht die Bilder inklusive der Directories über die Applikation selbst, so hast Du es in der Hand, daß alles korrekt abläuft.

        Aber auch bei diesem Feature kann natürlich passieren, dass trotz alledem an der Applikation vorbei Bilder gelöscht werden.


        Hat jemand ein paar Tipps, Hinweise oder Lösungsansätze?
        Du könntest bevor Du ein Bild zur Anzeige bringst über file_exists() prüfen, ob das Bild überhaupt auffindbar ist und in Abhängigkeit von dieser Info das Bild anzeigen. Ist aber auch öd, wenn das bei jedem Zugriff vorab der Check erfolgen muß. Hängt naturlich von der Anzahl der Zugriffe ab. Also ist das vmtl. eine weniger guter Ansatz.

        Besser vielleicht jener: Ein PHP-Synchronskript arbeitet alle DB-Einträge ab und prüft die Existenz der Files über file_exists(). Fehlt eines, könnte der Eintrag gelöscht werden, oder eine AKTIV-Kennzeichen in der Tabelle auf inaktiv gesetzt werden. Die Applikation dürfte dann nur aktive Bilder bereitstellen (S'ist nur damit nicht alles gleich hoffnungslos vernichtet wird)

        Dieses Synch-Skript könnte entweder manuell oder über einen Cronjob in vernünftig erscheinenden periodischen Abständen angestartet werden, wie 1x die Woche, 1x am Tag, 1x die Stunde, etc.

        Blöd wird es nur, wenn die sich Exekutionszeit des Synch-Skripts der PHP max.Exectime nähert. Da müßte man das Skript skalierbar gestalten und nach meinetwegen Kapiteln oder Themen oder was auch immer synchronisieren lassen.


        sogar schon ein fertiges oder anpassbares Skript?
        sorry, eventuell Netpbm, eine Alternative zum Erzeugen von Thumbs:
        http://www.php-resource.de/forum/sho...&threadid=7714

        Zum Thema ansich vielleicht noch was:
        http://www.php-resource.de/forum/sho...&threadid=4630
        Zuletzt geändert von hand; 01.07.2002, 17:04.

        Kommentar


        • #5
          danke... schonmal ein paar sehr gute tipps..
          ich schau mir jetzt mal das empfohlene skript an...

          Kommentar


          • #6
            ok, habs mir jetzt angeschaut. das ist bestimmt eine sehr gute und komfortable lösung, aber leider hab ich keinen eigenen server... ich muss also auf die gdlib beschränkt bleiben.
            oder kann ich die von Dir genannte Lösung problemlos auf jedem Webspace installieren (PHP+Perl Support is gegeben)..?

            Kommentar

            Lädt...
            X