Uploading of files can be very useful from time to time. This time round, I am going to show you how to upload a file into the server using PHP.
This demo will start from a simple html file.<html> <body> <form action="upload_file.php" method="post" enctype="multipart/form-data"> <label for="file">Filename:</label> <input type="file" name="file" id="file" /> <br /> <input type="submit" name="submit" value="Submit" /> </form> </body> </html>
And a simple PHP file that will handle all the uploading...
<?php
//Maximum filesize that can be uploaded through this file
$filesize = 1000;
//The folder that all the uploads will be place in
$folderName = "uploads/";
// detect slash/backslash nomenclature dirname
$path = dirname( __FILE__ );
$slash = '/'; strpos( $path, $slash ) ? '' : $slash = '\\';
define( 'BASE_DIR', $path . "/" );
$dirPath = BASE_DIR . $folderName; // folder path
//If the filesize of the file is smaller than the maximum filesize
if ($_FILES["file"]["size"] < $filesize)
{
//If there is an error
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}else{
//Display more info about the uploaded file
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
//If the folder hasn't been created yet, create it now
if(!is_dir($dirPath))
mkdir($dirPath,0777);
//If the file already exist
if (file_exists($dirPath . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"]." file exist". "<br />";
}else{
//Copy the uploaded file into the specified folder
move_uploaded_file($_FILES["file"]["tmp_name"],
$dirPath . $_FILES["file"]["name"]);
echo "Stored in: " . $dirPath . $_FILES["file"]["name"]. "<br />";
}
echo "The URL of the file would be:<a href='";
echo removeFileName(). $folderName . $_FILES["file"]["name"]."'>here</a>";
}
}else{
echo "Invalid file";
}
//Function to get the url of the current page
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":";
$pageURL .= $_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
//Function to get the url of the current page and remove the filename of this page
function removeFileName(){
$pageURL = curPageURL();
$pieces = explode("/", $pageURL);
$piecesLength = count($pieces);
$pageURL = "";
for ( $counter = 0; $counter < ($piecesLength - 1); $counter ++) {
$pageURL = $pageURL. $pieces[$counter]."/";
}
return $pageURL;
}
?>
... okay the file isn't so easy after all...Some additional Notes:
- Remember to set the write permission into the folder that you have placed the php files
- My example currently only allows files that are lesser than 1000 bytes, but you can change the maximum file size by increasing it in the php file.
* Click here to view the demo of this example:
^ Click here for the source files of this demo.
No comments:
Post a Comment