Uploading file types

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
umapathy
Forum Newbie
Posts: 14
Joined: Fri Jul 28, 2006 2:21 am
Location: chennai - india

Uploading file types

Post by umapathy »

Hi !

I have some problem to upload files.
it accept only image files(jpg,gif,ping).
it did not accepted some other files,like doc,txt,tif,
i want to do this .
How is it possible?

Regards
Umapathy

Here code

Code: Select all

<?php
 // specify the directory where the uploaded file should end up
 $path = 'E:\umapathy\Upload';
 
  // specify the filetypes allowed
 $allowed = array('image/gif','image/pjpeg','image/jpeg','image/png');
  // specify the max filesize in bytes
 $max_size = 200000;
  if(isset($HTTP_POST_FILES['userfile']))
 {
  	if(is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name']))
  		{
   			if($HTTP_POST_FILES['userfile']['size'] < $max_size)
   				{
    				if(in_array($HTTP_POST_FILES['userfile']['type'],$allowed))
    					{
     						if(!file_exists($path . $HTTP_POST_FILES['userfile']['name']))
     							{
      								if(@rename($HTTP_POST_FILES['userfile']['tmp_name'],$path.$HTTP_POST_FILES['userfile']['name']))
      									{
       										$html_output = 'Upload sucessful!<br>';
       										$html_output .= 'File Name: '.$HTTP_POST_FILES['userfile']['name'].'<br>';
       										$html_output .= 'File Size: '.$HTTP_POST_FILES['userfile']['size'].' bytes<br>';
       										$html_output .= 'File Type: '.$HTTP_POST_FILES['userfile']['type'].'<br>';
       										$image = $HTTP_POST_FILES['userfile']['name'] ;
      									}
      									else
      										{
       											$html_output = 'Upload failed!<br>';
       										if(!is_writeable($path))
       											{
        											$html_output = 'The Directory "'.$path.'" must be writeable!<br>';
       											}
       										else{
        										$html_output = 'an unknown error ocurred.<br>';      
       											}
      						   				}
     						 }
     						 else
     						 {
      							$html_output = 'The file already exists<br>';
     						 }
    				}
    				else
    				{
     					$html_output = 'Wrong file type<br>';
    				}
   				}
   				else
   				{
    				$html_output = 'The file is too big<br>';
   				}
    }
 }
 else
 {
  $html_output = '<form method="post" enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'">';
  $html_output .= '<input type="file" name="userfile">';
  $html_output .= '<input type="submit" value="upload">';
  $html_output .= '</form>';
 }
  
 echo '<html><head><title>Uploader</title></head><body bgcolor="lightblue">';
 echo '<b>'.$html_output.'</b>';
 echo '</body></html>';
  
 ?>
choppsta
Forum Contributor
Posts: 114
Joined: Thu Jul 03, 2003 11:11 am

Post by choppsta »

You need to add the allowed mime types here:

Code: Select all

// specify the filetypes allowed
 $allowed = array('image/gif','image/pjpeg','image/jpeg','image/png');
Or remove the mime type check completely, this is:

Code: Select all

if(in_array($HTTP_POST_FILES['userfile']['type'],$allowed))
Post Reply