NameSilo

Simple PHP Upload Script [AND EXPLANATION]

Spaceship Spaceship
Watch
ALL Original scripts (no need to download) have been moved to this post!

NOTE: The latest versions are in this post for download!

-RageD


  • TODO List (v2)
    -Start/Finish Admin Panel
    -Allow admins to select what they wish their users to be able to upload.
^^^ Please give me suggestions for this list!

All scripts have been tested successfully!

DISCLAIMER: Some scripts are indeed insecure. Neither I nor Namepros.com can be held responsible for any hacking/attempts on your site or server.
 
Last edited:
1
•••
The views expressed on this page by users and staff are their own, not those of NamePros.
0
•••
Original Post

Here is the original post:

PHP:
<?php
/* Upload Script by RageD
© 2006 RageD.  All Rights Reserved.
Filename: upload.php
File Info: Created by RageD.  Upload script for anyone who needs it
File Function: Uploads Files into a hidden directory (In this case by default '/uploads'
File Notes: Make sure your directory (whatever you make '$upload_dir' equal) is CHMODDED to 0777
Added Notes: You can place this file within a directory such as /public_html/uploads/upload_script and still have it upload files to /public_html/uploads (make sure it is CHMODDED 0777) all you have to do to do this is something like this: $upload_dir = "../"; or another directory within /public_html/uploads (directory qwerty for example) $upload_dir = "../qwerty";
*/

// Use this to define your upload directory!
$upload_dir = "uploads";

if(!$upload){
?>
<html>
<head>
<title>Upload Files</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="?upload=step2">
  <p>Enter the amount of boxes you will need below. Max = 99</p>
  <p>
    <input name="uploadNeed" type="text" id="uploadNeed" maxlength="2">
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>
</body>
</html>
<?php
}
if($upload){
  if($upload == "step2"){ ?>
      <html>
      <head>
      <title>Upload Files</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>

      <body>

      <form name="form1" enctype="multipart/form-data" method="post" action="?upload=process">
        <p>
        <?
        // start of dynamic form
        $uploadNeed = $_POST['uploadNeed'];
        for($x=0;$x<$uploadNeed;$x++){
        ?>
          <input name="uploadFile<? echo $x;?>" type="file" id="uploadFile<? echo $x;?>">
        </p>
        <?
        // end of for loop
        }
        ?>
        <p><input name="uploadNeed" type="hidden" value="<? echo $uploadNeed;?>">
          <input type="submit" name="Submit" value="Submit">
        </p>
      </form>
      </body>
      </html>
<?php }
  if($upload == "process"){
      $uploadNeed = $_POST['uploadNeed'];
      // start for loop
      for($x=0;$x<$uploadNeed;$x++){
      $file_name = $_FILES['uploadFile'. $x]['name'];
      $show_file = $_FILES['uploadFile'. $x]['name'];
      // strip file_name of slashes
      $file_name = stripslashes("$upload_dir/$file_name");
      $file_name = str_replace("'","",$file_name);
      $copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name);
       // check if successfully copied
       if($copy){
       echo "$show_file | uploaded sucessfully!<br>";
       }else{
       echo "$show_file | could not be uploaded!<br>";
       }
      } // end of loop
   }
}
?>

This one uploads directly to the directory the upload script is in! READ NOTES IN THE BEGINNING OF FILE!
PHP:
<?php
/* Upload Script by RageD
© 2006 RageD.  All Rights Reserved.
Filename: upload.php
File Info: Created by RageD.  Upload script for anyone who needs it
File Function: Uploads Files directly into directory of this script!
File Notes: Make sure your directory where this file is located is CHMODDED to 0777
*/

