Compare commits
4 Commits
fbd10d6b11
...
a14e2972c6
Author | SHA1 | Date | |
---|---|---|---|
a14e2972c6 | |||
76e47a033f | |||
f644890e3a | |||
39928a2c56 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,3 +1,5 @@
|
||||
php/composer*
|
||||
php/psalm.xml
|
||||
php/vendor
|
||||
|
||||
php.log
|
||||
|
83
php/get.php
83
php/get.php
@ -1,52 +1,63 @@
|
||||
<?php
|
||||
include_once __DIR__ . "/logging.php";
|
||||
|
||||
define("ROOT_URL", "http://localhost/");
|
||||
define("IMG_DIR", "/var/www/localhost/img/");
|
||||
define("IMG_URL", "img/");
|
||||
define("ROOT_DIR", "/var/www/localhost/");
|
||||
define("IMG_DIR", "img/");
|
||||
define("THUMBNAIL_DIR", __DIR__ . "../thumbnails");
|
||||
|
||||
main();
|
||||
|
||||
function main(): void {
|
||||
$data = json_decode(file_get_contents('php://input'), true);
|
||||
$array = [];
|
||||
$data = json_decode(file_get_contents('php://input'), true);
|
||||
$array = [];
|
||||
|
||||
$category = $data["category"];
|
||||
$directory = IMG_DIR.$category;
|
||||
if (!is_dir($directory)) return;
|
||||
foreach (scandir($directory) as $file) {
|
||||
if ($file === ".") continue;
|
||||
if ($category === "" && $file === "..") continue;
|
||||
$category = $data["category"];
|
||||
$directory = ROOT_DIR.IMG_DIR.$category;
|
||||
|
||||
if ($category != "") $file = $category.'/'.$file;
|
||||
$is_dir = is_dir(IMG_DIR.$file);
|
||||
if (!$is_dir && !is_valid_file_type($file)) continue;
|
||||
if (!is_dir($directory)) goto encode;
|
||||
foreach (scandir($directory) as $file) {
|
||||
if ($file === ".") continue;
|
||||
if ($category === "" && $file === "..") continue;
|
||||
|
||||
$file_item = [];
|
||||
$file_item["is_dir"] = $is_dir;
|
||||
$file_item["url"] = ROOT_URL.IMG_URL.$file;
|
||||
array_push($array, $file_item);
|
||||
}
|
||||
echo json_encode($array);
|
||||
if ($category != "") $file = $category.'/'.$file;
|
||||
$is_dir = is_dir(ROOT_DIR.IMG_DIR.$file);
|
||||
if (!$is_dir && !is_valid_file_type($file)) continue;
|
||||
|
||||
$file_item = [];
|
||||
$file_item["is_dir"] = $is_dir;
|
||||
$file_item["url"] = ROOT_URL.IMG_DIR.$file;
|
||||
$file_item["thumbnail_url"] = create_thumbnail($file);
|
||||
array_push($array, $file_item);
|
||||
}
|
||||
|
||||
encode:
|
||||
echo json_encode($array);
|
||||
}
|
||||
|
||||
function create_thumbnail(string $file): string {
|
||||
return ROOT_URL.IMG_DIR.$file;
|
||||
}
|
||||
|
||||
function is_valid_file_type(string $filename): bool {
|
||||
$file_extensions = [
|
||||
// Image extensions
|
||||
'jpg',
|
||||
'jpeg',
|
||||
'png',
|
||||
'gif',
|
||||
'tiff',
|
||||
'bmp',
|
||||
'webp',
|
||||
'svg',
|
||||
// Video extensions
|
||||
'mp4',
|
||||
];
|
||||
$file_extensions = [
|
||||
// Image extensions
|
||||
'jpg',
|
||||
'jpeg',
|
||||
'png',
|
||||
'gif',
|
||||
'tiff',
|
||||
'bmp',
|
||||
'webp',
|
||||
'svg',
|
||||
// Video extensions
|
||||
'mp4',
|
||||
];
|
||||
|
||||
foreach ($file_extensions as $file_extension) {
|
||||
if (str_ends_with($filename, $file_extension)) return true;
|
||||
}
|
||||
return false;
|
||||
foreach ($file_extensions as $file_extension) {
|
||||
if (str_ends_with($filename, $file_extension)) return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
?>
|
||||
|
||||
|
29
php/logging.php
Normal file
29
php/logging.php
Normal file
@ -0,0 +1,29 @@
|
||||
<?php
|
||||
//define("DEBUG", null);
|
||||
define("LOG_FILE", __DIR__ . "/../php.log");
|
||||
define("PREFIX_ERROR", "Error: ");
|
||||
|
||||
function log_print($string)
|
||||
{
|
||||
if(defined("DEBUG") && !defined("NO_ECHO")) {
|
||||
echo $string . "<br>";
|
||||
return;
|
||||
}
|
||||
|
||||
$handle = fopen(LOG_FILE, "a");
|
||||
if (!$handle) {
|
||||
echo "Unable to open file.<br>";
|
||||
return;
|
||||
}
|
||||
|
||||
if (!fwrite($handle, $string . "\n")) {
|
||||
echo "Unable to write to file.<br>";
|
||||
}
|
||||
fclose($handle);
|
||||
}
|
||||
|
||||
function log_error($string)
|
||||
{
|
||||
log_print(PREFIX_ERROR . $string);
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user