Current File : /home/users/barii/public_html/finansenl.com.pl/system.fotomagnesy.pl/action.php
<?php         
session_start();

set_time_limit(0);
function GenerateThumbnailImagick($im_filename, $th_filename, $max_width, $max_height, $quality = 75) {
    if (is_file($im_filename)) {
        // Let's create the directory if needed
        $th_path = dirname($th_filename);
        if (!is_dir($th_path)) {
            mkdir($th_path, 0777, true);
        }

        // Load image
        $image = new Imagick($im_filename);

        // Load profiles
        $cmykProfile = file_get_contents('/home/users/barii/public_html/finansenl.com.pl/system.fotomagnesy.pl/cmyk.icc');
        $rgbProfile = file_get_contents('/home/users/barii/public_html/finansenl.com.pl/system.fotomagnesy.pl/rgb.icc');

        // Convert to RGB using ICC profile if it's not already RGB

            $image->profileImage('icc', $rgbProfile);
            $image->transformImageColorspace(Imagick::COLORSPACE_RGB);

        // Resize logic
        $originalWidth = $image->getImageWidth();
        $originalHeight = $image->getImageHeight();
        $aspectRatio = $originalHeight / $originalWidth;
        $newWidth = $max_width;
        $newHeight = $max_height;

        if ($newWidth / $aspectRatio > $newHeight) {
            $newWidth = $newHeight * $aspectRatio;
        } else {
            $newHeight = $newWidth / $aspectRatio;
        }

        // Resize the image
        $image->resizeImage($newWidth, $newHeight, Imagick::FILTER_LANCZOS, 1);

        // Apply output profile
        $image->profileImage('icc', $outputProfile);

        // Set image quality
        $image->setImageCompression(Imagick::COMPRESSION_JPEG);
        $image->setImageCompressionQuality($quality);

        // Save the image
        $image->writeImage($th_filename);

        return 0;
    }
    return 1;
}

function GenerateThumbnail($im_filename,$th_filename,$max_width,$max_height,$quality = 0.75)
{
// The original image must exist
if(is_file($im_filename))
{
  


$imagick = new Imagick($im_filename);

// Załaduj profil CMYK, jeśli obraz źródłowy nie ma żadnego profilu
if ($imagick->getImageColorspace() == Imagick::COLORSPACE_CMYK) {
    $cmykProfile = file_get_contents('/home/users/barii/public_html/finansenl.com.pl/system.fotomagnesy.pl/cmyk.icc');
    $imagick->profileImage('icc', $cmykProfile);
    $rgbProfile = file_get_contents('/home/users/barii/public_html/finansenl.com.pl/system.fotomagnesy.pl/rgb.icc');
    $imagick->profileImage('icc', $rgbProfile);
}

// Konwersja do RGB



  $imagick->writeImage($im_filename);

// Kontynuacja przetwarzania obrazu...


    // Let's create the directory if needed
    $th_path = dirname($th_filename);
    if(!is_dir($th_path))
        mkdir($th_path, 0777, true);
    // If the thumb does not aleady exists
    if(!is_file($th_filename))
    {
        // Get Image size info
        list($width_orig, $height_orig, $image_type) = @getimagesize($im_filename);
        if(!$width_orig)
            return 2;
        switch($image_type)
        {
            case 1: $src_im = @imagecreatefromgif($im_filename);    break;
            case 2: $src_im = @imagecreatefromjpeg($im_filename);   break;
            case 3: $src_im = @imagecreatefrompng($im_filename);    break;
        }
        if(!$src_im)
            return 3;


        $aspect_ratio = (float) $height_orig / $width_orig;

        $thumb_height = $max_height;
        $thumb_width = round($thumb_height / $aspect_ratio);
        if($thumb_width > $max_width)
        {
            $thumb_width    = $max_width;
            $thumb_height   = round($thumb_width * $aspect_ratio);
        }

        $width = $thumb_width;
        $height = $thumb_height;

        $dst_img = @imagecreatetruecolor($width, $height);
        if(!$dst_img)
            return 4;
        $success = @imagecopyresampled($dst_img,$src_im,0,0,0,0,$width,$height,$width_orig,$height_orig);
        if(!$success)
            return 4;
        switch ($image_type) 
        {
            case 1: $success = @imagegif($dst_img,$th_filename); break;
            case 2: $success = @imagejpeg($dst_img,$th_filename,intval($quality*100));  break;
            case 3: $success = @imagepng($dst_img,$th_filename,intval($quality*9)); break;
        }
        if(!$success)
            return 4;
    }
    return 0;
}
return 1;
}

