Guest User

Auto resize script

a guest
Jun 13th, 2013
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.29 KB | None | 0 0
  1. <?php
  2.     if(isset($_GET['file'])) {
  3.         $_GET['file'] = str_replace('..', '', $_GET['file']);
  4.         if(!file_exists($_GET['file'])) die('not found');
  5.     }
  6.     if(!isset($_GET['width']) || !is_numeric($_GET['width'])) $_GET['width'] = 50;
  7.     if(!isset($_GET['height']) || !is_numeric($_GET['height'])) $_GET['height'] = 50;
  8.    
  9.     if(isset($_GET['file'])):
  10.         $final = imagecreate($_GET['width'], $_GET['height']);
  11.         $src = null;
  12.        
  13.         switch(substr($_GET['file'], -4)) {
  14.             case '.png':
  15.                 $src = imagecreatefrompng($_GET['file']);
  16.             break;
  17.             case '.jpg':
  18.             case 'jpeg':
  19.                 $src = imagecreatefromjpeg($_GET['file']);
  20.             break;
  21.         }
  22.        
  23.         if($src == null) die('error');
  24.        
  25.         imagecopymerge($final, $src, 0, 0, 0, 0, $_GET['width'], $_GET['height'], 100);
  26.        
  27.         imagepng($final, substr($_GET['file'], 0, -4) .'.thumb.png', 9);
  28.        
  29.         imagedestroy($final);
  30.         imagedestroy($src);
  31.        
  32.         die('done');
  33.     endif;
  34. ?><!DOCTYPE HTML>
  35. <html>
  36.     <head>
  37.     <title>Auto image resizer</title>
  38.     <script type="text/javascript">
  39.             var files = new Array(<?php
  40.                 $files = array();
  41.                 $dir = opendir('.');
  42.                 while($file = @readdir($dir))
  43.                     if(substr($file, -4) == '.png' || substr($file, -4) == '.jpg' || substr($file, -5) == '.jpeg')
  44.                         $files[] = '"'. $file .'"';
  45.                 echo implode($files, ', ');
  46.             ?>);
  47.            
  48.             function start() {
  49.                 for(var i = 0; i < files.length; i++) {
  50.                     convert(files[i], document.getElementById("width"), document.getElementById("height"));
  51.                 }
  52.             }
  53.            
  54.             function convert(filename, width, height) {
  55.                 var ajax_var = null;
  56.                 if (window.XMLHttpRequest) ajax_var = new XMLHttpRequest();
  57.                 else ajax_var = new ActiveXObject("Microsoft.XMLHTTP");
  58.                 ajax_var.onreadystatechange = function() {
  59.                     if(ajax_var.readyState != 4) return;
  60.                     document.getElementById("log").innerHTML += filename +": "+ ajax_var.responseText +"<br />";
  61.                 }
  62.                 ajax_var.open("GET", "<?=basename(__FILE__);?>?file="+ escape(filename) +"&width="+ width +"&height="+ height, true);
  63.                 ajax_var.send();
  64.             }
  65.         </script>
  66.   </head>
  67.   <body>
  68.         Breite: <input type="text" id="width" maxlength="3" value="100" /> H&ouml;he: <input type="text" id="height" maxlength="3" value="100" /> <input type="submit" onClick="start()" /><br />
  69.     <br />
  70.     <div id="log">
  71.    
  72.     </div>
  73.   </body>
  74. </html>
Advertisement
Add Comment
Please, Sign In to add comment