-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathupload_file.php
executable file
·104 lines (80 loc) · 3.35 KB
/
upload_file.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
<?php
require "services.php";
session_start();
function addBook($titre, $author, $year, $genre, $collection_id, $filename) {
insererLivre(titre: $titre, auteur: $author, annee: $year, genre: $genre, collection_id: $collection_id, filename: $filename);
}
function updateBook($livre_id, $titre, $author, $year, $genre, $filename) {
modifierLivre(idLivre: $livre_id, nouveauTitre: $titre, nouvelAuteur: $author, nouvelleAnnee: $year, nouveauGenre: $genre, nouvelleLocation: $filename);
}
function processFile($target_dir, $target_file) {
echo 'Myfiles-'.$_FILES["fileToUpload"]["name"];
if (!file_exists($target_dir)) {
mkdir($target_dir, 0777, true); // Create the directory with write permissions
}
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));
// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
return $uploadOk;
}
function saveFile($target_file): bool {
return move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file);
}
$collection_id = $_SESSION["collection_id"];
$timeString = date("YmdHis");
$target_dir = SITE_ROOT."/uploads/".$collection_id;
$target_file = $target_dir . '/' . $timeString . '_' . basename($_FILES["fileToUpload"]["name"]);
if (isset($_GET["action"]) && $_GET["action"] === "update") {
$livre_id = $_GET["livre_id"];
$action = $_GET["action"];
}
if (isset($_FILES["fileToUpload"]["name"]) && $_FILES["fileToUpload"]["name"] !== '') {
$filename = "/uploads/" . $collection_id . '/' . $timeString . '_' . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = processFile($target_dir, $target_file);
if ($uploadOk == 1) {
saveFile($target_file);
} else {
echo "Sorry, there was an error uploading your file.";
}
} else {
$filename = $_GET["filename"];
}
$title = $_POST["title"];
$author = $_POST["author"];
$year = $_POST["year"];
$genre = $_POST["genre"];
$_FILES["fileToUpload"] = $_FILES["fileToUpload"];
echo "The file ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " has been uploaded.";
if ($action === "update") {
updateBook(livre_id: $livre_id, titre: $title, author: $author, year: $year, genre: $genre, filename: $filename);
header("Location: pages/collection.php");
} else {
addBook(titre: $title, author: $author, year: $year, genre: $genre, collection_id: $collection_id, filename: $filename);
header("Location: pages/collection.php?trigger=success&msg='".$title.'\' ajoute a la collection !');
}