if(count($_FILES["files"])>0)
{
	$success = 0;
	$failed = 0;

	foreach ($_FILES["files"]["error"] as $key => $value)
	{
		if(empty($value))
		{                         
      $nazwapliku = uniqid()."_".$_FILES["files"]["name"][$key];
			if(move_uploaded_file($_FILES["files"]["tmp_name"][$key], __DIR__."/upload2/".$nazwapliku))
			{
                GenerateThumbnail(__DIR__."/upload2/".$nazwapliku,__DIR__."/upload2/_".$nazwapliku,1500,1500); 
				        $success++;
                $_SESSION['zdjecia'][] = '_'.$nazwapliku;
			}
			else
			{
				$failed++;
			}
		}
		else
		{
			$failed++;
		}
	}

	$data = "";

	if($success>0)
		$data .= '<svg class="ldi-1s9wfp" width="100px" height="100px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid"><!--?xml version="1.0" encoding="utf-8"?--><!--Generator: Adobe Illustrator 21.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0)--><svg version="1.1" id="圖層_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 100 100" style="transform-origin: 50px 50px 0px;" xml:space="preserve"><g style="transform-origin: 50px 50px 0px;"><g style="transform-origin: 50px 50px 0px; transform: scale(0.6);"><g style="transform-origin: 50px 50px 0px;"><g><style type="text/css" class="ld ldt-bounce-in" style="transform-origin: 50px 50px 0px; animation-duration: 1s; animation-delay: 0s; animation-direction: normal;">.st0{fill:none;stroke:#333333;stroke-width:8;stroke-miterlimit:10;} .st1{fill:#333333;} .st2{fill:#ABBD81;} .st3{fill:#E15B64;} .st4{fill-rule:evenodd;clip-rule:evenodd;fill:#B3B3B3;} .st5{fill:#FFFFFF;} .st6{fill:#B3B3B3;} .st7{fill:#77A4BD;} .st8{fill:#A0C8D7;} .st9{fill:#666666;} .st10{fill:none;stroke:#F47E60;stroke-width:8;stroke-linecap:round;stroke-miterlimit:10;} .st11{fill:none;stroke:#F47E60;stroke-width:9.0001;stroke-linecap:round;stroke-miterlimit:10;} .st12{fill:none;stroke:#F47E60;stroke-width:9;stroke-linecap:round;stroke-miterlimit:10;}</style><g class="ld ldt-bounce-in" style="transform-origin: 50px 50px 0px; animation-duration: 1s; animation-delay: 0.0769231s; animation-direction: normal;"><circle class="st0" cx="50" cy="50" r="40" stroke="#444444" style="stroke: rgb(68, 68, 68);"></circle></g><g style="transform-origin: 50px 50px 0px;"><g><g class="ld ldt-bounce-in" style="transform-origin: 50px 50px 0px; animation-duration: 1s; animation-delay: 0.153846s; animation-direction: normal;"><path class="st2" d="M47.3,66.4L73.7,40c1.8-1.8,1.8-4.6,0-6.4c-1.8-1.8-4.6-1.8-6.4,0L44.1,56.8L32.7,45.4c-1.8-1.8-4.6-1.8-6.4,0 c-1.8,1.8-1.8,4.6,0,6.4l14.6,14.6c0.9,0.9,2,1.3,3.2,1.3S46.4,67.2,47.3,66.4z" fill="#00BD5E" style="fill: rgb(0, 189, 94);"></path></g></g></g><metadata xmlns:d="https://loading.io/stock/" class="ld ldt-bounce-in" style="transform-origin: 50px 50px 0px; animation-duration: 1s; animation-delay: 0.230769s; animation-direction: normal;">
<d:name class="ld ldt-bounce-in" style="transform-origin: 50px 50px 0px; animation-duration: 1s; animation-delay: 0.307692s; animation-direction: normal;">ok</d:name>
<d:tags class="ld ldt-bounce-in" style="transform-origin: 50px 50px 0px; animation-duration: 1s; animation-delay: 0.384615s; animation-direction: normal;">ok,confirm,ready,positive,check,right,correct,affirmative,success</d:tags>
<d:license class="ld ldt-bounce-in" style="transform-origin: 50px 50px 0px; animation-duration: 1s; animation-delay: 0.461538s; animation-direction: normal;">cc-by</d:license>
<d:slug class="ld ldt-bounce-in" style="transform-origin: 50px 50px 0px; animation-duration: 1s; animation-delay: 0.538462s; animation-direction: normal;">1s9wfp</d:slug>
</metadata></g></g></g></g><style type="text/css" class="ld ldt-bounce-in" style="transform-origin: 50px 50px 0px; animation-duration: 1s; animation-delay: 0.615385s; animation-direction: normal;">@keyframes ldt-bounce-in {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  5% {
    -webkit-transform: scale(0.0846);
    transform: scale(0.0846);
  }
  6% {
    -webkit-transform: scale(0.191);
    transform: scale(0.191);
  }
  7% {
    -webkit-transform: scale(0.3255);
    transform: scale(0.3255);
  }
  8% {
    -webkit-transform: scale(0.4804);
    transform: scale(0.4804);
  }
  9% {
    -webkit-transform: scale(0.646);
    transform: scale(0.646);
  }
  10% {
    -webkit-transform: scale(0.8116);
    transform: scale(0.8116);
  }
  11% {
    -webkit-transform: scale(0.9665);
    transform: scale(0.9665);
  }
  12% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  13% {
    -webkit-transform: scale(1.2069);
    transform: scale(1.2069);
  }
  14% {
    -webkit-transform: scale(1.2796);
    transform: scale(1.2796);
  }
  19% {
    -webkit-transform: scale(1.1558);
    transform: scale(1.1558);
  }
  20% {
    -webkit-transform: scale(1.07);
    transform: scale(1.07);
  }
  21% {
    -webkit-transform: scale(0.9823);
    transform: scale(0.9823);
  }
  22% {
    -webkit-transform: scale(0.901);
    transform: scale(0.901);
  }
  23% {
    -webkit-transform: scale(0.8328);
    transform: scale(0.8328);
  }
  25% {
    -webkit-transform: scale(0.7551);
    transform: scale(0.7551);
  }
  29% {
    -webkit-transform: scale(0.8516);
    transform: scale(0.8516);
  }
  31% {
    -webkit-transform: scale(0.973);
    transform: scale(0.973);
  }
  33% {
    -webkit-transform: scale(1.0857);
    transform: scale(1.0857);
  }
  35% {
    -webkit-transform: scale(1.1538);
    transform: scale(1.1538);
  }
  40% {
    -webkit-transform: scale(1.0771);
    transform: scale(1.0771);
  }
  42% {
    -webkit-transform: scale(0.9954);
    transform: scale(0.9954);
  }
  45% {
    -webkit-transform: scale(0.9057);
    transform: scale(0.9057);
  }
  52% {
    -webkit-transform: scale(0.9908);
    transform: scale(0.9908);
  }
  56% {
    -webkit-transform: scale(1.0623);
    transform: scale(1.0623);
  }
  64% {
    -webkit-transform: scale(0.9845);
    transform: scale(0.9845);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@-webkit-keyframes ldt-bounce-in {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  5% {
    -webkit-transform: scale(0.0846);
    transform: scale(0.0846);
  }
  6% {
    -webkit-transform: scale(0.191);
    transform: scale(0.191);
  }
  7% {
    -webkit-transform: scale(0.3255);
    transform: scale(0.3255);
  }
  8% {
    -webkit-transform: scale(0.4804);
    transform: scale(0.4804);
  }
  9% {
    -webkit-transform: scale(0.646);
    transform: scale(0.646);
  }
  10% {
    -webkit-transform: scale(0.8116);
    transform: scale(0.8116);
  }
  11% {
    -webkit-transform: scale(0.9665);
    transform: scale(0.9665);
  }
  12% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
  13% {
    -webkit-transform: scale(1.2069);
    transform: scale(1.2069);
  }
  14% {
    -webkit-transform: scale(1.2796);
    transform: scale(1.2796);
  }
  19% {
    -webkit-transform: scale(1.1558);
    transform: scale(1.1558);
  }
  20% {
    -webkit-transform: scale(1.07);
    transform: scale(1.07);
  }
  21% {
    -webkit-transform: scale(0.9823);
    transform: scale(0.9823);
  }
  22% {
    -webkit-transform: scale(0.901);
    transform: scale(0.901);
  }
  23% {
    -webkit-transform: scale(0.8328);
    transform: scale(0.8328);
  }
  25% {
    -webkit-transform: scale(0.7551);
    transform: scale(0.7551);
  }
  29% {
    -webkit-transform: scale(0.8516);
    transform: scale(0.8516);
  }
  31% {
    -webkit-transform: scale(0.973);
    transform: scale(0.973);
  }
  33% {
    -webkit-transform: scale(1.0857);
    transform: scale(1.0857);
  }
  35% {
    -webkit-transform: scale(1.1538);
    transform: scale(1.1538);
  }
  40% {
    -webkit-transform: scale(1.0771);
    transform: scale(1.0771);
  }
  42% {
    -webkit-transform: scale(0.9954);
    transform: scale(0.9954);
  }
  45% {
    -webkit-transform: scale(0.9057);
    transform: scale(0.9057);
  }
  52% {
    -webkit-transform: scale(0.9908);
    transform: scale(0.9908);
  }
  56% {
    -webkit-transform: scale(1.0623);
    transform: scale(1.0623);
  }
  64% {
    -webkit-transform: scale(0.9845);
    transform: scale(0.9845);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.ldt-bounce-in {
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-animation: ldt-bounce-in 1s ease-out forwards;
  animation: ldt-bounce-in 1s ease-out forwards;
}
</style></svg></svg><br />Wgranych plików poprawnie: '.$success.'';

	if($failed>0)
		$data .= $failed." plików nie zostało wgranych";

	$response = array("status" => true, "data" => $data );

	echo json_encode($response);
}

?>