PHP Multiple file upload error???

Discussion in 'PHP' started by rahulephp, Dec 12, 2009.

  1. #1
    i think i am missing something in the below script:
    It shows error an do not upload files to destination:

    Let me know how to solve this:

    
    
      <?php
    
    
      if (isset($_POST[submit])) 
      
      {
    
      $uploadArray= array();
      $uploadArray[] = $_POST['uploadedfile'];
      $uploadArray[] = $_POST['uploadedfile2'];
      $uploadArray[] = $_POST['uploadedfile3'];
    
    
    	  foreach($uploadArray as $file) 
    	  {
    		  $target_path = "upload/";
    		
    		  $target_path = $target_path . basename( $_FILES["$file"]['name']);
    		
    		
    			if(move_uploaded_file($_FILES["$file"]['tmp_name'], $target_path)) 
    				{
    		
    				echo "The file ". basename( $_FILES["$file"]['name'])." has been uploaded";
    		
    				}
    		   else
    					{
    		
    				echo "There was an error uploading the file, please try again!";
    		
    				 }
    
      		}
    
    
    
      }
    
    
    
      ?>
    
    
    
    
    
      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
      <html xmlns="http://www.w3.org/1999/xhtml">
    
      <head>
    
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
    
      <title>Untitled Document</title>
    
      </head>
    
    
    
      <body>
    
    
    
    
    
      <form enctype="multipart/form-data" action="" method="POST">
    
      <p>
    
     	 <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
    
      Choose a file to upload:
    
      <input name="uploadedfile" type="file" />
    
      </p>
    
      <p>Choose a file to upload:
    
      <input name="uploadedfile2" type="file" />
    
      </p>
    
      <p>Choose a file to upload:
    
      <input name="uploadedfile3" type="file" />
    
      <br />
    
      <input name="submit" type="submit" id="submit" value="submit" />
    
      </p>
    
      </form>
    
    
    
      </body>
    
      </html>
    
    Code (markup):
    Error Msg:
    
    
    Notice: Undefined index: in E:\wamp\www\fileupload\index.php on line 25
    There was an error uploading the file, please try again!
    Notice: Undefined index: in E:\wamp\www\fileupload\index.php on line 22
    
    Notice: Undefined index: in E:\wamp\www\fileupload\index.php on line 25
    There was an error uploading the file, please try again!
    Notice: Undefined index: in E:\wamp\www\fileupload\index.php on line 22
    
    Notice: Undefined index: in E:\wamp\www\fileupload\index.php on line 25
    There was an error uploading the file, please try again! 
    
    Code (markup):
     
    rahulephp, Dec 12, 2009 IP
  2. mastermunj

    mastermunj Well-Known Member

    Messages:
    687
    Likes Received:
    13
    Best Answers:
    0
    Trophy Points:
    110
    #2
    change your PHP code to what is given below and it will be done..

    
    <?php
    	if (isset($_POST[submit])) 
    	{
    		foreach($_FILES as $file) 
    		{
    			$target_path = 'upload/';
    			
    			$target_path = $target_path . $file['name'];
    			if(move_uploaded_file($file['tmp_name'], $target_path)) 
    			{
    				echo 'The file ' . $file['name'] . ' has been uploaded';
    			}
    			else
    			{
    				echo 'There was an error uploading the file, please try again!';
    			}
    		}
    	}
    ?>
    
    PHP:
     
    mastermunj, Dec 12, 2009 IP