if(!$upload){
?>
<html>
<head>
<title>Upload Files</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="?upload=step2">
  <p>Enter the amount of boxes you will need below. Max = 99</p>
  <p>
    <input name="uploadNeed" type="text" id="uploadNeed" maxlength="2">
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>
</body>
</html>
<?php
}
if($upload){
  if($upload == "step2"){ ?>
      <html>
      <head>
      <title>Upload Files</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>

      <body>

      <form name="form1" enctype="multipart/form-data" method="post" action="?upload=process">
        <p>
        <?
        // start of dynamic form
        $uploadNeed = $_POST['uploadNeed'];
        for($x=0;$x<$uploadNeed;$x++){
        ?>
          <input name="uploadFile<? echo $x;?>" type="file" id="uploadFile<? echo $x;?>">
        </p>
        <?
        // end of for loop
        }
        ?>
        <p><input name="uploadNeed" type="hidden" value="<? echo $uploadNeed;?>">
          <input type="submit" name="Submit" value="Submit">
        </p>
      </form>
      </body>
      </html>
<?php }
  if($upload == "process"){
      $uploadNeed = $_POST['uploadNeed'];
      // start for loop
      for($x=0;$x<$uploadNeed;$x++){
      $file_name = $_FILES['uploadFile'. $x]['name'];
      $show_file = $_FILES['uploadFile'. $x]['name'];
      // strip file_name of slashes
      $file_name = stripslashes("$file_name");
      $file_name = str_replace("'","",$file_name);
      $copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name);
       // check if successfully copied
       if($copy){
       echo "$show_file | uploaded sucessfully!<br>";
       }else{
       echo "$show_file | could not be uploaded!<br>";
       }
      } // end of loop
   }
}
?>


This one shows the user where the file is uploaded to (The directory if you do not want it uploaded to the same directory as this script)
PHP:
<?php
/* Upload Script by RageD
© 2006 RageD.  All Rights Reserved.
Filename: upload.php
File Info: Created by RageD.  Upload script for anyone who needs it
File Function: Uploads Files into a directory other than the one the script is in!  Shows user the upload directory!
File Notes: Make sure your directory (whatever you make '$upload_dir' equal) is CHMODDED to 0777
Added Notes: You can place this file within a directory such as /public_html/uploads/upload_script and still have it upload files to /public_html/uploads (make sure it is CHMODDED 0777) all you have to do to do this is something like this: $upload_dir = "../"; or another directory within /public_html/uploads (directory qwerty for example) $upload_dir = "../qwerty";
*/

// Use this to define your upload directory!
$upload_dir = "uploads";

if(!$upload){
?>
<html>
<head>
<title>Upload Files</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="?upload=step2">
  <p>Enter the amount of boxes you will need below. Max = 99</p>
  <p>
    <input name="uploadNeed" type="text" id="uploadNeed" maxlength="2">
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>
</body>
</html>
<?php
}
if($upload){
  if($upload == "step2"){ ?>
      <html>
      <head>
      <title>Upload Files</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>

      <body>

      <form name="form1" enctype="multipart/form-data" method="post" action="?upload=process">
        <p>
        <?
        // start of dynamic form
        $uploadNeed = $_POST['uploadNeed'];
        for($x=0;$x<$uploadNeed;$x++){
        ?>
          <input name="uploadFile<? echo $x;?>" type="file" id="uploadFile<? echo $x;?>">
        </p>
        <?
        // end of for loop
        }
        ?>
        <p><input name="uploadNeed" type="hidden" value="<? echo $uploadNeed;?>">
          <input type="submit" name="Submit" value="Submit">
        </p>
      </form>
      </body>
      </html>
<?php }
  if($upload == "process"){
      $uploadNeed = $_POST['uploadNeed'];
      // start for loop
      for($x=0;$x<$uploadNeed;$x++){
      $file_name = $_FILES['uploadFile'. $x]['name'];
      // strip file_name of slashes
      $file_name = stripslashes("$upload_dir/$file_name");
      $file_name = str_replace("'","",$file_name);
      $copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name);
       // check if successfully copied
       if($copy){
       echo "$file_name | uploaded sucessfully!<br>";
       }else{
       echo "$file_name | could not be uploaded!<br>";
       }
      } // end of loop
   }
}
?>

