Как создать миниатюру и сохранить в подпапке с тем же именем в пакетной загрузке с PHP - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть php-скрипт, который ищет в каталоге, берет все папки и изображения в нем, получает свои данные и сохраняет их в m mysql db.Но теперь я хочу создать пиктограмму php-изображения из захваченных изображений, которые также нашли для меня подходящее решение, но я не уверен, как правильно сохранить изображения.В папке с большими пальцами внутри основной папки с изображениями.Вот мой код, есть идеи?

<?php


include_once("../assets/inc/colors.inc.php");

/* The image from which the palette will be generated */
$image_to_read = "img/footer.jpg";


/* Make sure that this number is a perfect square - 9,16,25,36 etc;
   this will enable you to create a square palette grid.

   The following for example will create a 5x5 grid.
 */

$colors_to_show = 6;

$pal = new GetMostCommonColors();
$pal->image = $image_to_read;
$colors = $pal->Get_Color();
$colors_key = array_keys($colors);


$inc = sqrt($colors_to_show);
 $imgcolors = "";
for ($i = 0; $i < $colors_to_show; $i += $inc) {


    for($j=0;$j<$inc;$j++) {
        $imgcolors .= "".$colors_key[$i + $j].",";
    }

}
$imgcolors .= "";
//echo $imgcolors;

/*------------------------------------------------------------------*/

$server = 'localhost';
$dbuser = 'root';
$dbpass = '';
$dbname = 'gbpics';

$connect = mysql_connect($server,$dbuser,$dbpass);
mysql_select_db($dbname,$connect);




$dirs = array_filter(glob('bilder/*'), 'is_dir');
foreach ($dirs as $dir) {
    $path  = $dir . "/";
    $files = array_map('mysql_real_escape_string', array_filter(glob("{$path}*.*"), 'is_file'));

    if (empty($files)) {
        echo "The data was inserted successfully.";
    } else {
        $insertValues = array();
        foreach ($files as $file) {

            $data           = getimagesize($file);
            $width          = $data[0];
            $height         = $data[1];
            $extension      = image_type_to_extension($data[2]);
            $imgsize        = filesize($file);


            if($ext == "gif"){ 
                $old_image = imagecreatefromgif($file);
            }else if($ext =="png"){ 
                $old_image = imagecreatefrompng($file);
            }else{ 
                $old_image = imagecreatefromjpeg($file);
            }


            $heightthumb = 380;
            $widththumb = 335;
            $thumb = imagecreatetruecolor($widththumb, $heightthumb);
            imagealphablending($thumb, false);
            imagesavealpha($thumb, true);
            imagecopyresampled($thumb, $old_image, 0, 0, 0, 0, $widththumb, $heightthumb, $data[0], $data[1]);







            $insertValues[] = "('Titel', '{$dir}', '{$file}', '$width', '$height', '$extension', '$imgsize', '$imgcolors', '$thumb')";
        }
        $query = "INSERT INTO `gbpics` (`gbpictitel`, `gbpiccat`, `gbpicurl`, `gbpicwidth`, `gbpicheight`, `gbpicextension`, `gbpicsize`, `gbpiccolors`, `gbpicthumburl`) VALUES " . implode(', ', $insertValues);
        if (!mysql_query($query)) {
            echo "There was a problem inserting the data.";

            trigger_error("Query failed: $query<br />Error: " . mysql_error());
        } else {
            echo "The data was inserted successfully.";
        }
    }
}
?>

Любая помощь приветствуется.

...