Ошибка при загрузке файла

У меня проблема с загрузкой в ​​моем проекте

Это мой код класса пользователя

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

Но теперь, когда я запускаю регистрацию, она имеет ошибку

Примечание: неопределенное свойство: User :: $ uploadAvatar в C: \ xampp \ htdocs \alkingspace \ register.php в строке 22

любая помощь для этой ошибки?

0

Решение

Вы пытаетесь получить доступ к uploadAvatar, как если бы это было свойство, но это метод.
Так что вам нужно изменить эту строку:

if($user->uploadAvatar){

к этому:

if($user->uploadAvatar()){
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]