PHP Upload Problem

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

  • PHP Upload Problem

    Tach, hab mal vor so ca. 2 monaten ein Script gestarted das so änlich wie
    cPanel werden soll bin auch schon zimlich weit gekommen doch nun
    gibt es
    ein problem ein bissien kleineres trozdem nervig

    und zwar wen ich dateien größer als 20MB hochladen will kommt der wider zur
    gleichen form ohne was zu machen ich vermute das es mein script ist die php.ini hab ich schon umgestellt auf 100M aber will ned so wirklich also muss
    es mein script sein hier mal mein Source

    PHP-Code:
    <?php
    $submit 
    $_POST['submit'];
    if(!
    $submit) {
    echo 
    "<form enctype=\"multipart/form-data\" action=\"?page=main&mod=filemanager&dir=".$dir."&action=upload\"
     method=\"post\">\n"
    ;
    echo 
    "<div align=\"left\">\n";
    echo 
    "  <table border=\"0\" width=\"300\" height=\"1\" cellspacing=\"5\" cellpadding=\"0\">\n";
    for(
    $i 1$i 10$i++) {
    echo 
    "    <tr>\n";
    echo 
    "      <td width=\"70\" height=\"10\">Filename:</font></td>\n";
    echo 
    "      <td width=\"484\" height=\"10\">\n";
    echo 
    "        <p align=\"right\"><input type=\"file\" name=\"file".$i."\"
     size=\"25\"></font></p>\n"
    ;
    echo 
    "      </td>\n";
    echo 
    "    </tr>\n";
    }

    } elseif(
    $submit == "Upload Files") {
    @include(
    "././config.php");
    $maindir $userpath."/".$_SESSION['user']."/".$dir;
    chown($maindir0777);
    $uploadDir $maindir;
    echo 
    "<strong>Uploading Files to:</strong> ".$uploadDir."<br><br>\n";
    for(
    $i 1$i 10$i++) {

    $result mysql_query("SELECT * FROM ".$GLOBALS['mysql_prefix']."_user WHERE user = '".$_SESSION['user']."'");
    if (!
    $result) {
    die(
    'Invalid query: ' mysql_error());
    }
    $row mysql_fetch_array($resultMYSQL_NUM);

    $userdir $userpath."/".$_SESSION['user']."/";
    $left $row[4] - approx(dirsize($userdir) / 1024 1024,1);
    if(
    $left 0) {
    $left "0";
    }

    $uploadFile $uploadDir."/".$_FILES['file'.$i]['name'];

    $file_size approx($_FILES['file'.$i]['size'] / 1024 1024);

    $endsize $left $file_size;    

    if(
    $_FILES['file'.$i]['name'] != "") {
    echo 
    "Uploading File: ".$_FILES['file'.$i]['name']."<br>\n";;
    if(
    $endsize 0) {
    if(
    file_exists($maindir."/".$_FILES['file'.$i]['name'])) {
    if(
    $_POST['overwrite'] == "ON") {
    if (
    move_uploaded_file($_FILES['file'.$i]['tmp_name'], $uploadFile)) {
    echo 
    "<strong>Uploaded:</strong> ".$_FILES['file'.$i]['name']."<br><hr width=\"100\" height=\"1\" 
    align=\"left\">\n"
    ;
    } else {
    echo 
    "Error Uploading File: ".$_FILES['file'.$i]['name']."<br><hr width=\"100\" height=\"1\" align=\"left\">\n";
    }
    } else {
    echo 
    "<strong>Skipped:</strong> ".$_FILES['file'.$i]['name']."<br><hr width=\"100\" height=\"1\" align=\"left\">\n";
    }
    } else {                    
    if (
    move_uploaded_file($_FILES['file'.$i]['tmp_name'], $uploadFile)) {
    echo 
    "<strong>Uploaded:</strong> ".$_FILES['file'.$i]['name']."<br><hr width=\"100\" height=\"1\" align=\"left\">\n";
    } else {
    echo 
    "Error Uploading File: ".$_FILES['file'.$i]['name']."<br><hr width=\"100\" height=\"1\" align=\"left\">\n";
    }
    }
    } else {
    echo 
    "<strong>Error:<strong> You Reached the Limit<br><hr width=\"100\" height=\"1\" align=\"left\">\n";
    }
    }
    }
    }
    ?>
    PHP: 5.1.2
    O/S: Windows 2003 Server Edition


    kleine dateien kann ich hochladen, hab schon bei giga geposted
    doch dort antworted niemand ich hoffe mal ich bekomme hier hilfe

    danke im vorraus
    Zuletzt geändert von cIntX; 04.06.2006, 20:02.

  • #2
    bitte die regeln befolgen.

    Kommentar


    • #3
      sry besser kriege ich es ned hin :P

      und fehler gibts keine :P

      Kommentar


      • #4
        Original geschrieben von cIntX
        sry besser kriege ich es ned hin :P
        du Banane, wer soll das denn lesen können?
        Einrücken, Code umbrechen!


        Und dann solltest du dir vielleicht mal einfach Anführungszeichen anschauen, dann brauchst du die doppelten nicht zu escapen
        PHP-Code:
        echo '<td style="blabla">blabla</td>'
        dann ist das auch besser lesbar...

        sowas
        PHP-Code:
        echo "    <tr>\n"
        würde ich auch lassen. Kein Arsch guckt auf die Ausgabe, ob die Eingerückt ist oder nicht interessiert keine Sau ... programmier lieber so, dass du deinen php-Code vernünftig lesen kannst!

        PHP-Code:
        $submit $_POST['submit']; 
        Schwachsinn. Mach die Überprüfung in den If's doch direkt mit $_POST['submit'], dann weißt du auch sofort woher die Variable kommt...

        PHP-Code:
        @include("././config.php"); 
        @s sind böse.
        An den Anfang der Datei
        PHP-Code:
        error_reporting(E_ALL
        schreiben und jeden Error entfernen, dann brauchst du auch kein @

        und sowas benutzt auch niemand
        PHP-Code:
        $row mysql_fetch_array($resultMYSQL_NUM); 
        nimm doch gleich die passende Funktion
        PHP-Code:
        $row mysql_fetch_row($result); 
        spart auch Tipparbeit ^^

        Es gibt auch sowas wie $_FILES['file']['error'], vielleicht findest du da was.

        Ansonsten ist eventuell die max_execution_time im Weg.

        Auch sicher, dass du die richtige php.ini geändert hast (mit phpinfo() überprüfen)?

        Und wenn das alles nichts bringt, würde ich mal die apache-Konfig anschauen ... mir fällt zwar gerade nichts ein, was da den Upload behindern würde, anderer seits wären es dumm, wenn der Fileuploads jeglicher Größe akzeptieren würde...

        Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

        bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
        Wie man Fragen richtig stellt

        Kommentar


        • #5
          Kein Arsch guckt auf die Ausgabe, ob die Eingerückt ist oder nicht interessiert keine Sau
          doch bei darstellungsfehlern, also sollte man das auf jeden fall mit einbauen. siehe hier

          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            erstmal danke für die netten infos, ich weis ich bin ne banane :P
            aber ich habs mir so angeignet ich werde jetzt isset benutzen um zu
            prüfen ob die variable gesetzt ist und schon sind die meisten fehler
            weg, aber das haupt problem bleibt weiterhin bestehen

            Kommentar


            • #7
              Original geschrieben von Kropff
              doch bei darstellungsfehlern, also sollte man das auf jeden fall mit einbauen. siehe hier
              Dazu gibt es validator, und um die Ausgabe lesen zu können reichen Umbrüche, dafür müssen nicht noch Einrückungen herhalten


              Original geschrieben von cIntX
              erstmal danke für die netten infos, ich weis ich bin ne banane :P
              aber ich habs mir so angeignet ich werde jetzt isset benutzen um zu
              prüfen ob die variable gesetzt ist und schon sind die meisten fehler
              weg, aber das haupt problem bleibt weiterhin bestehen
              Rest auch gelesen?!
              Max_execution_time, richtige php.ini, apache-Konfig mal anschauen?

              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
              Wie man Fragen richtig stellt

              Kommentar


              • #8
                danke mit den tip für phpinfo, phpinfo meint 16megs... hab aber ini
                geändert komig

                edit: habs gefunden wahr im bin ordner von apache geändert
                apache neugestarted und WAT THE it worked danke an alle die
                geposted haben und hab mein script mal aufgefrischt keine errors
                mehr fühl mich jetzt wieder gut danke
                Zuletzt geändert von cIntX; 04.06.2006, 21:34.

                Kommentar

                Lädt...
                X