1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

Hilft mir jemand ein ganz einfaches UploadSkript etwas anzupassen.

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von pinguSTAR, 21.05.08.

  1. pinguSTAR

    pinguSTAR Goldparmäne

    Dabei seit:
    06.11.05
    Beiträge:
    566
    Hi,

    möchte gerne ein upload skript, welches aus diesen beiden dateien besteht etwas debuggen und modifizieren.

    upload.html

    Code:
    <form enctype="multipart/form-data" action="./action.php" method="post">
     <input type="hidden" name="MAX_FILE_SIZE" value="11000000">
     Datei auswählen (max. 10MB): <input name="userfile" type="file">
     <input type="submit" value="Datei senden">
     </form>
    
    action.php

    Code:
    
    <?php
     // In PHP kleiner als 4.1.0 sollten Sie $HTTP_POST_FILES anstatt $_FILES verwenden.
     // In PHP kleiner als 4.0.3 verwenden Sie copy() und is_uploaded_file() anstatt von
     // move_uploaded_file()
    
     $uploaddir = './';
     print "<pre>";
     if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $uploaddir . $HTTP_POST_FILES['userfile']['name'])) {
       print "Datei erfolgreich hochgeladen!\nZusatzinformationen:\n";
       print_r($HTTP_POST_FILES);
     } else {
       print "Irgendwas ging schief, hier sind ein paar Zuasatzinformatonen gelistet:\n";
       print_r($HTTP_POST_FILES);
     }
     ?>
    
    soweit funktioniert das ganze auch. nur machnmal auch nicht. ich konnte bisjetzt noch nicht feststellen bei was es funktioniert und bei was nicht. ist zufällig, bis auf die tatsache das es bei ca 2mb (manchmal 1,9mb manchmal 2,0mb ) auf keinen fall funktioniert.

    das zu dem fehler.

    was ich gerne noch hätte wäre, das die url mitangezeigt wird. dürfte ja kein problem sein, habe da auch schon eine grobe idee für die umsetzung.

    ebenso vielleicht den pfad ändern, das die uploads nicht im gleichen verzeichnis landen wie die skript dateien.

    eine .htaccess-Datei wäre sicher auch nicht verkehrt. nur hab ich davon bis lang nur gehört.

    ich beherrsche die grundlagen von java. und bin als nicht ganz ohne plan und leite mir die ein oder andere sache ab. etwas unterstützung wäre aber echt cool!

    grüße jan
     
  2. TaTonka

    TaTonka Neuer Berner Rosenapfel

    Dabei seit:
    19.03.06
    Beiträge:
    1.961
    jo, es gibt in der php.ini eine einstellung namens upload_max_filesize, die ist standardmäßig auf 2mb angepasst. falls du kannst, ändere den wert.

    um das hochladverzeichnis zu ändern, solltest du die variable $uploaddir anpassen, undzwar relativ zum skriptverzeichnis.
     
  3. pinguSTAR

    pinguSTAR Goldparmäne

    Dabei seit:
    06.11.05
    Beiträge:
    566
    danke für die super schnelle antwort.

    ich weis das sich die php.ini hier befindet: /etc/php.ini

    jedoch finde ich diesen pfad auf meinem webspace nicht.
    //edit: glaube das kann nur mein provider ändern. habe sogleich auch schon eine support email geschieben.

    und wegen des uploadverzeichnisses, weiß ich zwar was du mir mit relativ zu dem skiptverzeichnis sagen möchtest, jedoch habe ich keinen blassen schimmer in was ich die variable ändern muss.
     
    #3 pinguSTAR, 21.05.08
    Zuletzt bearbeitet: 21.05.08
  4. drok

    drok Klarapfel

    Dabei seit:
    02.06.07
    Beiträge:
    278
    Vorab: Ich hoffe dieses Tool liegt nicht für jedermann zugänglich auf deinem Webspace.:eek:

    Aktiviere dann mal am besten die Fehlerausgabe, dann findet man mögliche Fehler.
    error_reporting(E_ALL);

    PHP ist standardmäßig so eingstellt das max. 8MB übers Formular hochgeladen werden können (post_max_size).
    Um das zu überprüfen legst du einfach eine .php-Datei mit folgendem Code an und führst sie auf dem Webserver aus.
    Code:
    <?php
    phpinfo()
    ?>
    Welche URL ? Meinst du vllt einen Link zu der hochgeladenen Datei ?
    Dazu müsste man ja nur
    Code:
    $domain="http://www.meinedomain.de";
    echo "<a href=\"".$domain . $uploaddir . $HTTP_POST_FILES['userfile']['name']."\">".$HTTP_POST_FILES['userfile']['name']."></a>";
    
    ausgeben.


    Ein Zugriffsschutz mit htaccess besteht aus 2 Dateien:

    .htaccess
    Code:
    AuthUserFile /uploadtool/.htpasswd
    AuthGroupFile /dev/null
    AuthName "Authorisierung des Upload-Tools"
    AuthType Basic
    Diese Datei kommt in das zu schützende Verzeichnis. zB. /uploadtool

    Dann gibts noch die .htpasswd welche die Benutzer und Passwörter enthält:

    Code:
    Mustermann:55rirG9PI9Hh
    Musterfrau:55rirG9PI9Hh
    Musterkind:55rirG9PI9Hh
    Musterhund:55rirG9PI9Hh
    Das Password wird mit crypt() generiert.

    Ansonsten einfach mal im Netz suchen.


    EDIT:

    Wenn du nur einen Webspace hast, dann kannst du die php.ini nicht ändern.
    Man kann aber mit dem Befehl ini_set() verschiedene php.ini-Werte ändern.

    Naja, du musst $uploaddir = './'; ändern. Jenachdem wo du deine Files haben willst.

    Mögliche Verzeichnissstruktur:
    -----/upoadtool
    --------/uploads (Ordner mit den hochgeladenen Dateien)
    --------action.php
    Also muss deine $uploaddir="uploads" heißen.

    Mögliche Verzeichnissstruktur Nr. 2:
    ---/upload
    -----/upoadtool (Ordner mit dem Script)
    --------action.php
    -----/uploads (Ordner mit den hochgeladenen Dateien)
    Also muss deine $uploaddir="../uploads" heißen.
     
    #4 drok, 21.05.08
    Zuletzt bearbeitet: 22.05.08
  5. pinguSTAR

    pinguSTAR Goldparmäne

    Dabei seit:
    06.11.05
    Beiträge:
    566
    vielen dank!

    es hat zwar nicht ganz so geklappt wie du es mir beschrieben hast, jedoch war das denkanstoß genug um den rest selbst zu machen.

    werde noch einige feinheiten anpassen und euch dann mal nach eurer meinung fragen :)
     

Diese Seite empfehlen