how can use file extension like .txt,.php,.html for the same script.

anybody can help

if ($_POST['variable'] == '')
$variable = './'; // default folder
$variable = $_POST['variable'] ;
$folder = $variable;
$uploadpath = "$folder/";
$max_size = 2000;
$alwidth = 900;
$alheight = 800;
$allowtype = array( 'bmp', 'gif', 'jpg', 'jpe', 'png');
if(isset($_FILES['fileup']) && strlen($_FILES['fileup']['name']) > 1) {
$uploadpath = $uploadpath . basename( $_FILES['fileup']['name']);
$sepext = explode('.', strtolower($_FILES['fileup']['name']));
$type = end($sepext);
list($width, $height) = getimagesize($_FILES['fileup']['tmp_name']);
$err = '';
if(!in_array($type, $allowtype)) $err .= 'The file: <b>'. $_FILES['fileup']['name']. '</b> not has the allowed extension type.';
if($_FILES['fileup']['size'] > $max_size*1000) $err .= '<br/>Maximum file size must be: '. $max_size. ' KB.';
if(isset($width) && isset($height) && ($width >= $alwidth || $height >= $alheight)) $err .= '<br/>The maximum Width x Height must be: '. $alwidth. ' x '. $alheight;
if($err == '') {
if(move_uploaded_file($_FILES['fileup']['tmp_name'], $uploadpath)) {
echo 'File: <b>'. basename( $_FILES['fileup']['name']). '</b> successfully uploaded:';
echo '<br/>File type: <b>'. $_FILES['fileup']['type'] .'</b>';
echo '<br />Size: <b>'. number_format($_FILES['fileup']['size']/1024, 3, '.', '') .'</b> KB';
if(isset($width) && isset($height)) echo '<br/>Image Width x Height: '. $width. ' x '. $height;
echo '<br/><br/>Image address: <b>http://'.$_SERVER['HTTP_HOST'].rtrim(dirname($_SERVER['REQUEST_URI']), '\\/').'/'.$uploadpath.'</b>';
else echo '<b>Unable to upload the file.</b>';
else echo $err;
<div style="margin:1em auto; width:333px; text-align:center;">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data">
Upload File: <input type="file" name="fileup" /><br/>
<select name="variable" />
<option value="" selected="selected">Select a folder</option>

<form name="input" action="upload.php" method="post" onchange="this.form.submit()">
$dirs = glob("*", GLOB_ONLYDIR);
foreach($dirs as $val){
echo '<option value="'.$val.'">'.$val."</option>\n";
<input type="submit" name='submit' value="Upload" />

Edited by kaakka: mistake

3 Years
Discussion Span
Last Post by mattster

add the extension to

$imagetype = array( 'bmp', 'gif', 'jpg', 'jpe', 'png');
$file_type = array('txt','html');

PHP file should not be allowed to be upload in your server due to security reason.

find what is the extension of the upload and then check if it is an image or a file. If image use the image validation on your script, if it is a file validate the file accordingly.


showing file type not allowed! my changes are giving below

    $allowtype = array("$imagetype,$file_type");
    $imagetype = array( '.bmp', '.gif', '.jpg', '.jpe', '.png');
    $file_type = array('.txt','.html');

Edited by kaakka: mistake

$allowtype = array_merge($imagetype, $file_type);

Because you're using a double quote, your two variables aren't being inserted into the array. Use array_merge(), it will combine both of your arrays accurately.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.