-RageD


For webservers running PHP version 4.x+ add these lines somewhere near the top somewhere.

PHP:
// Define our URL extension
$upload = $_GET['upload'];

========
Add-ons
========


  • Accept .gif files only

    Add
    PHP:
          $file_type = $_FILES['uploadFile'. $x]['type'];
          if($file_type != "image/gif"){
                echo("The server is only accepting .gif files!");
                exit;
           }

    Before
    PHP:
          $file_name = $_FILES['uploadFile'. $x]['name'];
    That works for any of the files... Here is the exact "upload4.php" example:
    PHP:
      <?php
    /* Upload Script by RageD
    © 2006 RageD.  All Rights Reserved.
    Filename: upload.php
    File Info: Created by RageD.  Upload script for anyone who needs it
    File Function: This is just like the example 3 script except it only allows .gif files
    File Notes: Make sure your directory (whatever you make '$upload_dir' equal) is CHMODDED to 0777
    Added Notes: You can place this file within a directory such as /public_html/uploads/upload_script and still have it upload files to /public_html/uploads (make sure it is CHMODDED 0777) all you have to do to do this is something like this: $upload_dir = "../"; or another directory within /public_html/uploads (directory qwerty for example) $upload_dir = "../qwerty";
    */
    
    // Define Function for uploading..
    $upload = $_GET['upload'];
    
    // Use this to define your upload directory!
    $upload_dir = "uploads";
    
    if(!$upload){
    ?>
    <html>
    <head>
    <title>Upload Files --- Demo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body>
    <form name="form1" method="post" action="?upload=step2">
      <p>Enter the amount of boxes you will need below. Max = 99</p>
      <p>
        <input name="uploadNeed" type="text" id="uploadNeed" maxlength="2">
      </p>
      <p>
        <input type="submit" name="Submit" value="Submit">
      </p>
    </form>
    </body>
    </html>
    <?php
    }
    if($upload){
      if($upload == "step2"){ ?>
          <html>
          <head>
          <title>Upload Files</title>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          </head>
    
          <body>
    
          <form name="form1" enctype="multipart/form-data" method="post" action="?upload=process">
            <p>
            <?
            // start of dynamic form
            $uploadNeed = $_POST['uploadNeed'];
            for($x=0;$x<$uploadNeed;$x++){
            ?>
              <input name="uploadFile<? echo $x;?>" type="file" id="uploadFile<? echo $x;?>">
            </p>
            <?
            // end of for loop
            }
            ?>
            <p><input name="uploadNeed" type="hidden" value="<? echo $uploadNeed;?>">
              <input type="submit" name="Submit" value="Submit">
            </p>
          </form>
          </body>
          </html>
    <?php }
      if($upload == "process"){
          $uploadNeed = $_POST['uploadNeed'];
          // start for loop
          for($x=0;$x<$uploadNeed;$x++){
          $file_type = $_FILES['uploadFile'. $x]['type'];
          if($file_type != "image/gif"){
                echo("The server is only accepting .gif files!");
                exit;
           }
          $file_name = $_FILES['uploadFile'. $x]['name'];
          $show_file = $_FILES['uploadFile'. $x]['name'];
          // strip file_name of slashes
          $file_name = stripslashes("$upload_dir/$file_name");
          $file_name = str_replace("'","",$file_name);
          $copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name);
           // check if successfully copied
           if($copy){
           echo "$show_file | uploaded sucessfully!<br>";
           }else{
           echo "$show_file | could not be uploaded!<br>";
           }
          } // end of loop
       }
    }
    ?>

  • Force users to register and login to upload

    This makes a user register and login before having the ability to upload files to the server! Requires PHP and MySQL.

    Open: file.php (Main upload script)

    Add: (On line 2)
    PHP:
    session_start();

    After: (On line 1)
    PHP:
    <?php

    Add:
    PHP:
    //Include DB Connections
    include("dbconn.php");

    After:
    PHP:
    // Use this to define your upload directory!
    $upload_dir = "uploads";

    Now After:
    PHP:
    if(!$upload){
    ?>

    Add:
    PHP:
    <html>
    <head>
    <title>Upload Files :: Login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1">
    </head>
    
    <body>
    <form name="login" method="POST" action="?upload=login">
    Login Name: <input type="text" name="user"><br>
    Password: <input type="password" name="pass"><br>
    <input type=submit value="Login"><input type=reset>
    </form>
    <font size="2">Not registered?  <a href="?upload=register">Register</a> to upload!</font>
    </body>
    </html>
    <?php
    }
      if($upload == "register"){
    ?>
    <html>
    <head>
    <title>Upload Files :: Login:</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1">
    </head>
    
    <body>
    <form name="login" method="POST" action="?upload=registerlogin">
    Login Name: <input type="text" name="uname"><br>
    Password: <input type="password" name="pass"><br>
    <input type=submit value="Signup"><input type=reset>
    </form>
    <font size="2">Not registered?  <a href="?page=register">Register</a> to upload!</font>
    </body>
    </html>
    <?php
    }
      if($upload == "registerlogin"){
        $uname = $_POST['uname'];
        $pass = $_POST['pass'];
        if(!$uname || !$pass){
          echo("Please enter all the fields!");
          exit;
        }
    	function do_error($msg)
    	{
    		echo '<font color=red><b>ERROR <</font>'.$msg.'</b><br>Please go back to fix the error';
    		exit;
    	}
    	@ $r1 = mysql_query("SELECT * FROM users WHERE username='$uname'");
    	if (mysql_num_rows($r1) > 0)
    	{
    		do_error('That username is already taken.');
    	}
            //MD5 Encrypt
            $pass = md5($pass);
           	$q = "INSERT INTO users VALUES(NULL, '$uname', '$pass')";
    	@ $result = mysql_query($q);
    	
    	if (!$result)
    	{
    		do_error('Could not insert into database. Error returned is '.mysql_error());
    	}
    	echo("Thank you!  You can now <a href='?upload'>login</a>!");
      }
      if($upload == "login"){
        $pass = $_POST['pass'];
        $user = $_POST['user'];
        $pass = md5($pass);
    
        $q = "SELECT * FROM users WHERE username='$user' AND password='$pass' LIMIT 1";
        $r = mysql_query($q);
        //No matches
        if (mysql_num_rows($r) < 1)
        {
    	echo('Invalid username/password combination.');
    	exit;
        }
        else
        {
            echo("Logged in: Please go <a href='?upload=files'>here</a> to upload!");
            
            $_SESSION['username'] = $user;
        }
      }
      if($upload == "files"){
      session_start();
      if(!$_SESSION['username']){
    	echo('You are not logged in. <a href="?upload">Login</a>');
    	exit;
      }
    ?>

    Save & Close file.php (Main upload script)

    Now create a new file called "dbconn.php"

    Change the variables as needed:
    PHP:
    <?php
    /* Script by RageD to connect to MySQL DB */
    
    @ $conn = mysql_connect('localhost', 'mysql_username_here', 'mysql_pass_here');
    @ $db = mysql_select_db('mysql_dbname_here');
    
    if (!$conn || !$db)
    {
    	echo('Could not connect to database. Error returned is: '.mysql_error());
    	exit;
    }
    ?>

    Save & Close dbconn.php

    Finally, create a database (MySQL) and insert this query:
    Code:
    CREATE TABLE `users` (
    `id` BIGINT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
    `username` VARCHAR( 16 ) NOT NULL ,
    `password` VARCHAR( 32 ) NOT NULL
    ) ENGINE = MYISAM CHARACTER SET latin1 COLLATE latin1_swedish_ci COMMENT = 'Everyone loves a databse :)'


    Here is a full working script (need dbconn.php and the MySQL query done for it to work) for this. It is the add-on plus the first script!

    PHP:
    <?php
    session_start();
    /* Upload Script by RageD
    © 2006 RageD.  All Rights Reserved.
    Filename: upload.php
    File Info: Created by RageD.  Upload script for anyone who needs it
    File Function: Uploads Files into a hidden directory (In this case by default '/uploads'.  Forces a user to register and login!
    File Notes: Make sure your directory (whatever you make '$upload_dir' equal) is CHMODDED to 0777
    Added Notes: You can place this file within a directory such as /public_html/uploads/upload_script and still have it upload files to /public_html/uploads (make sure it is CHMODDED 0777) all you have to do to do this is something like this: $upload_dir = "../"; or another directory within /public_html/uploads (directory qwerty for example) $upload_dir = "../qwerty";
    */
    
    // Define URL extension
    $upload = $_GET['upload'];
    
    // Use this to define your upload directory!
    $upload_dir = "uploads";
    
    // Include DB connection
    include("dbconn.php");
    
    if(!$upload){
    ?>
    <html>
    <head>
    <title>Upload Files :: Login</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1">
    </head>
    
    <body>
    <form name="login" method="POST" action="?upload=login">
    Login Name: <input type="text" name="user"><br>
    Password: <input type="password" name="pass"><br>
    <input type=submit value="Login"><input type=reset>
    </form>
    <font size="2">Not registered?  <a href="?upload=register">Register</a> to upload!</font>
    </body>
    </html>
    <?php
    }
      if($upload == "register"){
    ?>
    <html>
    <head>
    <title>Upload Files :: Login:</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso8859-1">
    </head>
    
    <body>
    <form name="login" method="POST" action="?upload=registerlogin">
    Login Name: <input type="text" name="uname"><br>
    Password: <input type="password" name="pass"><br>
    <input type=submit value="Signup"><input type=reset>
    </form>
    <font size="2">Not registered?  <a href="?page=register">Register</a> to upload!</font>
    </body>
    </html>
    <?php
    }
      if($upload == "registerlogin"){
        $uname = $_POST['uname'];
        $pass = $_POST['pass'];
        if(!$uname || !$pass){
          echo("Please enter all the fields!");
          exit;
        }
    	function do_error($msg)
    	{
    		echo '<font color=red><b>ERROR <</font>'.$msg.'</b><br>Please go back to fix the error';
    		exit;
    	}
    	@ $r1 = mysql_query("SELECT * FROM users WHERE username='$uname'");
    	if (mysql_num_rows($r1) > 0)
    	{
    		do_error('That username is already taken.');
    	}
            //MD5 Encrypt
            $pass = md5($pass);
           	$q = "INSERT INTO users VALUES(NULL, '$uname', '$pass')";
    	@ $result = mysql_query($q);
    	
    	if (!$result)
    	{
    		do_error('Could not insert into database. Error returned is '.mysql_error());
    	}
    	echo("Thank you!  You can now <a href='?upload'>login</a>!");
      }
      if($upload == "login"){
        $pass = $_POST['pass'];
        $user = $_POST['user'];
        $pass = md5($pass);
    
        $q = "SELECT * FROM users WHERE username='$user' AND password='$pass' LIMIT 1";
        $r = mysql_query($q);
        //No matches
        if (mysql_num_rows($r) < 1)
        {
    	echo('Invalid username/password combination.');
    	exit;
        }
        else
        {
            echo("Logged in: Please go <a href='?upload=files'>here</a> to upload!");
            
            $_SESSION['username'] = $user;
        }
      }
      if($upload == "files"){
      session_start();
      if(!$_SESSION['username']){
    	echo('You are not logged in. <a href="?upload">Login</a>');
    	exit;
      }
    ?>
    <html>
    <head>
    <title>Upload Files</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body>
    <form name="form1" method="post" action="?upload=step2">
      <p>Enter the amount of boxes you will need below. Max = 99</p>
      <p>
        <input name="uploadNeed" type="text" id="uploadNeed" maxlength="2">
      </p>
      <p>
        <input type="submit" name="Submit" value="Submit">
      </p>
    </form>
    </body>
    </html>
    <?php
    }
    if($upload){
      if($upload == "step2"){ ?>
          <html>
          <head>
          <title>Upload Files</title>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
          </head>
    
          <body>
    
          <form name="form1" enctype="multipart/form-data" method="post" action="?upload=process">
            <p>
            <?
            // start of dynamic form
            $uploadNeed = $_POST['uploadNeed'];
            for($x=0;$x<$uploadNeed;$x++){
            ?>
              <input name="uploadFile<? echo $x;?>" type="file" id="uploadFile<? echo $x;?>">
            </p>
            <?
            // end of for loop
            }
            ?>
            <p><input name="uploadNeed" type="hidden" value="<? echo $uploadNeed;?>">
              <input type="submit" name="Submit" value="Submit">
            </p>
          </form>
          </body>
          </html>
    <?php }
      if($upload == "process"){
          $uploadNeed = $_POST['uploadNeed'];
          // start for loop
          for($x=0;$x<$uploadNeed;$x++){
          $file_name = $_FILES['uploadFile'. $x]['name'];
          $show_file = $_FILES['uploadFile'. $x]['name'];
          // strip file_name of slashes
          $file_name = stripslashes("$upload_dir/$file_name");
          $file_name = str_replace("'","",$file_name);
          $copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name);
           // check if successfully copied
           if($copy){
           echo "$show_file | uploaded sucessfully!<br>";
           }else{
           echo "$show_file | could not be uploaded!<br>";
           }
          } // end of loop
       }
    }
    ?>

    Allow only: .zip, .rar, .jpg, .gif, .bmp, .png, & .txt extensions!

    This modification is too big just for a simple modding, so I have provided 2 downloads.

    1 with Login + this
    and one with NO login!
    Note: These scripts can be found in the v1.15 series!
 
