Current File : /home/users/barii/public_html/finansenl.com.pl/wodki/admin/tablice/generujskladke.php |
<?php
session_start();
$start = '5'; //0.5cm
$margines = '10'; //1cm
$linia = '1'; //spad 0.2cm
$maxw = '900'; //szerokosc maksymalna
$maxh = '600'; //wysokosc maksymalna
$odleglosc = '0';
$marginespx = round(($margines * 300) / 25.4); //margines w px
$odlegloscpx = round(($odleglosc * 300) / 25.4); //odleglosc w px
function najnizszy(){
$files = array();
$iterator = new DirectoryIterator('skladka');
foreach ($iterator as $fileinfo) {
if ($fileinfo->isFile() and $fileinfo->getFilename()!='Thumbs.db') {
$files[] = array($fileinfo->getFilename());
}
rsort($files);
}
$r = substr($files[0][0],0,-4);
$r++;
return $r;
}
function katalogcount($kat){
$directory = $kat;
unlink("upload/".$kat."/Thumbs.db");
$files = scandir($directory);
$num_files = count($files)-2;
return $num_files;
}
//$total = katalogcount('skladka/tmp/');
najnizszy();
$files = array();
$iterator = new DirectoryIterator('skladka/tmp/');
$mak = 0;
foreach ($iterator as $fileinfo) {
if ($fileinfo->isFile() and $fileinfo->getFilename()!='Thumbs.db') {
$files[] = array($fileinfo->getFilename());
}
}
asort( $files);
$files = array_slice($files, 0, 8);
$total = count($files);
$i=0;
$heightone = 646;
$height = (646 + $odlegloscpx) * $total + 2*$marginespx;
$width = 2938;
$skladka = new Imagick();
$skladka->newImage((2938 + 2*$marginespx),$height, new ImagickPixel("white"));
$data= najnizszy();
foreach($files as $val){
//echo '<p><img src="skladka/tmp/'.$val[0].'"></p>';
$i++;
$im = new Imagick('skladka/tmp/'.$val[0]);
$im->setimageresolution(144,144);
$im->scaleimage(2918,628); //wymiar netto tablicy
$canvas = new Imagick();
$canvas->newImage(2912,625, new ImagickPixel("white"));
$canvas->compositeImage($im, imagick::COMPOSITE_OVER, -2,-2);
$canvas->borderImage('white', 10,10);
$canvas->borderImage('gainsboro', 1,1);
$canvas->setimageresolution(144,144);
unlink('skladka/tmp/'.$val[0]);
//$canvas->writeimage('skladka/skl'.$i.'.jpg');
$skladka->compositeImage($canvas, imagick::COMPOSITE_OVER,$marginespx,$marginespx+(($i-1)*$heightone + ($odlegloscpx * ($i-1))));
$skladka->setimageresolution(144,144);
}
$draw = new ImagickDraw(); //Czarna obwódka dookoła składki
$draw->setFillColor('transparent'); // Set up some colors to use for fill and outline
$draw->setStrokeColor('black');
$draw->setStrokeWidth(2);
$draw->rectangle( 0, 0, ($width+2*$marginespx-2), ($height-2)); // Draw the rectangle
$draw->rectangle( 2, 2, ($width+2*$marginespx-4), ($height-4)); // Draw the rectangle
$draw->rectangle( 4, 4, ($width+2*$marginespx-6), ($height-6)); // Draw the rectangle
$draw->rectangle( 6, 6, ($width+2*$marginespx-8), ($height-8)); // Draw the rectangle
$draw->rectangle( 8, 8, ($width+2*$marginespx-10), ($height-10)); // Draw the rectangle
$skladka->drawImage( $draw );
$skladka->writeimage('skladka/'.$data.'.jpg');
unset($_SESSION['zdjecia']);
echo '<a href="/skladka/'.$data.'.jpg">Pobierz gotowa składkę</a>';
download_file('skladka/'.$data.'.jpg');
function download_file( $fullPath ){
// Must be fresh start
if( headers_sent() )
die('Headers Sent');
// Required for some browsers
if(ini_get('zlib.output_compression'))
ini_set('zlib.output_compression', 'Off');
// File Exists?
if( file_exists($fullPath) ){
// Parse Info / Get Extension
$fsize = filesize($fullPath);
$path_parts = pathinfo($fullPath);
$ext = strtolower($path_parts["extension"]);
// Determine Content Type
switch ($ext) {
case "pdf": $ctype="application/pdf"; break;
case "exe": $ctype="application/octet-stream"; break;
case "zip": $ctype="application/zip"; break;
case "doc": $ctype="application/msword"; break;
case "xls": $ctype="application/vnd.ms-excel"; break;
case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
case "gif": $ctype="image/gif"; break;
case "png": $ctype="image/png"; break;
case "jpeg":
case "jpg": $ctype="image/jpg"; break;
default: $ctype="application/force-download";
}
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header("Content-Type: $ctype");
header("Content-Disposition: attachment; filename=\"".basename($fullPath)."\";" );
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".$fsize);
ob_clean();
flush();
readfile( $fullPath );
} else
die('File Not Found');
}
?>