From ea1269577fcd9d9b05f4b29ae2ad0d7c4c9a6ca2 Mon Sep 17 00:00:00 2001 From: "David T. Sadler" Date: Thu, 8 Jul 2021 21:47:20 +0100 Subject: Shorten urls --- public/read/index.php | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 public/read/index.php (limited to 'public/read') diff --git a/public/read/index.php b/public/read/index.php new file mode 100644 index 0000000..87857da --- /dev/null +++ b/public/read/index.php @@ -0,0 +1,33 @@ + $config['max_url_length']) { + respondAndExit(400, 'Bad Request'); +} + +$urls = file($config['path_to_file'], FILE_IGNORE_NEW_LINES); + +// Remove requested url from list if present. +$remaingUrls = array_diff($urls, [$requestedUrl]); + +// Count will not have changed if requested url doesn't exist in the list. +if (count($remaingUrls) === count($urls)) { + respondAndExit(404, 'Not Found'); +} + +if (!file_put_contents($config['path_to_file'], implode("\n", $remaingUrls))) { + respondAndExit(500, 'Internal Server Error'); +} + +respondAndExit(308, 'Permanent Redirect', ["Location: $requestedUrl"]); -- cgit v1.2.3-13-gbd6f