-2

Below is my code:

<?php
$name = $_FILES["file"]["name"];
$temp = $_FILES["file"]["temp"];
if(isset($name))
{
if(!empty($name))
{
$location= "upload/";
if(move_uploaded_file($temp, $location.$name))
{
echo "Uploaded!!!";
}
else
{
echo "Error:";
}
}
else
{
echo "Please choose a file to upload";
}
}
?>
<form action= "upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file" ><br><br>
<input type="Submit" value="Submit" >
</form> 

whenever i am running this code, i am getting below error, please assist. I am new to PHP and need to learn it ASAP. Thanks in advance.

Notice: Undefined index: temp in C:\xampp\htdocs\testfolder\upload.php on line 3.

Jonah Bishop
  • 12,279
  • 6
  • 49
  • 74
Deepak
  • 19
  • 3

3 Answers3

3

$temp = $_FILES["file"]["temp"]; should be $temp = $_FILES["file"]["tmp_name"];

mpaepper
  • 3,952
  • 3
  • 21
  • 28
0

it is $_FILES["file"]["tmp_name"];

Hint: Do a var_dump of $_FILES variable to see what it contains. var_dump($_FILES); This will give you your answer.

0

You should be checking if the values are set before trying to pull them out of the array. As well as using tmp_name instead of temp mpaepper noted.

<?php
if(
    isset($_FILES["file"]["name"]) && !empty($_FILES["file"]["name"]) 
    && isset($_FILES["file"]["tmp_name"]) && !empty($_FILES["file"]["tmp_name"])
) {
    $name = $_FILES["file"]["name"];
    $temp = $_FILES["file"]["tmp_name"];
    $location= "upload/";
    if(move_uploaded_file($temp, $location.$name)) {
        echo "Uploaded!!!";
    } else {
        echo "Error:";
    }
} else {
    echo "Please choose a file to upload";
}
?>
<form action= "upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file" ><br><br>
<input type="Submit" value="Submit" >
</form> 
Sammitch
  • 30,782
  • 7
  • 50
  • 77