Ankündigung

Einklappen
Keine Ankündigung bisher.

Upload-Script: Link nach Upload anzeigen?

Einklappen

Neue Werbung 2019

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

  • Upload-Script: Link nach Upload anzeigen?

    Hallo,

    folgendes: Ich habe ein Upload-Script das auch problemlos funktioniert, nur muss ich etwas verändern da es so einfach nicht gut geregelt ist, vor allem wenn mehrere Leute auf das Script uploaden...!

    Hier ein kleiner Screenshot:



    Ihr seht hier das alle Datein in der Liste angezeigt werden, die ebein draufgeladen wurden.

    Ich hätte es aber gerne so, das ich diese Liste begrenzen würde das zum Beispiel nur noch die letzten 4 angezeigt werden.

    Natürlich wäre es mir noch lieber wenn diese Liste ganz weg kommt und direkt nach dem Upload der Link zum Bild oder zur Datei angezeigt wird, aber das wird wohl schwerer zu realisieren sein...!

    Achja.... der Code der Datei...



    Code:
    <?php
    
      //Username + password
      $user = "*zensiert*";
      $pass = "*zensiert*";
    
      //Show the number of files to upload
      $files_to_upload = 1;
    
      //Directory where the uploaded files have to come
      //RECOMMENDED TO SET ANOTHER DIRECTORY THEN THE DIRECTORY WHERE THIS SCRIPT IS IN!!
      $upload_dir = "/home/www/nc0606/html/image/";
    
      // -------------------------------- //
      //           UPDATE LOG             //
      // -------------------------------- //
      // Version 1.0 -> version 1.1
      // - Confirm the deletion of the file
      // - Download a file (handy for PHP files ;))
      // - Set the number of files to upload
      // - Don't show directory's
      //
      // Version 1.1 -> version 1.11
      // - Able to rename the files  
      //
      // Version 1.11 -> version 1.12 (09/05/04)
      // - Another download method
      // - Solved a bug
      // -------------------------------- //
    
      // -------------------------------- //
      //     SCRIPT UNDER THIS LINE!      //
      // -------------------------------- //
      
      session_start();
    
      //When REGISTERED_GLOBALS are off in php.ini
      $_POST    = $HTTP_POST_VARS;
      $_GET     = $HTTP_GET_VARS;
      $_SESSION = $HTTP_SESSION_VARS;
    
      //When logging in, check username and password
      if($_GET['method'] == "login")
      {
        if($_POST['username'] == $user && $_POST['password'] == $pass)
        {
          //Set the session for logged in to true
          session_register('logged_in');
          $_SESSION['logged_in'] = true;
        
         Header("Location: " . $_SERVER['PHP_SELF'] . ""); 
    
        }
      }
    
      //Any other action the user must be logged in!
      elseif($_GET['method'])
      {
    
        //When not logged in, the user will be notified with a message
        if(!session_is_registered('logged_in'))
        {
          not_allowed();
          exit;
        }
        session_register('message');
    
        //Upload the file
        if($_GET['method'] == "upload")
        {
    
          $file_array = $HTTP_POST_FILES['file'];
          $_SESSION['message'] = "";
          $uploads = false;
          for($i = 0 ; $i < $files_to_upload; $i++)
          { 
            if($_FILES['file']['name'][$i])
            {
              $uploads = true;
              if($_FILES['file']['name'][$i])
              {
                $file_to_upload = $upload_dir."/".$_FILES['file']['name'][$i];
                move_uploaded_file($_FILES['file']['tmp_name'][$i],$file_to_upload);
                chmod($file_to_upload,0777);
                $_SESSION['message'] .= $_FILES['file']['name'][$i]." uploaded.
    ";
              } 
            }
          }
          if(!$uploads)  $_SESSION['message'] = "No files selected!";
        }
    
        //Logout 
        elseif($_GET['method'] == "logout")
        {
          session_destroy();
        }
    
        //Delete the file
        elseif($_GET['method'] == "delete" && $_GET['file'])
        {
          if(!@unlink($upload_dir."/".$_GET['file']))
            $_SESSION['message'] = "File not found!";
          else
            $_SESSION['message'] = $_GET['file'] . " deleted";
        }
    
        //Download a file 
        elseif($_GET['method'] == "download" && $_GET['file'])
        {
          $file = $upload_dir . "/" . $_GET['file'];
          $filename .= basename( $file );
    		
          $f = fopen( $file, "r" );
          $content_len  = (int) filesize($file);
          $content_file = fread( $f, $content_len );
          fclose( $f );
    
    
            $output_file = $filename; 
    
            @ob_end_clean(); 
            @ini_set('zlib.output_compression', 'Off'); 
            header('Pragma: public'); 
    
            header('Last-Modified: '.gmdate('D, d M Y H:i:s') . ' GMT'); 
            header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1 
            header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1 
            header('Content-Transfer-Encoding: none'); 
            header('Content-Type: application/octetstream; name="' . $output_file . '"'); //This should work for IE & Opera 
            header('Content-Type: application/octet-stream; name="' . $output_file . '"'); //This should work for the rest 
            header('Content-Disposition: inline; filename="' . $output_file . '"'); 
            header("Content-length: $content_len"); 
            echo $content_file; 
            exit;
        }
        
        //Rename a file
        elseif( $_GET['method'] == "rename" )
        {
          rename( $upload_dir . "/" . $_GET['file'] , $upload_dir . "/" . $_GET['to'] );
          $_SESSION['message'] = "Renamed " . $_GET['file'] . " to " . $_GET['to'];
        }
        //Redirect to the script again
        Header("Location: " . $_SERVER['PHP_SELF'] );
      }
    
      //HTML STARTING
    ?>
    <html>  
      <head>    
      <title>FileUpload version 1.12</title>    
    <link href="style.css" type=text/css rel=Stylesheet>
    </head>
    <body>    
      <table class='maintable' cellspacing=0 cellpadding=0 width=640 align='center'>
    <?php
    
      //Show logout link when logged in
        if(session_is_registered('logged_in'))
        {
      ?>
          <tr>
            <td class='actions'>?method=logout'>Logout</td>
          </tr>
      <?php
        }
    
      //Else the login screen
        else
        {
      ?>
        <tr>
          <td class='actions'>Please login for file upload.</td>
        </tr>
      <?php
        }
      ?>
        <tr>
          <td class='login'>
            <table class='logintable' cellspacing=2 cellpadding=2 align='center'>
              <tr>
                <td>
                  <table cellspacing=2 cellpadding=2 align='center'>
                    <tr>
                      <td>
      <?php
    
        //When logged in, show the files in the uploaded dir.
        if(!session_is_registered('logged_in'))
        {
      ?>
    
    <form name='form' action='<?=$_SERVER['PHP_SELF'];?>?method=login' method='post'>
                          <table class='logintable' cellspacing=2 cellpadding=2 align='center'>
                              <td>
                                <table cellspacing=2 cellpadding=2 align='center'>
                                  <tr>
                                    <td class='login' width=40>Username:</td>
                                    <td class='login'><input type='text' name='username'></td>
                                  </tr>
                                  <tr>
                                    <td class='login'>Password:</td>
                                    <td class='login'><input type='password' name='password'></td>
                                  </tr>
                                </table>
                              </td>
                            </tr>
                            <tr>
                              <td colspan=2 align='center'><input type='submit' value='login'></td>
                            </tr>
                          </table>
                        </form>
        <?php
          }
          else
          {
        ?>
                       <table width=350>
                         <tr>
          <?php
    
            //When there is a message, after an action, show it
            if(session_is_registered('message'))
            {
              echo "<td colspan=5 class='header' align='center'><font color='red'>" . $_SESSION['message'] . "</font></td></tr><tr>";
            }
          ?>
                           <td colspan=4 class='header' width=300>File</td>
                           <td class='header' width=70>Size</td></tr>
          <?php
            //Handle for the directory
            $handle = @opendir($upload_dir);
    
            //Walk the directory for the files
            while($entry = readdir($handle))
            {
              if($entry != ".." && $entry != "." && !is_dir($entry))
              {
    
                //Set the filesize type (bytes, KiloBytes of MegaBytes)
                $filesize = filesize($upload_dir . "/" . $entry);
                $type = Array ('b', 'KB', 'MB');
                for ($i = 0; $filesize > 1024; $i++)
                  $filesize /= 1024;
                $filesize = round ($filesize, 2)." $type[$i]";
        ?>
                          <tr>
                            <td></td>
                            <td>?method=download&amp;file=<?=$entry;?>'>[img]dl.gif[/img]' border=0></td>
                            <td>[img]edit.gif[/img]' border=0></td>
                            <td class='filenfo' width=300><?=$entry;?></td>
                            <td class='filenfo' width=70><?=$filesize;?></td>
                          </tr>
        <?php
              }
           }
        ?>
                         <tr>
                           <td class='filenfo' colspan=5>
    Upload a file.</td>
                         </tr>
                         <form method='post' enctype='multipart/form-data' action='<?=$_SERVER['PHP_SELF'];?>?method=upload'>
        <?php
            for( $i = 0; $i < $files_to_upload; $i++ )
            {
        ?>
                         <tr>
                           <td colspan=5><input type='file' name='file[]' style='width: 100%'></td>
                         </tr>
        <?php
            }
        ?>
                         <tr>
                           <td colspan=4 align='center'><input type='submit' value='Upload'></td>
                         </tr>
                         </form>
                       </table>
      <?php
        }
      ?>
                      </td>
                    </tr>
                  </table>
                </td>
              </tr>
            </table>
          </td>
        </tr>
        <tr>
          <td class='sign'>FileUpload version 1.12 Written by My-PHP</td>
        </tr>
      </table>
    </body> 
    </html>
    
    <?php
      exit;
      function not_allowed()
      {
        echo "Action not permitted. Need to login first?";
      }
    ?>
    Ich hoffe es kann mir irgendwer helfen!

    MfG, TT-Leser

  • #2
    Natürlich wäre es mir noch lieber wenn diese Liste ganz weg kommt und direkt nach dem Upload der Link zum Bild oder zur Datei angezeigt wird, aber das wird wohl schwerer zu realisieren sein...!
    Wo siehst du da die Schwierigkeit?
    Einfach den Link halt ausgeben, und den Dateinamen dran klatschen.

    Kommentar


    • #3
      jo mach das einfach so
      name der hochgeladenen datei auslesen und link rein fertig

      Kommentar


      • #4
        Hallo,

        mein Problem ist aber das ich nahezu null(!) Ahnung von PHP habe und nicht die geringste Ahnung habe wie ich das anstellen soll!

        MfG, TT-Leser

        Kommentar


        • #5
          Hm, dann solltest du dir mal welche machen, ich hab nämlich keine Lust dieses Monster Script durchzuschauen.

          Kommentar

          Lädt...
          X