This is an easy to create and integrate file manager developed using PHP, HTML and CSS. I haven't implemented database in this, you can do this if you want.
I have tried to implement all sort of security in file upload, but if i am missing something please post your suggestions in comment box.
Please report any bug in comment box.
How to implement
1. create a new php file and copy paste give code.
2. create a folder named "uploads" in same directory where you have created your file
3. download following image and save it in same direcoty .
http://www.sachinpuri.com/library/1345034788_large.jpg
<?php ##########Config################## $allowedFileType=array('image/jpeg','image/gif','image/bmp','image/png'); $allowedExtensions=array('jpg','gif','png','bmp'); $maxFileSize='200';//File Size in KB #########Config################### #Function to check for errors function fileUploadErrorMessage($errcode){ switch($errcode) { case UPLOAD_ERR_INI_SIZE: return "File size is greater then specified in php.ini file"; break; case UPLOAD_ERR_FORM_SIZE: return "File size is greater then specified in form"; break; case UPLOAD_ERR_PARTIAL: return "File partially uploaded"; break; case UPLOAD_ERR_NO_FILE: return "No file was uploaded"; break; case UPLOAD_ERR_NO_TMP_DIR: return "Either temp directory is not available or it is not writable"; break; case UPLOAD_ERR_CANT_WRITE: return "Failed to write file to disk."; break; case UPLOAD_ERR_CANT_WRITE: return "Extension error."; break; default: return "Other error."; break; } } #Uploading File $name=''; if(count($_POST)>0){ $name=$_FILES['txtFile']['name']; $type=$_FILES['txtFile']['type']; $tmp_name=$_FILES['txtFile']['tmp_name']; $error=$_FILES['txtFile']['error']; $size=$_FILES['txtFile']['size']; $ext=substr($name,strrpos($name,'.')+1,strlen($name)); if($error!=0){ $errmsg=fileUploadErrorMessage($error); }elseif(($size/1024)>$maxFileSize){ $errmsg="File size can't be greate than 200KB"; }elseif(!in_array($type,$allowedFileType) || !in_array($ext,$allowedExtensions)){ $errmsg="Invalid file type"; }else{ if(move_uploaded_file($tmp_name,'uploads/'.$name)){ $errmsg="File uploaded Sucessfully"; }else{ $errmsg="Some error occurred"; } } } #Deleting file if(isset($_REQUEST['del'])){ unlink('uploads/'.$_REQUEST['del']); header('Location: ' . $_SERVER['PHP_SELF']); } ?> <html> <head> <style> body{font:normal 12px verdana} input{border:1px solid; font:normal 11px verdana} #fileListing{position:relative; border:3px solid #515151; width:500px; height:300px; border-radius:5px; overflow:hidden; margin:0px auto} #fileListing ul{list-style:none; padding:0px; margin:0px; height:240px; overflow:auto} #fileListing ul li{background:#EBEBEB url('images.jpg') no-repeat left center; line-height:30px; text-indent:20px; } #fileListing ul li.alt{background:#DADADA url('images.jpg') no-repeat left center;} #fileListing ul li a{text-decoration:none; color:#333333} #fileListing ul li a:Hover{text-decoration:underline; color:red} #fileListing div{background:#515151; color:#fff; line-height:30px; text-indent:10px} #alert{position:absolute; width:50%; top:100px; left:20%; border:1px solid #333333; background:#999999; padding:10px; border-radius:5px; color:#fff; text-align:center; -moz-opacity:0.5; opacity:0.7; box-shadow:2px 2px 2px 2px #000;} .link-delete{float:right; margin-right:10px} </style> </head> <body> <?php if(strlen($name)>0){ ?> <!-- <img src="uploads/<?php echo $name ?>"/> --> <?php } ?> <div id="fileListing"> <div>File Manager</div> <ul> <?php $dir=dir('uploads'); $i=1; while($entry=$dir->read()){ if($entry=='.' || $entry=='..') continue; $class=($i%2==0)?"alt":""; $i++; ?> <li class="<?php echo $class ?>"> <a href="uploads/<?php echo $entry ?>" target="_new"><?php echo $entry ?></a> <a class="link-delete" href="<?php echo $_SERVER['PHP_SELF'] ?>?del=<?php echo $entry ?>">Delete</a> </li> <?php } ?> </ul> <?php if(isset($errmsg)){ ?> <span id="alert"> <?php echo $errmsg ?><br/><br/> <input type="button" value="OK" onclick="document.getElementById('alert').style.display='none'"/> </span> <?php } ?> <div> <form name="frmFileUpload" method="post" enctype="multipart/form-data"> <label>Select a file</label> <input type="file" name="txtFile"/> <input type="hidden" name="MAX_FILE_SIZE" value="2" /> <input type="submit" value="Upload" name="cmdSubmit"/> </form> </div> </div> </body> </html>