"erweiterte" Galerie

  • So ich komme leider doch noch nicht ganz so gut voran.
    Bin gerade am Script für den Upload von Bildern.
    Habe es mir So gedacht das die geuploadete Datei "image-1" genannt wird und die nächste dann "image-2" und so weiter.
    Hier mein Script:


    Habe das Script so auf den Server geladen aber wenn ich die Seite öffne bekomme ich folgende Meldung: "Parse error: syntax error, unexpected 'move_uploaded_file' (T_STRING) in /users/darksoul/www/TestSeite/upload.php on line 5"
    Wo liegt da der Fehler beim parsen?

  • Ach jaaaa... Das gute alte Semikolon :D
    Habe das Script noch einmal kurz überarbeitet:


    Er lädt jetzt die Bilder hoch aber benennt sie jedoch nicht um. woran liegt das?
    Achso und zwecks des Logins habe ich mich mal im Inet schlau gemacht und ein kleines einfaches Script gefunden was für mich reicht:



    Jedoch öffnet er nach der Eingabe nicht die erwünschte Seite


  • hier mal ein Vorschlag:


    mach dich damit erstmal vertraut. Da kommt später noch einiges zwecks Sicherheit dazu.


    Login später. Bin grad zu müde und alles auf einmal wird unübersichtlich =)

  • Danke erstmal für deine Bemühungen! :thumbup:


    zum 1. Quelltext:
    Ich wollte halt Ordnung in die Sache bringen und die Bilder halt ordentlich durchnummerieren. Sprich image-1/image-2/image-3/...

    PHP
    //deshalb das hier damit das ordentlich nummeriert wird
    $id=$id+1;
    
    
    
    
    //und hier sollten die Bilder dann halt umbenannt werden in image-1...
    rename ('gallerie/'.$_FILES['vbild']['name'], "gallerie/".$image);



    Zum 2. Quelltext:
    Wie oben schon gesagt... Hier fehlt mir halt die Ordnung der Namen.
    Also ich habe dein Script jetzt so verstanden das er die Bilder auf dem Server jetzt genauso nennt wie sie auch auf dem PC heißen von dem aus sie hochgeladen werden.


    Wozu die ganze ordnung mit den Namen? Ich wollte dann halt noch ein Script einfügen das er die Namen automatisch in das Array imagedata.php einfügt.
    Also dieses hier meine ich:

  • das Verzeichnis kannst Du dann einlesen.
    hier mal ein Bsp:

    PHP
    $path = ''; // der zu durchsuchende pfad
    $extension = '.png'; // die gesuchte endung
    
    
    
    
    foreach(glob($path."*".$extension) as $file){
        echo '<br>'.$file;
    // hier könntest du das array befüllen
    }


    glob() siehe http://php.net/manual/de/function.glob.php


    es wird nach allen Files gesucht, die im Pfad $path liegen, die Endung $extension haben, und * heißen (also alle).


    es gibt auch noch scandir(), aber ich denke glob() passt hier besser.

  • Okay danke aber das kann ich ja später noch machen.
    Ich habe halt immer noch das Problem mit dem hochladen und umbenennen.
    Ich habe dein Script auch mal kopiert eingefügt und da hat er das Bild gar nicht erst hochgeladen.

  • Ne das machst du anders....
    Das array kannst du dir auch sparen, wenn du eh immer alles aus dem gleichen Ordner einliest... Dann Bekommst du halt Daten wie die beschreibung nicht...


    Du kannst einfach statt das array einzulesen alle Dateien aus dem ordner einlesen ( scandir() ) und diese dann verarbeiten. Die Pfade kannst du ja STatisch eingeben.


    so etwa

  • Danke für die vielen Lösungsvorschläge aber ich will das alles so einfach wie möglich halten.
    Das hochladen funktioniert jetzt nur das automatische umbenennen in image-1, image-2... noch nicht



    Das erste Bild nennt er zwar image-1 aber wenn ich danach gleich ein zweites hochlade nennt er es auch image-1 und überschreibt dann das erste :/

  • Achso ich hatte mir es so gedacht das es halt bei 0 anfängt und sobald ein Bild hochgeladen wurde

    PHP
    $id=$id++;


    die Zahl dadurch um 1 erhöt wird und $id jetzt 1 ist und dann halt immer so weiter.


    Aber habe es jetzt durch Internetrecherche anders gelöst :)


  • Erweitere da mal um das hier:

    PHP
    if($filepic != "." AND $filepic != ".." AND !is_link($filepic) AND !is_dir($filepic))


    btw:

    PHP
    $id=$id++;


    - ist ein bissl witzig :D
    Warum:

    PHP
    $id=$id++;
    // weise $id (dem linken) den Wert von $id (dem rechten) zu, und zähle dann $id (das rechte) um eins hoch =)
    // es hätte also $id++ gereicht


    EDIT:
    ha, hab selbst was gelernt:

    PHP
    $id=0;
    $id=$id++;
    echo $id; // ergibt 0


    :D

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!