dqwh0108 2015-05-23 06:26
浏览 41
已采纳

上传文件时出错

I have problem with the Uploading in my Project

This is my Code Of 'User' class

<?php
class User{
    public function uploadAvatar() {
        $alowedExts = array("gif", "jpeg", "jpg", "png");
        $temp = explode(".", $_FILES["avatar"]["name"]);
        $extention = end($temp);

        if(($_FILES["avatar"]["type"] == "image/gif")
            ||  ($_FILES["avatar"]["type"] == "image/jpeg")
            ||  ($_FILES["avatar"]["type"] == "image/jpg")
            ||  ($_FILES["avatar"]["type"] == "image/pjpeg")
            ||  ($_FILES["avatar"]["type"] == "image/x-png")
            ||  ($_FILES["avatar"]["type"] == "image/png")
            &&  ($_FILES["avatar"]["size"] > 50000)
            &&  in_array($extention, $alowedExts)) {
            if($_FILES["avatar"]["error"] > 0) {
                redirect('register.php', $_FILES['avatar']['error'],'error');
            } else {
                if (file_exists("/images/avatars/" . $_FILES["avatar"]["name"]))  {
                    redirect('register.php', 'File Already Exists', 'error');
                } else{
                    move_uploaded_file($_FILES["avatar"]["tmp_name"],
                    "images/avatars/" . $_FILES["avatar"]["name"]);

                    return true;
                    }
                }

            } else {
                redirect('register.php','invalid file type','error');
            }

    }
}?>

and here is my Register

<?php 
//create User Object
$user = new User;



if(isset($_POST['register'])){
    //create Data Array
    $data = Array();
    $data['name'] = $_POST['name'];
    $data['email'] = $_POST['email'];
    $data['username'] = $_POST['username'];
    $data['password'] = md5($_POST['password']);
    $data['password2'] = md5($_POST['password2']);
    $data['about'] = $_POST['about'];
    $data['last_activity'] = date("Y-m-d h:i:s");

if($user->uploadAvatar){
    $data['avatar'] = $_FILES['avatar']['name'];
} else {
    $data['avatar'] = 'noimage.png';
}
} ?>

This is my Form:

<form role="form" enctype="multipart/form-data" method="post" action="register.php">
                        <div class="form-group">
                            <label>Name*</label>
                            <input type="text" class="form-control" name="name" placeholder="Enter Name"/>
                        </div>
                        <div class="form-group">
                            <label>Email Address*</label>
                            <input type="email" class="form-control" name="email" placeholder="Enter Your Email Address"/>
                        </div>
                        <div class="form-group">
                            <label>Choose UserName*</label>
                            <input type="text" class="form-control" name="username" placeholder="Create Username"/>
                        </div>
                        <div class="form-group">
                            <label>Password*</label>
                            <input type="password" class="form-control" name="password" placeholder="Enter A Password"/>
                        </div>
                        <div class="form-group">
                            <label>Confirm Password*</label>
                            <input type="password" class="form-control" name="password2" placeholder="Enter Password Again"/>
                        </div>
                        <div class="form-group">
                            <label>Upload Avatar</label>
                            <input type="file" name="avatar" />
                            <p class="help-block"></p>
                        </div>
                        <div class="form-group">
                            <label>About Me</label>
                            <textarea id="about" rows="6" cols="80" class="form-control" name="about" placeholder="Tell Us About Yourself (Optional)"></textarea>
                        </div>
                        <input name="register" type="submit" class="btn btn-default" value="Register" />
                    </form>

But now when I run the registration it hass Error

Notice: Undefined property: User::$uploadAvatar in C:\xampp\htdocs\talkingspaceegister.php on line 22

any help for this Error?

  • 写回答

1条回答 默认 最新

  • dongting7352 2015-05-23 06:29
    关注

    You try to access uploadAvatar as if it was a property but it's a method. So you need to change this line:

    if($user->uploadAvatar){
    

    to this:

    if($user->uploadAvatar()){
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题