Mega Code Archive

 
Categories / Php / File Directory
 

Upload Files (Simple Code)

<?php /* ---Description - The Super Global Variable $_FILES is used in PHP 4.x.x. $_FILES['upload']['size'] ==> Get the Size of the File in Bytes. $_FILES['upload']['tmp_name'] ==> Returns the Temporary Name of the File. $_FILES['upload']['name'] ==> Returns the Actual Name of the File. $_FILES['upload']['type'] ==> Returns the Type of the File. So if I uploaded the file 'test.doc', the $_FILES['upload']['name'] would be 'phptut.doc' and $_FILES['upload']['type'] would be 'application/msword'. --*/ // $_FILES['filetoupload'] is the value of // // file field from the form. <input type="file" name="filetoupload"> // // this is the upload dir where files will go. //Don't remove the / //Chmod it (777) $upload_dir = "images/"; //change to whatever you want. //51200 bytes = 50KB $size_bytes = 51200; //File Size in bytes (change this value to fit your need) $extlimit = "yes"; //Do you want to limit the extensions of files uploaded (yes/no) $limitedext = array(".gif",".jpg",".png",".jpeg"); //Extensions you want files uploaded limited to. also you can use: //array(".gif",".jpg",".jpeg",".png",".txt",".nfo",".doc",".rtf",".htm",".dmg",".zip",".rar",".gz",".exe"); //check if the directory exists or not. if (!is_dir("$upload_dir")) { die ("The directory <b>($upload_dir)</b> doesn't exist"); } //check if the directory is writable. if (!is_writeable("$upload_dir")){ die ("The directory <b>($upload_dir)</b> is NOT writable, Please CHMOD (777)"); } if($uploadform) // if you clicked the (Upload File) button. "If you submitted the form" then upload the file. {//begin of if($uploadform). //check if no file selected. if (!is_uploaded_file($_FILES['filetoupload']['tmp_name'])) { echo "Error: Please select a file to upload!. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; exit(); //exit the script and don't do anything else. } //Get the Size of the File $size = $_FILES['filetoupload']['size']; //Make sure that file size is correct if ($size > $size_bytes) { $kb = $size_bytes / 1024; echo "File Too Large. File must be <b>$kb</b> KB. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; exit(); } //check file extension $ext = strrchr($_FILES['filetoupload'][name],'.'); if (($extlimit == "yes") && (!in_array($ext,$limitedext))) { echo("Wrong file extension. "); exit(); } // $filename will hold the value of the file name submetted from the form. $filename = $_FILES['filetoupload']['name']; // Check if file is Already EXISTS. if(file_exists($upload_dir.$filename)){ echo "Oops! The file named <b>$filename </b>already exists. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; exit(); } //Move the File to the Directory of your choice //move_uploaded_file('filename','destination') Moves afile to a new location. if (move_uploaded_file($_FILES['filetoupload']['tmp_name'],$upload_dir.$filename)) { //tell the user that the file has been uploaded and make him alink. echo "File (<a href=$upload_dir$filename>$filename</a>) uploaded! <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; exit(); } // print error if there was a problem moving file. else { //Print error msg. echo "There was a problem moving your file. <br>»<a href=\"$_SERVER[PHP_SELF]\">back</a>"; exit(); } }//end of if($uploadform). // If the form has not been submitted, display it! else {//begin of else ?> <br> <h3>::Browse a File to Upload:</h3> <i>- Allowed Extensions:</i> <b> <? // print the file extensions for($i=0;$i<count($limitedext);$i++) { if (($i<>count($limitedext)-1))$commas=", ";else $commas=""; list($key,$value)=each($limitedext); echo $value.$commas; } ?> </b> <br> <i>- Max File Size</i> = <b><?echo $size_bytes / 1024; ?> KB </b> <br> <form method="post" enctype="multipart/form-data" action="<?php echo $PHP_SELF ?>"> <br> <input type="file" name="filetoupload"><br> <input type="hidden" name="MAX_FILE_SIZE" value="<?echo $size_bytes; ?>"> <br> <input type="Submit" name="uploadform" value="Upload File"> </form> <? }//end of else // Here is the most interesting part. // it views the directory contents.....i'll disscuss next version. (ver 2.0) echo "<br><br><hr><br><b>Current Uploaded Files:</b><br>"; ?> <table border="1" bordercolor="#C0C0C0" cellspacing="1"> <tr> <td bgcolor="#F4F4F4">File Name</td> <td bgcolor="#F4F4F4">File Size</td> </tr> <? $rep=opendir($upload_dir); while ($file = readdir($rep)) { if($file != '..' && $file !='.' && $file !=''){ if (!is_dir($file)){ // print the file name and then make a link. echo "<tr><td> <a href=\"$upload_dir$file\" target=_blank> <img src=$upload_dir$file border=0 width=100> </a> </td>"; #------------begin of file size. //print the file size. $file_size = filesize($upload_dir."".$file); if ($file_size >= 1048576) { $show_filesize = number_format(($file_size / 1048576),2) . " MB"; } elseif ($file_size >= 1024) { $show_filesize = number_format(($file_size / 1024),2) . " KB"; } elseif ($file_size >= 0) { $show_filesize = $file_size . " bytes"; } else { $show_filesize = "0 bytes"; } echo "<td> $show_filesize </td></tr>"; #------------end of file size. } } } closedir($rep); clearstatcache(); ?> </table>