benjaminvr

PHP - Image saver

Aug 3rd, 2021 (edited)
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.65 KB | None | 0 0
  1. <?php
  2.  
  3. header('Access-Control-Allow-Origin: *');
  4. header('Access-Control-Allow-Methods: POST, GET');
  5. header('Content-type: application/json');
  6. header('Access-Control-Allow-Headers: Content-Type');
  7.  
  8. if ($_SERVER['REQUEST_METHOD'] === 'OPTIONS') {    
  9.    http_response_code(200);
  10. }  
  11.  
  12. function generate_string($strength = 32) {
  13.     $input = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  14.     $input_length = strlen($input);
  15.     $random_string = '';
  16.     for($i = 0; $i < $strength; $i++) {
  17.         $random_character = $input[mt_rand(0, $input_length - 1)];
  18.         $random_string .= $random_character;
  19.     }
  20.  
  21.     return $random_string;
  22. }
  23.  
  24. if(isset($_GET['key'])) {
  25.     $myObj->keyIsset = true;
  26.     if($_GET['key'] === "XXXXXXXXXXXXXYOURKEYHEREXXXXXXXX"){
  27.         if(!empty($_FILES['image'])){
  28.             $filename = generate_string(32);
  29.             $allowed_extensions = ['tif', 'tiff', 'bmp', 'jpg', 'jpeg', 'gif', 'png', 'jiff'];
  30.  
  31.             list(,$extension) = explode('/',$_FILES['image']['type']);
  32.             if(in_array(strtolower($extension), $allowed_extensions)){
  33.                 $full_filename = $filename.".".$extension;
  34.  
  35.                 move_uploaded_file($_FILES['image']['tmp_name'], "/var/www/img/".$full_filename);
  36.  
  37.                 $full_url = "https://img.domain.net/articles/".$full_filename;
  38.                 $myObj->url = $full_url;
  39.             } else {
  40.                 $myObj->url = 'Invalid';
  41.             }
  42.         }
  43.     }
  44. } else {
  45.     $myObj->keyIsset = false;
  46. }
  47.  
  48. $json = json_encode($myObj);
  49. if ($json === false) {
  50.     $json = json_encode(["jsonError" => json_last_error_msg()]);
  51.     if ($json === false) {
  52.         $json = '{"jsonError":"unknown"}';
  53.     }
  54.  
  55.     http_response_code(500);
  56. }
  57.  
  58. echo $json;
Advertisement
Add Comment
Please, Sign In to add comment