не понимаю почему не отображается после загрузки изображение в формате png с прозрачным фоном. с изображениями jpg все отлично! после нажатия на кнопку изображение проходит через следующий код:
function ValidOneImage ($file_array = array(), $folder) {
//$error = array();
$blacklist = array(".php", ".phtml", ".php3", ".php4", ".html", ".htm", ".txt", ".zip", ".rar");
foreach ($blacklist as $item) {
if(preg_match("/$item\$/i", $file_array['name'])) return 'Error image format';
}
$type = $file_array['type'];
$size = $file_array['size'];
if (($type != "image/jpg") && ($type != "image/jpeg") && ($type != "image/png")) return 'Error image type';
if ($size > 20480000) return 'Error image size';
if (!file_exists("images/".$folder."/")) mkdir("images/".$folder."/");
$images = "images/".$folder."/".$file_array['name'];
if(move_uploaded_file($file_array['tmp_name'], $images)){
$this->resize_photo("images/".$folder."/", $file_array['name'], $file_array['size'], $file_array['type'], $file_array['tmp_name']);
}
return $images;
}
function resize_photo($path,$filename,$filesize,$type,$tmp_name){
// Проверяем, существует ли файл: если существует - ресайзим его
if(file_exists($path.$filename))
{
$height = 480; //параметр высоты превью
$width = 640; //параметр ширины превью
$rgb = 0xffffff; //цвет заливки несоответствия 0xFFFFFF - белый
$size = getimagesize($path.$filename);//узнаем размеры картинки (дает нам масcив size)
//определяем тип файла
$format = strtolower(substr($size['mime'], strpos($size['mime'], '/')+1));
$icfunc = "imagecreatefrom" . $format; //определение функции соответственно типу файла
//если нет такой функции прекращаем работу скрипта
if (!function_exists($icfunc)) return false;
$x_ratio = $width / $size[0]; //пропорция ширины будущего превью
$y_ratio = $height / $size[1]; //пропорция высоты будущего превью
$ratio = min($x_ratio, $y_ratio);
$use_x_ratio = ($x_ratio == $ratio); //соотношения ширины к высоте
$new_width = $use_x_ratio ? $width : floor($size[0] * $ratio); //ширина превью
$new_height = !$use_x_ratio ? $height : floor($size[1] * $ratio); //высота превью
//расхождение с заданными параметрами по ширине
$new_left = $use_x_ratio ? 0 : floor(($width - $new_width) / 2);
//расхождение с заданными параметрами по высоте
$new_top = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2);
//создаем вспомогательное изображение пропорциональное превью
$img = imagecreatetruecolor($width,$height);
imagefill($img, 0, 0, $rgb); //заливаем его…
$photo = $icfunc($path.$filename); //достаем наш исходник
imagecopyresampled($img, $photo, $new_left, $new_top, 0, 0, $new_width, $new_height, $size[0], $size[1]); //копируем на него нашу превью с учетом расхождений
//$func = 'image'.$format;
switch($type) {
case 'gif':
imagegif($img, $path.$filename); // параметр качества не предусмотрен
break;
case 'jpg':
imagejpeg($img, $path.$filename, 45); // диапазон значений параметра $quality = 0...100, 100 = максимальное качество картинки
break;
case 'png':
imagepng($image, $filename, 5);
}
//$func($img, $path.$filename, $quality, PNG_NO_FILTER); //сохраняем результат (превью картинки)
// Очищаем память после выполнения скрипта
imagedestroy($img);
imagedestroy($photo);
}
}
при этом ошибок нет никаких! после загрузки файл на сервере есть! и ссылка в html код выводится верная, а изображение нет, не понимаю почему
Попробуйте перейти по ссылке на изображение и посмотреть отобразится ли оно в браузере, если нет, то вероятно сервер не отдает png
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
На сайте есть пост (скажем с фильмом и информацией) и кастомный пост (с актерами)
Никогда не занимался такими вещами, но мне нужно написать клиент и соединить его с сервером (то есть чтобы входные данные из клиента передавались...
Есть таблица themesС этой таблицы нужно получить последние сообщения по section_id