add a webp threadhold to convert files

This commit is contained in:
Lee 2023-04-09 16:51:05 +01:00
parent c2c6a62ab4
commit 8b116a143f
2 changed files with 23 additions and 20 deletions

@ -1,32 +1,34 @@
# ShareX Upload Script
This is a PHP script that lets you easily upload screenshots taken with the ShareX app to your website. ShareX is a popular screenshot tool for Windows that allows you to take screenshots, annotate them, and share them online.
This PHP script allows you to effortlessly upload your ShareX app screenshots to your website. ShareX is a widely-used Windows screenshot tool that enables users to take screenshots, annotate them, and share them online.
## Features
- Uploads screenshots to your website using ShareX.
- Can automatically convert screenshots to WebP format.
- Effortlessly upload screenshots to your website using ShareX.
- Automatically convert screenshots to WebP format.
## Installation
1. Find somewhere to host the script (Preferably more than 5GB of storage).
2. Check that your web server has the GD library installed. (See below for instructions on how to install it on Ubuntu.)
3. Upload the files to your server.
4. Edit the `upload.php` file to configure the script.
5. Add the custom uploader to ShareX.
6. Configure the custom uploader in ShareX.
7. Test it!
To install this script:
## Help
- Find a suitable location to host the script (with at least 5GB of storage).
- Verify that your web server has the GD library installed. (See instructions below for Ubuntu installation.)
- Upload the files to your server.
- Edit the `upload.php` file to configure the script.
- Add the custom uploader to ShareX.
- Configure the custom uploader in ShareX.
- Test the script!
If you need help, you can contact me on Discord at `Fascinated#7668`.
## Need Help?
## How to install GD Library on Ubuntu
If you require assistance, feel free to contact me via Discord at Fascinated#7668.
1. `sudo apt-get install php-gd`
2. Add `extension=gd` to your php.ini file.
3. Restart your web server and php.
## How to Install GD Library on Ubuntu
## Other
- `sudo apt-get install php-gd`
- Add extension=gd to your php.ini file.
- Restart your web server and php.
This project is worked on at my Gitea instance: <https://git.fascinated.cc/Fascinated/sharex-php-uploader>
## Other Information
This project is maintained on my Gitea instance: <https://git.fascinated.cc/Fascinated/sharex-php-uploader>

@ -10,6 +10,7 @@ $tokens = array("set me"); // Your secret keys
$uploadDir = "./"; // The upload directory
$useRandomFileNames = false; // Use random file names instead of the original file name
$fileNameLength = 8; // The length of the random file name
$webpThreadhold = 1048576; // The minimum file size for converting to webp (in bytes)
/**
* Check if the token is valid
@ -59,7 +60,7 @@ try {
die();
}
$target_file = $_FILES["sharex"]["name"]; // File name
$target_file = preg_replace("/[^A-Za-z0-9_.]/", '', $_FILES["sharex"]["name"]); // Remove unwanted characters
$fileType = pathinfo($target_file, PATHINFO_EXTENSION); // File extension (e.g. png, jpg, etc.)
// Check if the file already exists
@ -76,7 +77,7 @@ try {
}
// Convert the image to webp if applicable
if (in_array($fileType, array("png", "jpeg", "jpg"))) {
if (in_array($fileType, array("png", "jpeg", "jpg")) && $_FILES["sharex"]["size"] > $webpThreadhold) {
$image = imagecreatefromstring(file_get_contents($_FILES["sharex"]["tmp_name"]));
$webp_file = pathinfo($finalName, PATHINFO_FILENAME) . ".webp";
imagewebp($image, $webp_file, 90); // Convert the image and save it