@ -1,8 +1,8 @@
<?php
// Imeji Uploader Core Code -- Version 1.3 (Uploader Filename Randomizer Algorithm Update)
// Imeji Uploader Core Code -- Version 1.4 (Return Proper Error Codes Update)
//
// Core Variables. Don't change unless you know what you're doing.
$imejicoreversion = "imeji_v1.3_2 ";
$imejicoreversion = "Imeji-Caddy_V1.4 ";
$target_dir = "public/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$target_filenameonly = basename($_FILES["fileToUpload"]["name"]);
@ -12,25 +12,31 @@ $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
// echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
//echo "File is not an image.";
//header("HTTP/1.1 415 Unsupported Media Type");
//header('Location: ./failed.php?error=415');
$errCode = 415;
$uploadOk = 0;
header('Location: ./failed.php');
}
}
// Check whether a file with the same name already exists on server or not for security reasons.
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
//echo "Sorry, file already exists.";
//header("HTTP/1.1 409 Conflict");
//header('Location: ./failed.php?error=409');
$errCode = 409;
$uploadOk = 0;
header('Location: ./failed.php');
}
// Check file size. (Imeji Standard Max is 6MB)
if ($_FILES["fileToUpload"]["size"] > 6291456) {
echo "Sorry, your file is too large. (Max is 6MB)";
//echo "Sorry, your file is too large. (Max is 6MB)";
//header("HTTP/1.1 413 Payload Too Large");
//header('Location: ./failed.php?error=413');
$errCode = 413;
$uploadOk = 0;
header('Location: ./failed.php');
}
// Allow only certain file formats.
// 1.1a -- Fixed uppercase rejection bug and allows them.
@ -38,14 +44,21 @@ if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg
& & $imageFileType != "JPG" & & $imageFileType != "PNG" & & $imageFileType != "JPEG"
& & $imageFileType != "gif" & & $imageFileType != "svg"
& & $imageFileType != "GIF" & & $imageFileType != "SVG" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
//echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
//header("HTTP/1.1 415 Unsupported Media Type");
//header('Location: ./failed.php?error=415');
$errCode = 415;
$uploadOk = 0;
header('Location: ./failed.php');
}
// Check if $uploadOk is set to 0 by an error, if so go to failure condition.
if ($uploadOk == 0) {
echo "Sorry, your file could not be uploaded.";
header('Location: ./failed.php');
if (!$errCode) {
//echo "Sorry, your file could not be uploaded.";
header('Location: ./failed.php?error=400');
} else {
//echo "Sorry, your file could not be uploaded.";
header('Location: ./failed.php?error=' . $errCode);
}
// If everything is ok, try to upload file.
} else {
// 1.2a --- Changed some case-confusing characters such as I and O to web safe symbols.
@ -97,14 +110,15 @@ if ($uploadOk == 0) {
$newtarget = $target_dir . $newfilename;
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $newtarget)) {
chmod("$newtarget", 0775); // Set read and write permissions on file
echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
// echo "The file ". basename( $_FILES["fileToUpload"]["name"]). " has been uploaded.";
$uploaderlog = "" . date('U') . ", ". date('Y-m-d H:i:s e') . ", $_SERVER[REMOTE_ADDR], $newfilename" . ", " . $imejicoreversion . ", $_SERVER[HTTP_USER_AGENT]";
file_put_contents('uploads.log', $uploaderlog . PHP_EOL, FILE_APPEND);
header('Location: https://i.yandols.xyz/' . $newfilename);
} else {
// If anything wrong here, go to failure condition.
echo "Sorry, there was a problem uploading your file.";
header('Location: ./failed.php');
//echo "Sorry, there was a problem uploading your file.";
// This part of code should never occur. But in case it does, redirect user to error page with code 500.
header('Location: ./failed.php?error=500');
}
}
?>