php - 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';
}
?>
Answer
Solution:
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>
Answer
Solution:
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 !!';
}
}
?>
Answer
Solution:
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...
Answer
Solution:
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.
Answer
Solution:
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".
Answer
Solution:
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';
}
?>
Answer
Solution:
$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/>";
}
}
Answer
Solution:
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">
Answer
Solution:
Check if file_uploads is enabled on your php.ini
file_uploads = On
Answer
Solution:
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
Source