/
upload.php
129 lines (123 loc) · 3.77 KB
/
upload.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
//Session Timeout
require_once './includes/session_timeout.php';
require_once './includes/Images/Images.php';
//check if user is logged in, else redirect
if (!isset($_SESSION['username'])) {
header("Location: login.php");
die();
}
?>
<?php
require_once("./includes/getimages.php");
require_once './includes/Upload/Upload.php';
use Includes\Upload;
// set the maximum upload size in bytes
$max = 2048 * 1024; // 600 KB
if (isset($_POST['upload'])) {
// define the path to the upload folder
$destination = 'img/temp/large/';
try {
$loader = new Upload($destination);
$loader->setMaxSize($max);
$loader->upload();
$result = $loader->getMessages();
} catch (Exception $e) {
echo $e->getMessage();
}
if ($result) {
if (isset($_SESSION['upload'])) {
$_SESSION['upload'] = array_merge($_SESSION['upload'], $loader->getNameList());
}
else{
$_SESSION['upload'] = $loader->getNameList();
}
header("Location: review.php");
die();
}
}
//Gets all images user can delete.
//Replace with database
$filenames = buildFileList($dir, ['jpg', 'png', 'gif', 'jpeg']);
if (isset($_POST['delete'])) {
$id = $_POST['id'];
unlink($dir . $filenames[$id]);
unlink($thumbdir . "thumb_" . $filenames[$id]);
unset($filenames[$id]);
natcasesort($filenames);
}
//Gets files in image dir
//Replace with database
function buildFileList($dir, $extensions) {
if (!is_dir($dir) || !is_readable($dir)) {
return false;
} else {
if (is_array($extensions)) {
$extensions = implode('|', $extensions);
}
$pattern = "/\.(?:{$extensions})$/i";
$folder = new FilesystemIterator($dir);
$files = new RegexIterator($folder, $pattern);
$filenames = [];
foreach ($files as $file) {
$filenames[] = $file->getFilename();
}
natcasesort($filenames);
return $filenames;
}
}
?>
<?php include'./includes/title.php';?>
<!DOCTYPE html>
<?php require("./includes/head.php");?>
<body>
<?php include("./includes/header.php") ?>
<?php include("./includes/menu.php") ?>
<div class="containall">
<main>
<div class="fullWidthCenter mobileOnly">
<div class="info">
<div>
<p>User: <?php echo $_SESSION['username']; ?> | <a href="logout.php" class="warning">Logout</a></p>
</div>
</div>
</div>
<form action="" method="post" enctype="multipart/form-data" id="uploadImage">
<?php
if (isset($result)) {
echo '<ul>';
foreach ($result as $message) {
echo "<li>$message</li>";
}
echo '</ul>';
}
?>
<div class="form-group">
<p><label>Select image to upload (Max 2mb):</label></p>
<input type="file" name="fileToUpload[]" id="fileToUpload" multiple>
</div>
<p>Nafn, lýsing, tegund o.s.frv. valið á næstu síðu.</p>
<input type="submit" name="upload" id="upload" value="Upload">
</form>
<form action="" method="post">
<div class="form-group">
<label>Skoða og eyða skrám</label>
<select name="id">
<?php
foreach ($filenames as $key => $value) {
$name = basename($value);
echo "<option value='{$key}'>{$name}</option>";
}
?>
</select>
</div>
<input type="submit" name="delete" id="delete" value="Delete image">
</form>
<?php if (isset($_POST['upload'])) {
}
?>
</main>
</div>
<?php include("./includes/footer.php") ?>
</body>
</html>