Har börjat titta på PHP och MVC men vissa saker tycker jag är lite diffust om koden ska vara i modellen eller kontrollern (vyn är jag klar vad den ska innehålla).
1. Om vi tar ex koden som är längst ner i denna post. Denna metod skulle man kunna köra på en sida (en fil) i ett vanligt projekt. Hur bör den se ut i ett MVC-projekt? Själv frågorna förstår till databasen jag ska ligga i modellen men resten som handlar om att ändra storlek på bilden etc innan den laddas upp? Ska det också ligga i modellen?
2. Vi säger att jag har en egen fristående funktion som bara slumpar fram ett random nummer, leker lite med talen etc för att sen retunera ett tal. Ska denna ligga i modellen eller kontrollern?
1. Om vi tar ex koden som är längst ner i denna post. Denna metod skulle man kunna köra på en sida (en fil) i ett vanligt projekt. Hur bör den se ut i ett MVC-projekt? Själv frågorna förstår till databasen jag ska ligga i modellen men resten som handlar om att ändra storlek på bilden etc innan den laddas upp? Ska det också ligga i modellen?
2. Vi säger att jag har en egen fristående funktion som bara slumpar fram ett random nummer, leker lite med talen etc för att sen retunera ett tal. Ska denna ligga i modellen eller kontrollern?
HTML-kod:
// include resized library
require_once('./php-image-magician/php_image_magician.php');
$msg = "";
$valid_image_check = array("image/gif", "image/jpeg", "image/jpg", "image/png", "image/bmp");
if (count($_FILES["user_files"]) > 0) {
$folderName = "uploads/";
$sql = "INSERT INTO tbl_images(image_name) VALUES (:img)";
$stmt = $DB->prepare($sql);
for ($i = 0; $i < count($_FILES["user_files"]["name"]); $i++) {
if ($_FILES["user_files"]["name"][$i] <> "") {
$image_mime = strtolower(image_type_to_mime_type(exif_imagetype($_FILES["user_files"]["tmp_name"][$i])));
// if valid image type then upload
if (in_array($image_mime, $valid_image_check)) {
$ext = explode("/", strtolower($image_mime));
$ext = strtolower(end($ext));
$filename = rand(10000, 990000) . '_' . time() . '.' . $ext;
$filepath = $folderName . $filename;
if (!move_uploaded_file($_FILES["user_files"]["tmp_name"][$i], $filepath)) {
$emsg .= "Failed to upload <strong>" . $_FILES["user_files"]["name"][$i] . "</strong>. <br>";
$counter++;
} else {
$smsg .= "<strong>" . $_FILES["user_files"]["name"][$i] . "</strong> uploaded successfully. <br>";
$magicianObj = new imageLib($filepath);
$magicianObj->resizeImage(100, 100);
$magicianObj->saveImage($folderName . 'thumb/' . $filename, 100);
/* * ****** insert into database starts ******** */
try {
$stmt->bindValue(":img", $filename);
$stmt->execute();
$result = $stmt->rowCount();
if ($result > 0) {
// file uplaoded successfully.
} else {
// failed to insert into database.
}
} catch (Exception $ex) {
$emsg .= "<strong>" . $ex->getMessage() . "</strong>. <br>";
}
/* * ****** insert into database ends ******** */
}
} else {
$emsg .= "<strong>" . $_FILES["user_files"]["name"][$i] . "</strong> not a valid image. <br>";
}
}
}
$msg .= (strlen($smsg) > 0) ? successMessage($smsg) : "";
$msg .= (strlen($emsg) > 0) ? errorMessage($emsg) : "";
} else {
$msg = errorMessage("You must upload atleast one file");
}