новичок здесь с PHP и пытается учиться.У меня есть php коды, которые, кажется, не работают ... по крайней мере, некоторые его части.
Я хотел сохранить имя файла в базе данных и сохранить файл в папке.Вот некоторые части кодов, над которыми я работал ...
HTML:
<div class="form-group">
<img src="images/<?php if(file_exists('images/avatar/'.$session->userinfo['avatar'])){ echo 'avatar/'.$session->userinfo['avatar']; }else{ echo 'avatar1.png';}?>" class="img-circle" width="150">
<input type="file" name="avatar" class="form-control"/>
<label class="sr-only">Email</label>
<input type="text" name="email" maxlength="50" value="<?php if($form->value("email") == ""){ echo $session->userinfo['email']; }else{ echo $form->value("email"); }?>" class="form-control" placeholder="Email Address">
<label class="sr-only">Current Password</label>
<input type="password" name="curpass" maxlength="30" value="<?php echo $form->value("curpass"); ?>" class="form-control custom-middle" placeholder="Current Password">
<label class="sr-only">New Password</label>
<input type="password" name="newpass" maxlength="30" value="<?php echo $form->value("newpass"); ?>" class="form-control" placeholder="New Password">
</div>
<div class="form-group">
<textarea class="form-control" name="bio" rows="5" maxlength="250" placeholder="Bio" style="resize: none;"><?php if($form->value("bio") == ""){ echo $session->userinfo['bio']; }else{ echo $form->value("bio"); }?></textarea>
</div>
<input type="hidden" name="subedit" value="1">
<input class="btn btn-lg btn-primary btn-block" type="submit" value="Save Changes">
</form>
DATABASE.PHP (откуда берется функция updateUserField ())
function updateUserField($username, $field, $value){
$q = "UPDATE ".TBL_USERS." SET ".$field." = '$value' WHERE username = '$username'";
return mysql_query($q, $this->connection);
}
PROCESS.PHP
function procEditAccount(){
global $session, $form;
/* Account edit attempt */
$retval = $session->editAccount($_POST['curpass'], $_POST['newpass'], $_POST['email'], $_POST['bio'], $_POST['avatar']);
/* Account edit successful */
if($retval){
$_SESSION['useredit'] = true;
header("Location: ".$session->referrer);
}
/* Error found with form */
else{
$_SESSION['value_array'] = $_POST;
$_SESSION['error_array'] = $form->getErrorArray();
header("Location: ".$session->referrer);
}
}
SESSION.PHP * (откуда взята функция editAccount () ) *
function editAccount($subcurpass, $subnewpass, $subemail, $subbio, $subavatar){
global $database, $form; //The database and form object
//working codes.....
//then below is the problem....
/* Change Avatar */
if($subavatar){
$subavatar = $_POST['avatar'];
$folder = "../images/avatar/";
move_uploaded_file($_FILES["avatar"]["tmp_name"], $folder . $_FILES["avatar"]["name"]);
$database->updateUserField($this->username,"avatar",$subavatar);
}
}
Вам может быть интересно, почему я использовал $subavatar = $_POST['avatar'];
вместо $_FILES["avatar"]["name"];
этогоэто потому, что он не сохранит имя файла в базе данных, которая мне нужна.Однако это только сохраняет имя в базе данных, но не сохраняет файл в папке.
Может кто-нибудь помочь мне разобраться и сказать мне, что я делаю неправильно и как это исправить.Пожалуйста и спасибо.