Ergebnis 1 bis 6 von 6

frage: php bilderupload

  1. #1 Zitieren
    Deus Avatar von juke*
    Registriert seit
    Jan 2003
    Beiträge
    20.086
    jo, mein bruder hat mich gebeten, ihm eine kleine seite einzurichten, auf der er bilder uploaden kann, die dort auch gleich ausgegeben werden...

    nun meine frage, da das meine php verständnisse etwas übersteigt...

    was brauche ich alles?

    einmal ja das bilderuploadscript, und dann muss ich das noch ausgeben...aber wie realisier ich das am besten?
    ihr sollt mir jetz nich unbedingt den code schreiben, sondern mir eher sagen, wie ich daran gehen soll.

    wäre euch sehr verbunden
    juke* ist offline

  2. #2 Zitieren
    Ritter Avatar von Lucleonhart
    Registriert seit
    Feb 2002
    Ort
    Balamb Garden............. Status: In Love...
    Beiträge
    1.814
    Tjo, ich hab das auch schon gebaut, als "Bildertagebuch".
    An deiner Stelle würd ich das auslesen einfach wie ein gallerie script machen, das also schaut, wie viele dateien in einem ordner sind, wie die heißen, und die dann ausgibt.

    Als upload script ein normales.. uploadscript halt.. nichts besonderes... kannst ja noch ne überprüfung einbauen, das es wirklich bilder sind.
    Mail Me: mail@lucleonhart.de -|- Visit Me: Lucleonhart.de
    Lucleonhart ist offline

  3. #3 Zitieren
    Foren-Frosch Avatar von Kermit
    Registriert seit
    Feb 2003
    Beiträge
    9.894
    Ok, lass mich mal alles zusammenstallen was man dafür braucht. Zusammebnauen kannst du es dann alleine

    Man neme ein Formular. Dabei st besonders auf den enctype zu achten:
    HTML-Code:
    <form action="'.$PHP_SELF.'" enctype="multipart/form-data" method="post">
        <input type="file" name="img" size="33">
        <input type="submit" value="Hochladen">
    </form>
    Damit wäre der HTML Teil ja schonmal fettig. Nun brauchts noch nen auswertenden PHP Teil, der sicherstellt, dass nur Grafiken hochgeladen werden. Sonst könnte dir ja einer ne php Datei auf den Webspace kanneln und damit unsinn anstellen:
    PHP-Code:
    <?php

    if (isset($_FILES['img']))
    {
        switch (
    $_FILES['img']['type'])
        {
            case 
    "image/pjpeg":
            case 
    "image/jpeg":
            case 
    "image/png":
            case 
    "image/gif":
                
    // Gültiges Dateiformat also hochladen
                
    $path "images/upload/" $_FILES['img']['name'];
                
    move_uploaded_file($_FILES['img']['tmp_name'], $path);
                break;
            default:
                
    // Kein gültiges Dateiformat also abbrechen
                
    break;
        }
    }

    ?>
    Und denn brauchts noch einen Teil, um die Bilder wieder anzuzeigen:
    PHP-Code:
    <?php

    $pfad 
    pathinfo($_SERVER["DOCUMENT_ROOT"].$PHP_SELF);
    $verz dir($pfad["dirname"]);
    while(
    $entry=$verz->read())
    {
        if ((
    $entry != ".") && ($entry != ".."))
        {
            echo 
    '- <a href="'.$entry.'">'.$entry.'</a><br>';
        }
    }
    $verz->close();

    ?>
    Kermit ist offline

  4. #4 Zitieren
    Deus Avatar von juke*
    Registriert seit
    Jan 2003
    Beiträge
    20.086
    danke kermit, bist ein schatz^^

    hab das jetz zusammengebaut...

    das mit dem dateityp wär nich nötig gewesen, da ich das ganze pw sichere und meinem bruder vertraue, das er keine bösartigen dinge codet^^

    was ich aber noch nich ganz verstehe is folgende zeile:

    PHP-Code:
     move_uploaded_file($_FILES['img']['tmp_name'] , $path); 
    move_uploaded_file sorgt dafür, dass die datei hochgeladen wird...nur was kommt jetz genau in der klammer und in welcher reihenfolge?
    bin mir da nämlich nich ganz sicher, könnte es zwar einfach so kopieren, wüsste aber genau was damit bewirkt wird...

    juke* ist offline

  5. #5 Zitieren
    Ehrengarde
    Registriert seit
    May 2004
    Ort
    Midgard
    Beiträge
    2.185
    Ich würde bei move_uploaded_file sagen, dass sie die hochgeladenen Datei verschiebt.
    Hochgeladen ist sie schon. Allerdings ist sie nur temporär gespeichert. Deshalb nutzen wir $_FILES['img']['tmp_name'] , um ihren temporären Namen zu erhalten und kopieren die Datei dann in das Verzeichnis $path , also images/upload/. Denn im Temp-Speicher kann die Datei ja nicht bleiben.
    Btw: move_uploaded_file sorgt AFAIK dafür, dass die Datei auch wirklich aus dem Zwischenspeicher verschwindet, weil sie ja verschoben und nicht kopiert wird. Das würde man mit z.B. copy() (copy hat den gleichen Syntax wie move_uploaded_file) nicht erreichen.

    freundliche Grüße, Rolus
    Rolus ist offline

  6. #6 Zitieren
    Deus Avatar von juke*
    Registriert seit
    Jan 2003
    Beiträge
    20.086
    ah, super
    danke
    juke* ist offline

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •