diff options
| author | fqm server <admin@cflems.net> | 2025-10-14 03:47:57 +0000 |
|---|---|---|
| committer | fqm server <admin@cflems.net> | 2025-10-14 03:47:57 +0000 |
| commit | b2603ba1dbced1d25fee37992c383b823eedf32b (patch) | |
| tree | 625322d6d0c3d292bf8ff24b820d836041dbb5dc | |
| download | img.cflems.net-b2603ba1dbced1d25fee37992c383b823eedf32b.tar.gz | |
initial commit
| -rw-r--r-- | index.php | 110 | ||||
| -rw-r--r-- | uploads/18bfa44cae958f4e.jpeg | bin | 0 -> 665897 bytes | |||
| -rw-r--r-- | uploads/2fc313cd476c6fd7.png | bin | 0 -> 52345 bytes | |||
| -rw-r--r-- | uploads/91925a638c97cb15.jpeg | bin | 0 -> 149482 bytes | |||
| -rw-r--r-- | uploads/ccd87ec899a22744.png | bin | 0 -> 66811 bytes |
5 files changed, 110 insertions, 0 deletions
diff --git a/index.php b/index.php new file mode 100644 index 0000000..fb072c9 --- /dev/null +++ b/index.php @@ -0,0 +1,110 @@ +<?php +define('CANONICAL', 'https://cflems.net/'); // for nav +define('UPLOADS_DIR', 'uploads/'); +define('UPLOAD_BASE_URL', 'https://i.fle.ms/'); + +function handle_upload() { + global $error; + + if (!isset($_FILES['image'])) { + $error = 'Please select an image.'; + return; + } + + $tmp_file = $_FILES['image']['tmp_name']; + try { + $image_type = exif_imagetype($tmp_file); + } catch (Exception $_) { + $image_type = false; + } + + $disallowed_types = array( + IMAGETYPE_SWF, IMAGETYPE_SWC, IMAGETYPE_UNKNOWN); + if ($image_type === false || in_array($image_type, $disallowed_types)) { + $error = 'The uploaded file is not an image.'; + return; + } + + $slug = substr(hash_file('sha256', $tmp_file), -16); + $ext = image_type_to_extension($image_type); + $ext = $ext ? $ext : '.png'; + $file_name = $slug . $ext; + + if (!is_dir(UPLOADS_DIR)) + mkdir(UPLOADS_DIR); + + if (!file_exists(UPLOADS_DIR . $file_name)) + move_uploaded_file($tmp_file, UPLOADS_DIR . $file_name); + + $uploaded_url = UPLOAD_BASE_URL . $file_name; + header('Location: ' . UPLOAD_BASE_URL . $file_name); + die($uploaded_url); +} + +if (isset($_POST['upload'])) handle_upload(); +?> +<!DOCTYPE html> +<html> + <head> + <meta charset="utf-8" /> + <title>cflems's images</title> + <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1.0" /> + <meta name="author" content="Carson Fleming" /> + <meta name="description" content="cflems's image storage facility." /> + <meta property="og:site_name" content="cflems.net" /> + <meta property="og:title" content="cflems's images" /> + <meta property="og:description" content="cflems's image storage facility." /> + <meta property="og:url" content="https://img.cflems.net/" /> + <meta property="og:type" content="website" /> + <meta property="og:image" content="https://cdn.cflems.net/assets/cflemse5bd6ff0.webp" /> + <meta property="og:image:width" content="256" /> + <meta property="og:image:height" content="256" /> + <meta property="og:locale" content="en_US" /> + <link rel="canonical" href="https://img.cflems.net/" /> + <link rel="icon" type="image/svg+xml" href="https://cdn.cflems.net/assets/cflemsffd498eb.svg" /> + <link rel="stylesheet" type="text/css" href="https://cflems.net/css/fonts.css" /> + <link rel="stylesheet" type="text/css" href="https://cflems.net/css/nav.css" /> + <link rel="stylesheet" type="text/css" href="https://cflems.net/css/style.css" /> + <script type="text/javascript" src="https://cflems.net/js/nav.js" defer="defer"></script> + </head> + <body> +<?php +require(__DIR__.'/../cflems.net/shared/nav.php'); +?> + <header> + <h1> + <span class="name">cflems's</span> + <span class="emdash"></span> + </h1> + <h2 style="color: var(--text-color-tertiary);">Images</h2> + <p>Arbitrary image storage facility.</p> + </header> + <section> + <div class="item"> + <form class="left" action="/" method="post" enctype="multipart/form-data"> + <h2>Upload Image</h2> + <h3>Select an image from your computer.</h3> + <p> + <input type="file" name="image" accept="image/*" required="required" /> + </p> +<?php +if (isset($error)) { +?> + <p class="error" style="color: #dd2255; font-weight: 700;">Error: <?=htmlentities($error);?></p> +<?php +} +?> + <p> + <input type="submit" name="upload" value="Upload" /> + </p> + </form> + <div class="right"> + <img src="https://cdn.cflems.net/penguins/photog.png" alt="Photographer Penguin" /> + </div> + </div> + </section> +<?php +require(__DIR__.'/../cflems.net/shared/footer.php'); +?> + </body> +</html> diff --git a/uploads/18bfa44cae958f4e.jpeg b/uploads/18bfa44cae958f4e.jpeg Binary files differnew file mode 100644 index 0000000..ad8c7f4 --- /dev/null +++ b/uploads/18bfa44cae958f4e.jpeg diff --git a/uploads/2fc313cd476c6fd7.png b/uploads/2fc313cd476c6fd7.png Binary files differnew file mode 100644 index 0000000..5ae74cc --- /dev/null +++ b/uploads/2fc313cd476c6fd7.png diff --git a/uploads/91925a638c97cb15.jpeg b/uploads/91925a638c97cb15.jpeg Binary files differnew file mode 100644 index 0000000..354c324 --- /dev/null +++ b/uploads/91925a638c97cb15.jpeg diff --git a/uploads/ccd87ec899a22744.png b/uploads/ccd87ec899a22744.png Binary files differnew file mode 100644 index 0000000..8e29a2f --- /dev/null +++ b/uploads/ccd87ec899a22744.png |
