Php 上载文件时未定义索引

Php 上载文件时未定义索引,php,Php,这是我的错误: 注意:未定义索引:文件位于 第21行C:\xampp\htdocs\Project\Template1\users\index.php注意: 未定义索引:文件位于 请在第23行的C:\xampp\htdocs\Project\Template1\users\index.php 上传 如何摆脱它 Html代码: <form action="index.php" method="post" enctype="multipart/form-data"> <input

这是我的错误:

注意:未定义索引:文件位于 第21行C:\xampp\htdocs\Project\Template1\users\index.php注意: 未定义索引:文件位于 请在第23行的C:\xampp\htdocs\Project\Template1\users\index.php 上传

如何摆脱它

Html代码:

<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代码:

<?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';
    }
?>

拼写错误:

<?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';
    }
?>

按如下所示更改PHP脚本,然后重试

<?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 !!';
        }
    }
?>

$upload\u dir=“../uploads”;
$target_file=“”;
$tmp_file=“”;
如果(isset($_POST['submit']))
{
$tmp_file=$_FILES['file']['tmp_name'];
$target_file=basename($_FILES['file']['name']);
如果(移动上传的文件($tmp文件,$upload目录./“$target文件))
{   
回显“上传的文件
”; } 否则{ echo“出了问题!!
”; } }
检查PHP代码块是否按下了提交按钮或设置了($\u FILES['file'])。这将删除您的错误。它们会弹出,因为在按下submit按钮之前,$_FILES['file']未填充

确保已设置表单属性
enctype=“多部分/表单数据”

此属性可帮助您从用户获取文件

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

检查php.ini上是否启用了文件上传

file_uploads = On

发生这种情况的原因是文件的大小:

最大执行时间
=300
max\u input\u time
=240
立柱最大尺寸
=128M
upload\u max\u filesize
=128M


在php.ini文件中,您应该根据需要更改上述代码

如果您在使用php将任何文件上载到服务器时,大多数时候都会收到错误消息,请注意:未定义索引:zip_文件,下面是解决此问题的方法。只需在表单标记中提及enctype类型

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

解决这个问题的根本办法是使用

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

  echo $option;
  }

始终使用isset函数通常,问题是忘记将此行添加为表单标记属性

enctype=“多部分/表单数据”

enctype属性指定表单数据提交到服务器时应如何编码


注意:只有在method=“post”时才能使用enctype属性。注意:第21行C:\xampp\htdocs\Project\Template1\users\index.php中的未定义索引:文件仍存在此错误**第21行**$name=$\u文件['file']['name'];如果文件尚未上载,则$\u文件['file']将不存在。因此,在使用isset($_FILES['file'])之前,请先检查它,或者使用@来消除警告,因为@不可能是整个文件。代码只有15行,错误在第21行和第23行。@thanksd您编写的内容不正确。我有一个很好的动机,因为如果上传时未定义索引,可能取决于$\u文件是否为空,因此,如果$\u文件为空,可能取决于php上禁用了文件上传。Init传说说我们永远不会知道“下面”是什么,我相信这是大多数情况。方法需要是POST
if(isset($_POST['submit-button'])){
 $option="";
  $option=$_POST["anbieterin_geburtstag_month"];

  echo $option;
  }