· 6 years ago · Apr 21, 2019, 11:18 AM
1<!DOCTYPE html>
2<html lang="en">
3
4<head>
5 <meta charset="UTF-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1.0">
7 <meta http-equiv="X-UA-Compatible" content="ie=edge">
8 <title>Upload Test</title>
9</head>
10
11<body>
12 <?php
13
14 session_start();
15
16 try {
17
18 $db = new PDO('mysql:dbhost=localhost;dbname=demo', 'root', '', [
19 PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
20 ]);
21
22 // $sql = "CREATE TABLE IF NOT EXISTS users(id INT PRIMARY KEY AUTO_INCREMENT, user_name VARCHAR(75) NOT NULL, user_email VARCHAR(75) NOT NULL);";
23 // $db->exec($sql);
24
25 // $sql = "CREATE TABLE IF NOT EXISTS images(id INT PRIMARY KEY AUTO_INCREMENT, image_name VARCHAR(75), uploaded_by INT NOT NULL, FOREIGN KEY fk_user(uploaded_by) REFERENCES users(id) ON DELETE NO ACTION ON UPDATE CASCADE);";
26 // $db->exec($sql);
27
28 // $sql = "INSERT INTO users (user_name, user_email) VALUES(:user_name, :user_email);";
29
30 // $stmt = $db->prepare($sql);
31
32 // $stmt->execute([
33 // 'user_name' => 'demo-user',
34 // 'user_email' => 'demo-user@email.com',
35 // ]);
36
37
38 // $sql = "SELECT id FROM users WHERE id=:user_id";
39 // $stmt = $db->prepare($sql);
40 // $stmt->execute([
41 // 'user_id' => 1
42 // ]);
43
44 // class User
45 // {
46 // public $id;
47 // public $user_id;
48 // public $user_email;
49 // }
50
51 // $user = $stmt->fetchObject('User');
52 // $_SESSION['user_id'] = $user->id;
53
54 if (isset($_POST['upload'])) {
55 $error = [];
56 $extension = ["jpeg", "jpg", "png", "gif"];
57
58 $uploads_path = 'uploads/';
59
60 foreach ($_FILES["images"]["tmp_name"] as $key => $tmp_name) {
61 $file_name = $_FILES["images"]["name"][$key];
62 $file_tmp = $_FILES["images"]["tmp_name"][$key];
63 $ext = pathinfo($file_name, PATHINFO_EXTENSION);
64
65 if (in_array($ext, $extension)) {
66 $filename = basename($file_name, $ext);
67 $fileName = $filename . time() . "." . $ext;
68 move_uploaded_file($_FILES["images"]["tmp_name"][$key], $uploads_path . $fileName);
69
70 $sql = "INSERT INTO images(image_name, uploaded_by) VALUES(:image_name, :uploaded_by)";
71
72 $user_id = $_SESSION['user_id']; // must check this
73
74 $stmt = $db->prepare($sql);
75
76 $stmt->execute([
77 'image_name' => $fileName,
78 'uploaded_by' => $user_id
79 ]);
80 } else {
81 echo 'Failed to upload: ' . $file_name;
82 }
83 }
84 }
85
86 $db = null;
87 } catch (PDOException $e) {
88 die($e->getMessage());
89 }
90 ?>
91
92 <form action="" method="post" enctype="multipart/form-data">
93 <input type="file" name="images[]"><br>
94 <input type="file" name="images[]"><br>
95 <!-- You can add more if you want -->
96 <input type="submit" value="Upload" name="upload">
97 </form>
98</body>
99
100</html>