mirror of
https://github.com/sorenpeter/timeline.git
synced 2025-12-15 19:07:01 +00:00
109 lines
3 KiB
PHP
109 lines
3 KiB
PHP
<?php
|
|
require_once "partials/base.php";
|
|
require_once 'libs/session.php';
|
|
|
|
checkValidSessionOrRedirectToLogin();
|
|
|
|
$title = "Upload - $title";
|
|
|
|
include_once 'partials/header.php';
|
|
|
|
$media_upload = getcwd() . "/" . $config["media_upload"] . "/";
|
|
|
|
if (!empty($_POST)) {
|
|
// Based on code from: https://www.w3schools.com/php/php_file_upload.asp
|
|
|
|
//echo getcwd() ."<br>";
|
|
//echo __DIR__ . "<br>";
|
|
//echo "upload path: " . $config["media_upload"];
|
|
|
|
//$media_upload = getcwd()."/media/";
|
|
$media_upload = getcwd().$config["media_upload"];
|
|
$target_file = $media_upload . basename($_FILES["fileToUpload"]["name"]);
|
|
$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.<br>";
|
|
$uploadOk = 0;
|
|
}
|
|
|
|
// Check file size
|
|
if ($_FILES["fileToUpload"]["size"] > 5000000) {
|
|
echo "<p class='notice'>Sorry, your file is too large.</p>";
|
|
$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.<br>";
|
|
$uploadOk = 0;
|
|
}
|
|
|
|
// Check if $uploadOk is set to 0 by an error
|
|
if ($uploadOk == 0) {
|
|
echo "Sorry, your file was not uploaded.<br>";
|
|
// if everything is ok, try to upload file
|
|
} else {
|
|
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
|
|
echo "The file ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " has been uploaded.<br>";
|
|
} else {
|
|
echo "Sorry, there was an error uploading your file.<br>";
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
?>
|
|
|
|
<form action="" method="post" enctype="multipart/form-data">
|
|
Select image to upload:<br>
|
|
<input type="file" name="fileToUpload" id="fileToUpload"><br>
|
|
<input type="submit" value="Upload Image" name="submit">
|
|
</form>
|
|
|
|
|
|
<?php
|
|
|
|
$imgs_on_server = glob($media_upload."*.{jpg,jpeg,png,gif}", GLOB_BRACE);
|
|
|
|
// Sort image files by date (based on: https://stackoverflow.com/questions/124958/glob-sort-array-of-files-by-last-modified-datetime-stamp
|
|
usort($imgs_on_server, fn($a, $b) => -(filemtime($a) - filemtime($b)));
|
|
|
|
echo '<table class="center">';
|
|
|
|
foreach ($imgs_on_server as $img) {
|
|
|
|
$public_file = $config["public_media"] . "/" . basename($img);
|
|
|
|
echo '<tr class="preview">';
|
|
echo '<td><a href="'.$public_file.'">';
|
|
echo '<img src="'.$public_file.'" style="width=50px;">';
|
|
echo '</a></td>';
|
|
|
|
//$img = str_replace('../', $base_url, $img);
|
|
echo '<td><code></code></td>';
|
|
echo '</tr>';
|
|
}
|
|
|
|
echo '</table>';
|
|
|
|
?>
|
|
|
|
|
|
|
|
<!-- PHP: FOOTER --><?php include_once 'partials/footer.php';?>
|