• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

PHP upload tool- Problem!

Don83

Mitglied
Hallo habe ein großes Problem - habe ein kleines "upload" tool erstellt.
Läd Daten auf einen server die man dann später mit dem passenden download tool runterladen kann.
Ich hatte eigentlich eine 100MB uploadsperre eingebaut. Aber irgendwie funktioniert das ganze sowieso nicht.
Also kleine Dateien werden ganz normal hochgeladen. -4-5 MB. Aber wenn ich versuche Files mit 30 MB Größe hochzuladen wird erst ewig geladen(was auch ned so toll is weil man den progress ned sieht) und letztendlich kommt eine Fehlermeldung die durch einen else Zweig abgefangen wird.
Also falls jemand weiß wieso das Programm Probleme mit dem upload von großen Dateien hat - wäre da echt sehr daknbar für Hilfe:

Code:
<html>
<head><h1>Upload-Manager</h1></head>
<body>
<form action="result.php" method="post" enctype="multipart/form-data">
<input type="file" name="datei"><br>
<input type="submit" value="Hochladen">
</form>
<font size="2">* Der Dateiupload ist auf Dateien mit einer Dateigr&ouml;&szlig;e von max. 100 MB beschr&auml;kt.</font>
</body>
</html>
Code:
<?php include("dbcon.inc") ?>
<html>
<head><h1>Upload-Manager</h1></head>
<body>
<?php
$filename = $_FILES['datei']['name'];
if($filename!=""){
    if($_FILES['datei']['size'] <  100000000){
    
        echo "Die Datei \"<i>$filename</i>\" wurde hochgeladen.<br>";
        move_uploaded_file($_FILES['datei']['tmp_name'], "/home/uploadfiles/".$_FILES['datei']['name']);

        $pool = "qwertzupasdfghkyxcvbnm";
        $pool .= "23456789";
        $pool .= "WERTZUPLKJHGFDSAYXCVBNM";
        $pool .= "*_!=+-:%#";

        srand ((double)microtime()*1000000);

        for($index = 0; $index < 8; $index++){
                $pass_word .= substr($pool,(rand()%(strlen ($pool))), 1);
        }
        echo "<br>Folgendes Passwort wurde generiert:<i> $pass_word </i><br><br>";
        $filesize= $_FILES['datei']['size'];
        mysql_query("INSERT INTO filelist(filename, password, filesize) VALUES ('$filename','$pass_word', '$filesize');");
        echo "Die Datei kann unter folgendem Link mit Hilfe des Passwortes heruntergeladen werden:<br>
        <br><i>https://IP/dlmanager/download.php</i> ";
    }else{
        echo "Upload abgebrochen - Die Datei &uuml;bersteigt die maximalgr&ouml;sse von 100 MB!";
    }
}else{
    echo "Bitte w&auml;hlen Sie eine Datei aus bevor Sie die Auswahl best&auml;tigen";
}
?> 
</body>
</html>
 
Das hat nix mit deinem Script zutun sondern damit das die größer in deiner PHP.ini begrenzt ist auf 4-5 MB bzw. das jedes PHP script nach xx Sek (stan. 30) abgebrochen wird. Kannst du aber beides umstellen WENN du zugang zur PHP.ini hast.
 
Ja, also ich habe schon Zugang zur php.ini

Habe dort auch schon folgendes geändert:
post_max_size = 100M <-- war zuerst 2M

leider besteht der Fehler immernoch :/.
Die php.ini ist leider ziemlich groß. Welche Parameter soll ich denn noch ändern, bzw. würde es etwas helfen die php.ini hier im Forum hochzustellen?
 
wohl eher nicht, bräuchtest zu viele screenshots.
musst eben nachsehen, bei welchem wert du eintragen kannst, wann das script abgebrochen wird. den noch ändern und sollte alles passen...

Nils aka XraYSoLo
 
der abbruch wird durch die max_execution_time begrenzt. dein server beendet das upload-script nach der dort eingestellten zeit, was auch gut ist, da du sonst den server nahezu lahm legst.

100 MB über http uploaden ist auch heftigst, mach das mit ftp.
 
Zurück
Oben