很多地方都出现了这个Notice,比较多的是还有个$_GET[]出现的
<?php
        if (is_uploaded_file($_FILES['upfile']['tmp_name'])){        $upfile=$_FILES['upfile'];        $name = $upfile['name'];
        $type = $upfile['type'];
        $size = $upfile['size'];
        $tmp_name = $upfile['tmp_name'];
        move_uploaded_file($tmp_name,'up/'.$name);
    }?>
<form action="up.php" enctype="multipart/form-data" name="upform" method="post">
    <div align="center">上传文件:
                        <input name="upfile" type="file">
                        <input name="Submit" type="submit" value="上传">
    </div>
</form>据说要给变量初始化,这个怎么给upfile初始化,本来就是空的啊 又还没有上传,难道就只能把Notice给屏蔽了? 

解决方案 »

  1.   

    着是PHP.ini设置的! 一般的开发,你在PHP.ini里面修改下就可以了,而且你上传到服务器,一般不会出现这种情况.
    把error_reporting  =  E_ALL  
    改为
    error_reporting  =  E_ALL & ~E_NOTICE 
      

  2.   

    这个仅仅是提示 不是错误.所以你可以认为的忽略这个提示.
    当然如果实在不顺眼可以根据楼上的方法进行修改.不过我建议你认真的对待每一个提示进行处理其实你只需要加一个判断 isset()就可以了
      

  3.   

    加个isset() 只是屏蔽了吧。。
    if (isset($upfile)){
    if (is_uploaded_file($_FILES['upfile']['tmp_name'])){
    $upfile=$_FILES['upfile']; $name = $upfile['name'];
    $type = $upfile['type'];
    $size = $upfile['size'];
    $tmp_name = $upfile['tmp_name'];
    move_uploaded_file($tmp_name,'up/'.$name);
    }
    }
    这样是没有出现notice了 但是那里面的功能也没有了,要是if(!isset($upfile))的话 还是一样出现notice
      

  4.   

    什么变量出现提示就加在什么地方进行判断,只有没有定义或者空值的变量才会出现那样的提示.
    如果你加了提示 里面的功能也没有了那就说明你代码没写正确
    if (isset($_FILES['upfile']['tmp_name'])){
    if (is_uploaded_file($_FILES['upfile']['tmp_name'])){
    isset($_FILES['upfile'])?$upfile=$_FILES['upfile']:'';
    isset($upfile['name'])?$name = $upfile['name']:'';
    isset($upfile['type'])?$type = $upfile['type']:'';
    isset($upfile['size'])?$size=$upfile['size']:'';
    isset($upfile['tmp_name'])?$tmp_name = $upfile['tmp_name']:'';
    move_uploaded_file($tmp_name,'up/'.$name);
    }
    }当然你也可以用foreach  来判断 这样可以少写点代码