Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateigröße bei Upload?

Einklappen

Neue Werbung 2019

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

  • Dateigröße bei Upload?

    Hallo,
    ich habe ein PHP Upload Script und möchte in der Ausgabe gerne die Dateigröße anzeigen, aber irgendwie will das nicht.

    Hier der Code:
    PHP-Code:
    <?php
    //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
    //   You may change maxsize, and allowable upload file types.
    //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    //Mmaximum file size. You may increase or decrease.
    $MAX_SIZE 5000000;
                                
    //Allowable file ext. names. you may add more extension names.            
    $FILE_EXTS  = array('.zip','.jpg','.rar','.jpeg','.bmp','.png','.gif'); 

    //Allow file delete? no, if only allow upload only
    $DELETABLE  true;                               


    //vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
    //   Do not touch the below if you are not confident.
    //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    /************************************************************
     *     Setup variables
     ************************************************************/
    $site_name $_SERVER['HTTP_HOST'];
    $url_dir "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
    $url_this =  "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

    $upload_dir "files/";
    $upload_url $url_dir."/files/";
    $message ="";

    /************************************************************
     *     Create Upload Directory
     ************************************************************/
    if (!is_dir("files")) {
      if (!
    mkdir($upload_dir))
          die (
    "upload_files directory doesn't exist and creation failed");
      if (!
    chmod($upload_dir,0755))
          die (
    "change permission to 755 failed.");
    }

    /************************************************************
     *     Process User's Request
     ************************************************************/
    if ($_REQUEST[del] && $DELETABLE)  {
      
    $resource fopen("log.txt","a");
      
    fwrite($resource,date("d.m.y - H:i")." - DELETE - $_SERVER[REMOTE_ADDR] - "."$_REQUEST[del] - "
                
    .$_FILES['userfile']['size']."\r\n");
      
    fclose($resource);
      
      if (
    strpos($_REQUEST[del],"/.")>0);                  //possible hacking
      
    else if (strpos($_REQUEST[del],$upload_dir) === false); //possible hacking
      
    else if (substr($_REQUEST[del],0,6)==$upload_dir) {
        
    unlink($_REQUEST[del]);
        print 
    "<script>window.location.href='$url_this?message=deleted successfully'</script>";
      }
    }
    else if (
    $_FILES['userfile']) {
      
    $resource fopen("log.txt","a");
      
    fwrite($resource,date("d.m.y - H:i")." - UPLOAD - $_SERVER[REMOTE_ADDR] - "
                
    .$_FILES['userfile']['name']." - "
                
    .$_FILES['userfile']['size']."\r\n");
      
    fclose($resource);

      
    $file_type $_FILES['userfile']['type']; 
      
    $file_name $_FILES['userfile']['name'];
      
    $file_size $_FILES['userfile']['size'];
      
    $file_ext strtolower(substr($file_name,strrpos($file_name,".")));

      
    //File Size Check
      
    if ( $_FILES['userfile']['size'] > $MAX_SIZE
         
    $message "The file size is over 5MB.";

      
    //File Extension Check
      
    else if (!in_array($file_ext$FILE_EXTS))
         
    $message "Sorry, $file_name($file_type) is not allowed to be uploaded.";
      else
         
    $message do_upload($upload_dir$upload_url);
      
      print 
    "<script>window.location.href='$url_this?message=$message'</script>";
    }
    else if (!
    $_FILES['userfile']);
    else 
        
    $message "Invalid File Specified.";

    /************************************************************
     *     List Files
     ************************************************************/
    $handle=opendir($upload_dir);
    $filelist "";
    while (
    $file readdir($handle)) {
       if(!
    is_dir($file) && !is_link($file)) {
          
    $filelist .= "<a href='$upload_dir$file'><font color='#c5a79c'>".$file."</font></a> &nbsp; - $file_size - &nbsp; ";
          if (
    $DELETABLE)
     
          
    $filelist .="<br>";       
              
    $filelist .= " Date: ".date("[d.m.y - H:i]"filemtime($upload_dir.$file))
                       .
    "";

    $filelist .= " <a style='text-decoration:none; font-weight:bold'  href='?del=$upload_dir".urlencode($file)."' title='delete'><font color='#fff000'>(Delete)</font></a>";
          
    $filelist .="<br>";
          
    $filelist .="<br>";
          
    $filelist .="<HR>";
          
    $filelist .="<br>";
       }
    }

    function 
    do_upload($upload_dir$upload_url) {

        
    $temp_name $_FILES['userfile']['tmp_name'];
        
    $file_name $_FILES['userfile']['name']; 
      
    $file_name str_replace("\\","",$file_name);
      
    $file_name str_replace("'","",$file_name);
        
    $file_path $upload_dir.$file_name;

        
    //File Name Check
      
    if ( $file_name =="") { 
          
    $message "Invalid File Name Specified";
          return 
    $message;
      }

      
    $result  =  move_uploaded_file($temp_name$file_path);
      if (!
    chmod($file_path,0777))
           
    $message "change permission to 777 failed.";
      else
        
    $message = ($result)?"$file_name was uploaded successfully." :
                   
    "Something is wrong with uploading the file.";
      return 
    $message;
    }

    ?>
    Hiermit wird die Dateigröße in die log.txt Datei geschrieben
    PHP-Code:
      $resource fopen("log.txt","a");
      
    fwrite($resource,date("d.m.y - H:i")." - UPLOAD - $_SERVER[REMOTE_ADDR] - "
                
    .$_FILES['userfile']['name']." - "
                
    .$_FILES['userfile']['size']."\r\n");
      
    fclose($resource); 
    Hier will ich die Dateigröße Ausgeben, aber das funktioniert leider nicht
    PHP-Code:
          $filelist .= "<a href='$upload_dir$file'><font color='#c5a79c'>".$file."</font></a> &nbsp; - ".$file_size." - &nbsp; "
    Was mache ich falsch???
    In die log.txt Datei wird die Größe geschrieben, aber leider nicht auf der webseite online ausgegeben


  • #2
    Und? Du benutzt ja auch komplett verschiedene Variablen!
    --

    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


    --

    Kommentar


    • #3
      Zitat von nikosch Beitrag anzeigen
      Und? Du benutzt ja auch komplett verschiedene Variablen!
      Schau mal im kompletten Code, irgendwo steht da folgendes.
      PHP-Code:
      $file_size $_FILES['userfile']['size']; 
      Sollte doch richtig sein, oder?

      Kommentar


      • #4
        hmmm... hat keiner eine Lösung für mein Problem???

        Kommentar


        • #5
          nikosch Antwort gelesen?

          mfg

          wolf29
          while (!asleep()) sheep++;

          Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

          Kommentar


          • #6
            Ja habe ich, aber ich bin Neuling im diesem Gebiet, irgendwo steh ich auf dem Schlauch und seh einfach nicht was da falsch ist....

            Kommentar


            • #7
              @nikosch & wolf29: Scrollt mal nach rechts in seinem Schnipsel, habs auch erst nicht gesehen.

              @buguser
              PHP-Code:
              <?php
              function xy() {
                
              $abc 123;
              }
              xy();
              echo 
              $abc// funktioniert NICHT
              ?>
              Und genau so definierst du deine $file_size. Sie wird nach dem Funktionsaufruf wieder gelöscht.
              Siehe:
              PHP: Geltungsbereich von Variablen - Manual

              Bitte schalte in deinen Skripten das error_reporting() auf E_ALL | E_STRICT. Es wird am Anfang eine Menge Fehler und Hinweise hageln, aber warum solltest du, wir oder sonst wer diese Fehler so wie jetzt suchen, wenn PHP darüber bereits Bescheid weiß, du es ihm aber nicht erlaubst mitzuteilen?
              http://de.php.net/manual/de/errorfun...rror-reporting
              "Mein Name ist Lohse, ich kaufe hier ein."

              Kommentar


              • #8
                Sorry, aber selbst im eigenen Editor finde ich den Code super unübersichtlich. Habe keine Ambitionen mich da durchzuwühlen. Wenn ich alleine schon solche Konstrukte sehe:
                PHP-Code:
                  if (strpos($_REQUEST[del],"/.")>0);                  //possible hacking
                  
                else if (strpos($_REQUEST[del],$upload_dir) === false); //possible hacking
                  
                else if (substr($_REQUEST[del],0,6)==$upload_dir) {
                    
                unlink($_REQUEST[del]);
                    print 
                "<script>window.location.href='$url_this?message=deleted successfully'</script>";
                  } 
                --

                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                --

                Kommentar

                Lädt...
                X