Last edited:
0
•••
0
•••
0
•••
0
•••
that's great stuff, just what i need, rep coming your way. thanks.
 
0
•••
0
•••
Glad you guys like it :) If you need something else, tell me.. If it is relavant to this I'll add it here or make a new post! ;)

-RageD
 
0
•••
0
•••
Superb!

"Uploads Files into a hidden directory "

Is is absolutely hidden?
 
0
•••
Be careful when using this script, as it does not check for file extension, nor virus check, nor protect the files it stores. Someone could easily upload any .exe or virus or .php script using this, and then access it easily.

Otherwise, nice tutorial.
 
0
•••
I know. If people want, I could also post an extension limited version as well :) I'll work on adding it! ;) And the hidden directory is unknown to the user..

-RageD
 
0
•••
Great scripts.
Keep it up.
 
0
•••
cool nifty script..!!!!!!looking for one that can display random or recent images of those uploaded images on the web page itself
 
0
•••
redhippo: I'll work on a script like that :) Look for a new post on it soon! ;)

-RageD
 
0
•••
Really nice script RageD keep up the good work!
 
0
•••
Added a line to fix page change errors..

-RageD
 
0
•••
The first script works like a charm!
 
0
•••
great tutorial bro..but the demo links are not opening :|
 
0
•••
Fixed the demos, adding some add-ons in a bit too! :)

