Вход Регистрация
Файл: inc/tools/thumbmaker/index.php
Строк: 113
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="100%" align="center" class="ttable">
 
  <tr>
    <td colspan="2" bgcolor="#D4D0C8"><strong>Thumbmaker (генератор &quot;превьюшек&quot;) </strong></td>
    </tr>
  <tr>
    <td colspan="2">
      <?php
      
if(!function_exists('inc/tools/thumbmaker/zip_open'))
      {
    echo 
'Для работы скрипта необходим установленный <a href=http://zziplib.sourceforge.net>ZZIPlib</a><br>';
    exit;
      }
      if(!
is_writable('inc/tools/thumbmaker'))
      {
      echo 
'Для работы скрипта необходимо установить права на запись (chmod 777) для папки <i>/thumbmaker</i> !<br> ';
      exit;
      }
      
?>      </td>
    </tr>
  <tr>
    <td width="47%"><div align="right">Картинки для уменьшения  (в ZIP архиве): </div></td>
    <td width="53%">&nbsp;
      <input name="file1" type="file" id="file1" /></td>
  </tr>
  <tr>
    <td><div align="right">Размер большей стороны </div></td>
    <td>
      <input name="maxsize" type="text" id="maxsize" value="100" size="4" maxlength="4" />
      px.</td>
  </tr>
  
  <tr>
    <td colspan="2"><div align="center">
      <input name="execute" type="hidden" id="execute" value="true" />
      <input name="Submit" type="submit" value="Выполнить" />
    </div></td>
    </tr>
  <tr>
    <td colspan="2">
    <?php
if ($_POST['execute'])
{
@
unlink('inc/tools/thumbmaker/archive.zip');
@
unlink('inc/tools/thumbmaker/ready.zip');
@
unlink('inc/tools/thumbmaker/input/*');
@
unlink('inc/tools/thumbmaker/output/*');
@
rmdir('inc/tools/thumbmaker/input');
@
rmdir('inc/tools/thumbmaker/output');
@
mkdir('inc/tools/thumbmaker/input');
@
mkdir('inc/tools/thumbmaker/output');

if (
move_uploaded_file($_FILES['file1']['tmp_name'], 'inc/tools/thumbmaker/archive.zip'))
{
echo 
'Архив загружен...<br>';
}
else
{
echo 
'Архив не загружен...'; exit;
}
$zip = new ZipArchive;
if (
$zip->open('inc/tools/thumbmaker/archive.zip') === TRUE) {
    
$zip->extractTo('inc/tools/thumbmaker/input');
    
$zip->close();
    echo 
'Архив распакован...<br>';
} else {
    echo 
'Ошибка при разархивировании...';
    exit;
}

extract($_POST);

/////////////

function ditchtn($arr,$thumbname)
{
    foreach (
$arr as $item)
    {
        if (!
preg_match("/^".$thumbname."/",$item)){$tmparr[]=$item;}
    }
    return 
$tmparr;
}
function 
createthumb($name,$filename,$new_w,$new_h)
{
    
$system=explode(".",$name);
    if (
preg_match("/jpg|jpeg|JPG|JPEG/",$system[count($system)-1])){ $src_img=imagecreatefromjpeg($name);}
    if (
preg_match("/png|PNG/",$system[count($system)-1])){$src_img=imagecreatefrompng($name);}

    
$old_x=imageSX($src_img);
    
$old_y=imageSY($src_img);
    if (
$old_x $old_y
    {
        
$thumb_w=$new_w;
        
$thumb_h=$old_y*($new_h/$old_x);
    }
    if (
$old_x $old_y
    {
        
$thumb_w=$old_x*($new_w/$old_y);
        
$thumb_h=$new_h;
    }
    if (
$old_x == $old_y
    {
        
$thumb_w=$new_w;
        
$thumb_h=$new_h;
    }
    
$dst_img=ImageCreateTrueColor($thumb_w,$thumb_h);
    
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y); 
    if (
preg_match("/png/",$system[1]))
    {
        
imagepng($dst_img,$filename); 
    } else {
        
imagejpeg($dst_img,$filename); 
    }
    
imagedestroy($dst_img); 
    
imagedestroy($src_img); 
}

function 
directory($dir,$filters)
{
    
$handle=opendir($dir);
    
$files=array();
    if (
$filters == "all"){while(($file readdir($handle))!==false){$files[] = $file;}}
    if (
$filters != "all")
    {
        
$filters=explode(",",$filters);
        while ((
$file readdir($handle))!==false)
        {
            for (
$f=0;$f<sizeof($filters);$f++):
                
$system=explode(".",$file);
                if (
$system[1] == $filters[$f]){$files[] = $file;}
            endfor;
        }
    }
    
closedir($handle);
    return 
$files;
}

// Папка с картинками
$imagefolder='inc/tools/thumbmaker/input/';
// Папка для складывания результатов
$thumbsfolder='inc/tools/thumbmaker/output/';
// Префикс для маленьких картинок
$prefix="tn_";
// Ширина готовых картинок
$shirina=$maxsize;
// Высота готовых картинок
$vysota=$maxsize;
// Получаем список заданной папки с картинками
$pics=directory($imagefolder,"jpg,JPG,JPEG,jpeg,png,PNG");
// Фильтруем список, оставляя массив только картинок
$pics=ditchtn($pics,$prefix);
// Если существует массив, обрабатываем его
if ($pics[0]!="")
{
    foreach (
$pics as $p)
    {
        echo 
"<b>".$p."</b><br>";
        
createthumb($imagefolder.$p,$thumbsfolder.$prefix.$p,$shirina,$vysota);
    }
}



////////////

echo 'Завершено...<br>';
$zip2 = new ZipArchive;
if (
$zip2->open('inc/tools/thumbmaker/ready.zip'ZipArchive::CREATE) === TRUE) {
$directory='inc/tools/thumbmaker/output/';
    
$handler opendir($directory);
     while (
$file readdir($handler)) {
        if (
$file != '.' && $file != '..')
        {
        
$zip2->addFile("inc/tools/thumbmaker/output/".$file$file);
        }
        }
    
$zip2->close();
    echo 
"Файлы заархивированы... <br><a href='thumbmaker/ready.zip'>Скачать результат >></a>";
    }
else
echo 
'Ошибка при архивировании результатов <br>';

}
?>    </td>
  </tr>
  </table>
</form>
Онлайн: 0
Реклама