Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateiupload größerer Datein außerhalb des Documentroot

Einklappen

Neue Werbung 2019

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

  • Dateiupload größerer Datein außerhalb des Documentroot

    Hallo,

    ich habe keine andere Frage derart gefunden, vielleicht bin ich auch einfach zu blöd die Suchfunktion richtig zu füttern....

    Ich habe mir ein kleines Uploadskript geschrieben:
    PHP-Code:
    <?php
    echo("<h1>Datei-Upload</h1>");
    ini_set('upload_max_filesize','20G');
    ini_set('max_execution_time',0);
    ini_set('max_input_time',0);
    set_time_limit(0);
    if(isset(
    $_GET["function"]))
    {
        
    $aktion $_GET["function"];
        if(
    $aktion == 'upload')
        {
            
    $verz "/files/";
            
    $verz .= $_FILES['datei']['name'];
            
    $ergebnis move_uploaded_file($_FILES['datei']['tmp_name'], $verz);
            if(
    $ergebnis == true)
            {
                echo(
    "<p class='success'>Upload erfolgreich</p>");
            }
            else
            {
                echo(
    "<p class='error'>Upload fehlgeschlagen</p>");
            }
        }
    }
    else
    {
        echo(
    "<div class='box'><form action='?function=upload' method='post' enctype='multipart/form-data'>
        <input type='file' name='datei'><br>
        <input type='submit' value='Hochladen'>
        </form></div>"
    );
    }
    ?>
    Nur wenn ich jetzt etwas größere Daten hochladen will (ca. 140 MB) schlägt der Upload nach längerer Ladezeit fehl. Die Ladezeit entspricht in etwa der Uploaddauer bei einer solchen Datei und meiner Internetanbindung, also vermute ich es scheitert an dem move_uploaded_file. Der Apache-Server hat Schreibrechte in dem Zielordner und es wird außer dem einprogrammierten "Update fehlgeschlagen" keine Fehlermeldung ausgegeben. Hat jemand eine Idee? Mit einer kleinen Datein (400kb) hat das funktioniert und mit 28MB wieder nicht.

    Gruß
    alabiana


  • #2
    Kannst du mal schauen, ob php die ini-werte überhaupt annimmt? phpinfo()
    Standards - Best Practices - AwesomePHP - Guideline für WebApps

    Kommentar


    • #3
      Unter welchen Punkt finde ich das nochmal?

      Edit: er sollte die set_ini Befehle entgegennehmen, in einem anderen PHP Skript auf der gleichen Apache Instanz hat er es zumindest getan.

      Kommentar


      • #4
        PHP-Code:
        ini_set('upload_max_filesize','20G'); 
        wird nichts bringen, wenn das Script ausgeführt wird ist der upload schon längst gelaufen.
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          Das heißt ich muss es direkt in der ini speichern oder gibt es die Möglichkeit ordnerbezogene php.ini Datein zu verwenden?
          Ich habe das Skript in dem Unterordner "test" im Documenteroot abgrlegt.

          Kommentar


          • #6
            Das hat auch mit der max_execution_time zu tun. Und es gibt zweifelsohne bessere Wege als 20 GB über PHP hochzuladen...
            GitHub.com - ChrisAndChris - RowMapper und QueryBuilder für MySQL-Datenbanken

            Kommentar


            • #7
              Und zwar? Ich kenne keine, was ja aber auch nichts heißt, aber ein tutorial über wege dazu wäre nicht schlecht.

              Kommentar

              Lädt...
              X