上传文件错误

Error in Uploading File

我的项目上传有问题

这是我的代码 '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');
            }

    }
}?>

这是我的注册

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

这是我的表格:

<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>

但是现在我运行注册时出现错误

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

对这个错误有什么帮助吗?

您尝试像访问 uploadAvatar 一样访问 属性 但它是一种方法。 所以你需要改变这一行:

if($user->uploadAvatar){

对此:

if($user->uploadAvatar()){