summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfqm server <admin@cflems.net>2025-10-14 03:47:57 +0000
committerfqm server <admin@cflems.net>2025-10-14 03:47:57 +0000
commitb2603ba1dbced1d25fee37992c383b823eedf32b (patch)
tree625322d6d0c3d292bf8ff24b820d836041dbb5dc
downloadimg.cflems.net-b2603ba1dbced1d25fee37992c383b823eedf32b.tar.gz
initial commit
-rw-r--r--index.php110
-rw-r--r--uploads/18bfa44cae958f4e.jpegbin0 -> 665897 bytes
-rw-r--r--uploads/2fc313cd476c6fd7.pngbin0 -> 52345 bytes
-rw-r--r--uploads/91925a638c97cb15.jpegbin0 -> 149482 bytes
-rw-r--r--uploads/ccd87ec899a22744.pngbin0 -> 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&apos;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&apos;s image storage facility." />
+ <meta property="og:site_name" content="cflems.net" />
+ <meta property="og:title" content="cflems&apos;s images" />
+ <meta property="og:description" content="cflems&apos;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&apos;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
new file mode 100644
index 0000000..ad8c7f4
--- /dev/null
+++ b/uploads/18bfa44cae958f4e.jpeg
Binary files differ
diff --git a/uploads/2fc313cd476c6fd7.png b/uploads/2fc313cd476c6fd7.png
new file mode 100644
index 0000000..5ae74cc
--- /dev/null
+++ b/uploads/2fc313cd476c6fd7.png
Binary files differ
diff --git a/uploads/91925a638c97cb15.jpeg b/uploads/91925a638c97cb15.jpeg
new file mode 100644
index 0000000..354c324
--- /dev/null
+++ b/uploads/91925a638c97cb15.jpeg
Binary files differ
diff --git a/uploads/ccd87ec899a22744.png b/uploads/ccd87ec899a22744.png
new file mode 100644
index 0000000..8e29a2f
--- /dev/null
+++ b/uploads/ccd87ec899a22744.png
Binary files differ