-RageD

EDIT: added the add-on to accept only .gif files!
 
Last edited:
0
•••
Demo 2 error:

Parse error: syntax error, unexpected '[' in /home/xero/public_html/demos/upload2.php on line 11
 
0
•••
Thanks for pointing that out unknowngiver! It has been fixed! ;)

-RageD
 
0
•••
mikesherov said:
Be careful when using this script, as it does not check for file extension, nor virus check, nor protect the files it stores. Someone could easily upload any .exe or virus or .php script using this, and then access it easily.

Otherwise, nice tutorial.

well no duh, with an upload script there is always the mention of security, but considering the only thing they can upload is virus's that effect others if they get someone to download it, otherwise its only php scripts you will have to worry about..

Even still add a downloader for the files, I worked on a few uploader scripts myself and they are not hard to create look for tutorials and other info on the web php.net is a big help when it comes to uploading files and editing files.

Little edit to your first script, when file is uploaded successfully, this will return the url in a text box, just like imageshack.us does.

hope you don't mind that I did a tiny bit of editing RageD.
PHP:
  <?php
/* Upload Script by RageD
© 2006 RageD.  All Rights Reserved.
Filename: upload.php
File Info: Created by RageD.  Upload script for anyone who needs it
File Function: Uploads Files into a hidden directory (In this case by default '/uploads'
File Notes: Make sure your directory (whatever you make '$upload_dir' equal) is CHMODDED to 0777
Added Notes: You can place this file within a directory such as /public_html/uploads/upload_script and still have it upload files to /public_html/uploads (make sure it is CHMODDED 0777) all you have to do to do this is something like this: $upload_dir = "../"; or another directory within /public_html/uploads (directory qwerty for example) $upload_dir = "../qwerty";
*/

