So i have a form, that i use to regist users. And then i have a image field, using a resize class, to store the image on a folder, and save the name on the database. I have two problems:
The image is not being resized and place on the folder, and the code only stores the image name, not the extension, and it should store the extension too.
So here is my code:
try {
$myValidation = new classes_ValidateForm ('registerUser', $_POST);
$validationResult = $myValidation->getStatus();
if (!is_array($validationResult)) {
$arqName = $_FILES['arquivo']['name'];
$arqTemp = $_FILES['arquivo']['tmp_name'];
$pasta = 'img/';
//extensao do arquivo enviado
$extensaoTemp = explode('.',$arqName);
$extensao = strtolower(end($extensaoTemp));
//nome do arquivo TimesTamp
$nome = time(). '.' . $extensao;
$upload = move_uploaded_file($arqTemp, $pasta . $nome);
if ($upload === true)
{
$ficheiro = $pasta.$nome;
$resizeObj = new resize($ficheiro);
$resizeObj -> resizeImage(1600, 1200, 'auto');
$resizeObj -> saveImage("img/$nome", 100);
$resizethumb = new resize($ficheiro);
$resizethumb -> resizeImage(200, 125, 'crop');
$resizethumb -> saveImage("img/thumbnails/$nome", 100);
}
$myUser = new classes_User ($_POST, 'newUser');
$myUserManager = new classes_UserManager($myControlPanel);
$userResult = $myUserManager->addUser($myUser, $_POST['password'], $nome);
echo $userResult;
die();
}
}
And here is the function to add a user:
public function addUser($myUser, $password, $image) {
if (!is_a ($myUser, 'classes_User')) {
throw new InvalidArgumentException('Invalid Object');
}
// 1 Get Username and email
$username = $myUser->getUsername();
$email = $myUser->getEmail();
$query = "SELECT * FROM users WHERE username='$username' OR email='$email'";
$myDb = $this->_controlPanel->getMyDb();
$result = $myDb->performQuery($query);
if ($result == "Query Error") {
return ("ERROR ADDING USER");
}
elseif ($result->num_rows==1) {
return (false);
}
else {
$name = $myUser->getName();
$encpassword = md5($password);
$idtype = $myUser->getUserType();
$query = "INSERT INTO users (name, username, email, password, id_type, image) VALUES ('$name', '$username', '$email', '$encpassword', '$idtype', '$image')";
$result = $myDb->performQuery($query);
if($result != true) {
return ("Error Adding User:Query");
}
else {
echo "<h2> You have been registered. You will be redirected to the login page.</h2>";
header( "Refresh:3; url=login.php");
}
}
}
Im using this resize class:
https://gist.github.com/leonelsr/3291939#file-resize-class-php
What am i doing wrong here? It stores the $nome in the database, but not with the extension of the photo as it is supposed too. And the image is not stored in the folder too.