verzeichnisinhalt hochladen

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

  • verzeichnisinhalt hochladen

    hi!

    möchte gerne eine bildergallerie mit php und mysql erstellen, dabei werfen sich mir einige steine in den weg, da ich mit php noch nicht allzu gut vertraut bin.

    ich hab für jede gallerie lokal auf meinem rechner einen ordner image, in dem die bilddateien liegen. und einen ordner thumbs, in dem die thumbnails liegen. außerdem gibts noch ein "mainthumb", das als icon für die entsprechende gallerie verwendet wird.

    der inhalt eines solchen gallerie-ordners schaut also so aus:

    .
    ..
    images/
    thumbs/
    thumb.jpg
    sämtliche bilder sind im JPG-format gespeichert und es wird auch kein anderes format eingesetzt werden (bilder werden direkt von der digi-cam übernommen).

    wie schaff ich es nun, sämtliche dateien in einem zug auf meinen webserver hochzuladen und worauf hab ich dabei ggf. zu achten?

    hab das script hier in verwendung bzw. aufs wesentlichste gekürzt:

    PHP-Code:
    <?php
    $path 
    "uploads/";
    $upload_file_name "userfile";

    class 
    uploader {
        var 
    $file;
        var 
    $path;
        var 
    $error;
        var 
    $accepted;

        function 
    uploader () {
            
    $this->error   '';
        }  
        
        function 
    upload($filename=''$extention='') {
            
            if (!isset(
    $_FILES) || !is_array($_FILES[$filename]) || !$_FILES[$filename]['name']) {
                
    $this->error $this->get_error(0);
                
    $this->accepted  FALSE;
                return 
    FALSE;
            }
                    
            
    $this->file $_FILES[$filename];   
            
            
    $image getimagesize($this->file["tmp_name"]);        
            if(
    $image[2] == 2) { // nur JPEG Dateien erlaubt
                
    $this->accepted TRUE;
            } else { 
                
    $this->accepted FALSE;
                
    $this->error $this->get_error(1);
            }
            
            return (bool) 
    $this->accepted;
        }


        function 
    save_file($path) {
            if (
    $this->error) {
                return 
    false;
            }

            
    $this->path $path;
                    
            if(
    $this->accepted) {            
                
    // Hochgeladene Datei ueberschreiben
                
    if (@copy($this->file["tmp_name"], $this->path $this->file["name"])) {
                    
    $success true;
                } else {
                    
    $success     false;
                    
    $this->error $this->get_error(2);
                }
                
                if(!
    $success) { 
                    unset(
    $this->file['tmp_name']); // Temporaere Datei am Server loeschen
                
    }
                return (bool) 
    $success;
            } else {
                
    $this->error $this->get_error(1);
                return 
    false;
            }
        }    
        
        
        function 
    get_error($error_code='') {
            
    $error_message = array();
            
    $error_code    = (int) $error_code;        

            
    $error_message[0] = "Es wurde keine Datei hochgeladen";
            
    $error_message[1] = "Nur JPG Dateien d&uuml;rfen hochgeladen werden.";
            
    $error_message[2] = "Erlaubnis verweigert. Konnte Datei nicht nach '" $this->path "' kopieren.";    
            
            return 
    $error_message[$error_code];
        }
    }
    ?>
    <html>
        <head><title>Upload</title></head>
    <body>
    <?php
    if (isset($_REQUEST['submitted'])) {           
        
    $my_uploader = new uploader();

        
    $my_uploader->upload('userfile''.jpg');
        
    $my_uploader->save_file($path);

        if (
    $my_uploader->error) {
            print(
    $my_uploader->error "<br><br>\n");
        } else {
            print(
    "Thanks for uploading " $my_uploader->file['name'] . "<br><br>\n");
        }
    }

    ?>
        <form enctype="multipart/form-data" action="<?= $_SERVER['PHP_SELF']; ?>" method="POST">
        <input type="hidden" name="submitted" value="true">
            <input name="<?= $upload_file_name?>" type="file">
            <br><br>
            <input type="submit" value="Upload File">
        </form>
    </body>
    </html>
    das teil funktioniert wunderbar, nur lässt es mich nur ein einzelnes bild hochladen. ich würde gerne nur den pfad zum gallerie-ordner angeben und das skript soll sich die dateien selbst suchen.

    ist das überhaupt lösbar?

    danke für evt. hints.

  • #2
    1. regel: IMMER IM FORUM SUCHEN!

    2. regel: wenn man mal nicht gesucht hat, muss regel 1 beachtet werden.


    anmerkung:
    sowas haben wir hier schon etliche male durchgekaut.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      hmm, wie du siehst, hab ich gesucht. das urpsrüngliche skript oben wurde in einem thema gepostet. weiters war ein link aufs php manual zu finden --> http://de.php.net/manual/de/features...d.multiple.php, das hilft mir allerdings auch nicht weiter, da hier nur 2 seperate eingabefelder definiert wurden und ich muss erneut jedes bild einzeln auswählen.

      könntest du mir bitte einen thread zeigen, in dem mein problem behandelt wird?

      Kommentar


      • #4
        hab nochwas gefunden: http://www.php-resource.de/forum/sho...ghlight=upload

        scheint wohl wirklich die einzige möglichkeit zu sein.

        Kommentar


        • #5
          :-( gibts denn nirgendwo eine verständliche anleitung für einen neuling, die beschreibt, wie man ein archiv am webserver entpacken kann (muss wohl unkomprimiert sein, soweit ich das sehe) auch wenn zlib nicht installiert ist (wie überprüf ich das denn?)

          http://www.php-resource.de/forum/sho...0&pagenumber=1

          Kommentar


          • #6
            http://www.php-resource.de/forum/sho...&highlight=zip
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Neuling hin und oder her aber man kann nicht erwarten das einem alles gratis vor die Schnautze fliegt oder?

              Überlege doch mal bitte selber was du brauchst und wie man es angehen kann. Damit meine ich z.B. einen wiederkehrenden Prozess: Solange suchen bis nichts mehr da ist etc.

              Du solltest mal nach rekursive Funktion oder Verzeichnis auslesen suchen.
              Dann werden deine Verzeichnisse schon mal durchforstet und denn Rest bekommst du auch selber hin sofern du wirklich einen Willen dazu hast.....
              [color=blue]MfG Payne_of_Death[/color]

              [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
              [color=red]Merke:[/color]
              [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

              Murphy`s Importanst LAWS
              Jede Lösung bringt nur neue Probleme
              Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
              In jedem kleinen Problem steckt ein großes, das gern raus moechte.

              Kommentar


              • #8
                erst mal danke an abraxax für den link. funktioniert jetzt wunderbar!
                Du solltest mal nach rekursive Funktion oder Verzeichnis auslesen suchen.
                du hast offenbar nicht verstanden worum es mir geht. rekursiver durchlaufen eines ordners auf meinem lokalen rechner mittels eines php-skripts am webserver ist nicht möglich. soweit bin ich inzwischen auch schon.

                Kommentar

                Lädt...
                X