· 9 years ago · Jan 05, 2017, 02:50 PM
1<?php
2
3$dbname = "uploader"; // Database name
4$dbuser = "root"; // User name
5$dbpwd = ""; // User password
6$dbtable = "image"; // Table name
7
8$upload_dir = "uploads/"; // Upload directory
9$upload_limit = 999999999999; // Upload limit
10$filename = date('YdmHis'); // Uploaded file's filename format
11
12// Create directory if not exists
13if( ! file_exists($upload_dir) ) {
14 mkdir($upload_dir);
15}
16
17// Check if $_POST exists
18if( isset($_POST["submit"]) && isset($_FILES["image"]) && is_uploaded_file($_FILES["image"]["tmp_name"]) ) {
19 $valid_upload = 1;
20
21 // Check if file uploaded is valid image
22 if( getimagesize($_FILES["image"]["tmp_name"]) ) {
23 $valid_upload = 1;
24 } else {
25 echo "Selected file is not an image. ";
26 $valid_upload = 0;
27 }
28
29 // Check file size
30 if($_FILES["image"]["size"] > $upload_limit) {
31 echo "Selected file exceeds upload limit. ";
32 $valid_upload = 0;
33 }
34
35
36 // Check if validation succeed and upload file
37 if($valid_upload) {
38 $temp = explode(".", $_FILES["image"]["name"]);
39 $filepath = $upload_dir . basename($filename . '.' . end($temp));
40
41 // Move uploaded file from temp to $upload_dir and establish database connection
42 if( move_uploaded_file($_FILES["image"]["tmp_name"], $filepath) ) {
43
44 $connect = new mysqli('localhost', $dbuser, $dbpwd, $dbname);
45
46 // Check database connection
47 if( ! ($connect) ) {
48 die($mysqli_connect_error);
49 unlink($filepath);
50 } else {
51 // Insert query into database
52 $query = "INSERT INTO " . $dbtable . " (filepath, category) VALUES ('" . $filepath . "', '" . $_POST['category'] . "')";
53 if( ! ($connect->query($query)) ) {
54 die($connect->error);
55 unlink($filepath);
56 }
57
58 $connect->close();
59
60 echo "<h1>Upload success!</h1><img width='200px' src='" . $filepath . "'><br> Category: " . $_POST['category'] . "<br><br><h1>Upload new image:</h1>";
61 }
62 }
63 } else {
64 echo "File was not uploaded. Please try again.";
65 }
66
67} elseif( isset($_POST["submit"]) ) {
68 echo "File was not uploaded. Please try again.";
69}
70?>
71
72<!DOCTYPE html>
73<html>
74<body>
75
76 <div id="uploader">
77 <form action="index.php" method="post" enctype="multipart/form-data">
78 Choose category:
79 <select name="category" style="margin-right:30px">
80 <option value="Uncategorized">No category chosen</option>
81 <option value="My Favourite">My Favourite</option>
82 <option value="Most Favourite">Most Favourite</option>
83 </select>
84
85 Select image to upload:
86 <input type="file" name="image">
87
88 <input type="submit" value="Upload Image" name="submit">
89 </form>
90 </div>
91</body>
92</html>