// Use this to define your upload directory!
$upload_dir = "uploads";

//edit this so the link displays correcty, no trailing slashes!
$site = "http://www.xiaohost.com"; 

if(!$upload){
?>
<html>
<head>
<title>Upload Files</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form1" method="post" action="?upload=step2">
  <p>Enter the amount of boxes you will need below. Max = 99</p>
  <p>
    <input name="uploadNeed" type="text" id="uploadNeed" maxlength="2">
  </p>
  <p>
    <input type="submit" name="Submit" value="Submit">
  </p>
</form>
</body>
</html>
<?php
}
if($upload){
  if($upload == "step2"){ ?>
      <html>
      <head>
      <title>Upload Files</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>

      <body>

      <form name="form1" enctype="multipart/form-data" method="post" action="?upload=process">
        <p>
        <?
        // start of dynamic form
        $uploadNeed = $_POST['uploadNeed'];
        for($x=0;$x<$uploadNeed;$x++){
        ?>
          <input name="uploadFile<? echo $x;?>" type="file" id="uploadFile<? echo $x;?>">
        </p>
        <?
        // end of for loop
        }
        ?>
        <p><input name="uploadNeed" type="hidden" value="<? echo $uploadNeed;?>">
          <input type="submit" name="Submit" value="Submit">
        </p>
      </form>
      </body>
      </html>
<?php }
  if($upload == "process"){
      $uploadNeed = $_POST['uploadNeed'];
      // start for loop
      for($x=0;$x<$uploadNeed;$x++){
      $file_name = $_FILES['uploadFile'. $x]['name'];
      $show_file = $_FILES['uploadFile'. $x]['name'];
      // strip file_name of slashes
      $file_name = stripslashes("$upload_dir/$file_name");
      $file_name = str_replace("'","",$file_name);
      $copy = copy($_FILES['uploadFile'. $x]['tmp_name'],$file_name);
       // check if successfully copied
       if($copy){
       echo "$show_file | uploaded sucessfully!<br>";
	echo "Link To File: <textarea rows='1' name='select' 	cols='140'>http://www.".$site."/".$upload_dir."/".$file_name."</textarea></p>";
       }else{
       echo "$show_file | could not be uploaded!<br>";
       }
      } // end of loop
   }
}
?>
 
Last edited:
0
•••
0
•••
  • The sidebar remains visible by scrolling at a speed relative to the page’s height.
Back