Here is my personal upload script, modify it as you need.
Courtesy of spechal.com
<?
include('dbinfo.inc.php');
$query = mysql_query("SELECT * FROM admin WHERE username='$username'AND password='$password'") or die(mysql_error());
$rows = mysql_num_rows($query);
if($rows=1){
if(isset($_POST["submit"])) {
$home = "/xxx/xxx/public_html/";
$dir = $home.$_POST["path"];
$maxsize = "50000000";
$file_size = $_FILES['file']['size'];
if ($file_size <= $maxsize) {
echo "<font color='#0000CC' size='2' face='Tahoma'><strong>";
$file_name = $_FILES["file"]["name"];
print ("Script name: " . $name . "<br>");
print ("File name: " . $file_name . "<br>");
echo "</strong></font>";
if(copy($file, "$dir/$file_name")) {
mysql_query("INSERT INTO scripts (file, name, cat, type, mysql, descrip, size) VALUES ('$file_name', '$name', '$cat', '$type', '$mysql', '$descrip', '$file_size')") or die(mysql_error());
echo "<font color='#0000CC' size='2' face='Tahoma'><strong>";
print ("Your file was successfully uploaded!<br>");
echo "</strong></font>";
} else {
echo "<font color='#0000CC' size='2' face='Tahoma'><strong>";
print ("Your file could not be copied.<br> ");
echo "</strong></font>";
}
} else {
echo "<font color='#0000CC' size='2' face='Tahoma'><strong>";
print ("Filesize exceeds " . $maxsize . "File was not uploaded<br>");
echo "</strong></font>";
}
echo "<font color='#0000CC' size='2' face='Tahoma'><strong>";
print "$dir/$file_name";
echo "<br>File Size: $file_size Max Size: $maxsize </strong></font>";
} else {
?>
<form action="<?=$PHP_SELF?>" method="post" enctype="multipart/form-data">
<?=$error?>
<div align="center"><br>
<font color="#0000CC" size="2" face="Tahoma"><strong> Username to upload file:
<input type="text" name="username" maxlength="12">
<br>
Password to upload file::
<input type="password" name="password" maxlength="12">
<br>
File name:
<input type="text" name="name" maxlength="36">
<br>
Type:
<select name="type" id="type">
<option>GPL</option>
<option>Mixed</option>
<option>Spechal</option>
</select>
<br>
Category:
<select name="cat" id="cat">
<option>Auctions </option>
<option>Bookmark Management</option>
<option>Calendars </option>
<option>Counter</option>
<option>Chat Scripts</option>
<option>Classified Ads</option>
<option>Email</option>
<option>FAQ and Knowledgebase</option>
<option>File Manipulation</option>
<option>Form Processors</option>
<option>Games and Entertainment</option>
<option>Image Manipulation</option>
<option>Image Galleries</option>
<option>Mailing List Managers</option>
<option>Music Libraries</option>
<option>Networking Tools</option>
<option>Polls and Voting</option>
<option>Randomizing</option>
<option>Redirection</option>
<option>Search Engines</option>
<option>Security // Admin</option>
<option>User Authentication</option>
<option> Web Traffic Analysis</option>
</select>
<br>
Description:
<textarea name="descrip" cols="30" rows="3" id="descrip"></textarea>
<br>
MySQL Needed:
<select name="mysql" id="mysql">
<option selected>Yes</option>
<option>No</option>
</select>
<br>
Directory to upload:
<select name="path" id="path">
<option selected>scripts</option>
</select>
<br>
Choose a file to upload:
<input type="file" name="file">
<br>
<input type="submit" name="submit" value="submit">
</strong></font> </div>
</form>
</td> <?
}} else {
if (getenv ("HTTP_X_FORWARDED_FOR")) {
$ip = getenv ("HTTP_X_FORWARDED_FOR");
} else {
$ip = getenv ("REMOTE_ADDR");
}
$page = $_SERVER['REQUEST_URI'];
mysql_query("INSERT INTO error ('page', 'ip') VALUES ('$page', '$ip')") or die(mysql_error());
print "Password is invalid. Page, IP, and TIMESTAMP has been added to database. ";
}
?>