Ashish Singh
Ashish Singh

Reputation: 287

Undefined Index while uploading file

This is my error:

Notice: Undefined index: file in C:\xampp\htdocs\Project\Template1\users\index.php on line 21 Notice: Undefined index: file in C:\xampp\htdocs\Project\Template1\users\index.php on line 23 please uploaded

How to get rid of it?

Html Code:

<form action="index.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file"><br><br>
<input type="submit" value="submit" name="submit">
</form>

Php Code:

<?php

    $name = $_FILES['file']['name'];
    $temp_name = $_FILES['file']['temp_name'];

    if (isset($name)) {

        if (!empty($name)) {
            $location = '../uploads/';
        }

        if (move_uploaded_file($temp_name, $location.$name)) {
            echo 'uploaded';
        }

    } else {
        echo 'please uploaded';
    }
?>

Upvotes: 20

Views: 122295

Answers (10)

Nishit Zinzuvadiya
Nishit Zinzuvadiya

Reputation: 822

Make sure you have set form attribute enctype="multipart/form-data".

This attribute help you to get files from user.

<form action="PATH" method="post" enctype="multipart/form-data"></form>

Upvotes: 35

Pupil
Pupil

Reputation: 23958

Spelling mistake:

<?php
    $name = $_FILES['file']['name'];

    $temp_name = $_FILES['file']['tmp_name']; // tmp_name

    if(isset($name)){
        if(!empty($name)){

            $location = '../uploads/';
        }
        if(move_uploaded_file($temp_name, $location.$name)){
            echo 'uploaded';
        }
    }  else {
        echo 'please uploaded';
    }
?>

Upvotes: 1

Sherin Jose
Sherin Jose

Reputation: 2526

Change your PHP script as below and try

<?php 
    if(isset($_POST['submit'])){
        $name       = $_FILES['file']['name'];  
        $temp_name  = $_FILES['file']['tmp_name'];  
        if(isset($name) and !empty($name)){
            $location = '../uploads/';      
            if(move_uploaded_file($temp_name, $location.$name)){
                echo 'File uploaded successfully';
            }
        } else {
            echo 'You should select a file to upload !!';
        }
    }
?>

Upvotes: 21

chobela
chobela

Reputation: 305

Usually, the problem is forgetting to add this line as a form tag attribute.

enctype="multipart/form-data"

The enctype attribute specifies how the form-data should be encoded when submitting it to the server.

Note: The enctype attribute can be used only if method="post".

Upvotes: 1

PRABHAT PANDIT
PRABHAT PANDIT

Reputation: 1

the solid solution to this problem is to use

if(isset($_POST['submit-button'])){
 $option="";
  $option=$_POST["anbieterin_geburtstag_month"];

  echo $option;
  }

always use isset function

Upvotes: -3

sumit kumar pradhan
sumit kumar pradhan

Reputation: 653

if you are getting Notice: Undefined index: zip_file in error message most of the time, While uploading any file to server using php, Then here is the solution for this. only you need to mention enctype type in form tag.

<form method="post" action="" name="login" enctype="multipart/form-data">

Upvotes: 0

this happens due to the size of the file :

max_execution_time = 300
max_input_time = 240
post_max_size = 128M upload_max_filesize = 128M

in your php.ini file you should change above codes according to your requirement...

Upvotes: 7

fvlgnn
fvlgnn

Reputation: 97

Check if file_uploads is enabled on your php.ini

file_uploads = On

Upvotes: -1

Mipzhap
Mipzhap

Reputation: 45

Do a check around your PHP code block checking if either the submit button has been pressed or if isset($_FILES['file']). This should remove your errors. They pop up because the $_FILES['file'] isn't populated before the submit button is pressed.

Upvotes: 1

Mubin
Mubin

Reputation: 4425

$upload_dir="../uploads";
$target_file="";
$tmp_file="";
if(isset($_POST['submit']))
{

        $tmp_file=$_FILES['file']['tmp_name'];
        $target_file=basename($_FILES['file']['name']);
            if(move_uploaded_file($tmp_file, $upload_dir."/".$target_file))
        {   
        echo "File uploaded <br />";

        }
        else {
              echo "Something went Wrong !!<br/>";
            }
}

Upvotes: 0

Related Questions