Изображение png

439
.
kantry
Iron_Man, Ну не знаю Я твой код скопипастил, у меня все работает
тынц код (+/-)

Пути только к файлам измени.
.
kantry, Можешь мне код состряпать, а то ничего не пойму, нету запроса в бд и путей не видно
.
kantry,
case 'upl':
            $id = htmlentities($_GET['id'], ENT_QUOTES, 'UTF-8');
            $fname = strtolower($_FILES['filename']['name']);
            $fsize = $_FILES['filename']['size'];


            // Список допустимых расширений файлов.
            $al_ext = array('jpg', 'jpeg', 'gif', 'png');
            $ext = explode(".", $fname);

            // Проверка на допустимый размер файла
            if ($fsize >= 1024 * $flsz) {
                echo '<p><b>ОШИБКА!</b></p><p>Вес файла превышает ' . $flsz . ' кб.';
                echo '</p><p><a href="index.php?act=addfile&amp;id=' . $id .
                    '">Повторить</a></p>';
                require_once ('../incfiles/end.php');
                exit;
            }

            // Проверка файла на наличие только одного расширения
            if (count($ext) != 2) {
                echo '<p><b>ОШИБКА!</b></p><p>Неправильное имя файла!<br />';
                echo 'К отправке разрешены только файлы имеющие имя и одно расширение (<b>' . $_FILES['filename'] .
                    '</b>).<br />';
                echo 'Запрещены файлы не имеющие имени, расширения, или с двойным расширением.';
                echo '</p><p><a href="index.php?act=addfile&amp;id=' . $id .
                    '">Повторить</a></p>';
                require_once ('../incfiles/end.php');
                exit;
            }

            // Проверка допустимых расширений файлов
            if (!in_array($ext[1], $al_ext)) {
                echo '<p><b>ОШИБКА!</b></p><p>Запрещенный тип файла!<br />';
                echo 'К отправке разрешены только файлы, имеющие следующее расширение:<br />';
                echo implode(', ', $al_ext);
                echo '</p><p><a href="index.php?act=addfile&amp;id=' . $id .
                    '">Повторить</a></p>';
                require_once ('../incfiles/end.php');
                exit;
            }


            $nameimg = $id . '.' . $ext[1];

            function create_img($name_big, $name_small, $xs, $ys)

{

list($x, $y, $t, $attr) = getimagesize($name_big);

 

if ($t == IMAGETYPE_GIF) {

$big = imagecreatefromgif($name_big);

} elseif ($t == IMAGETYPE_JPEG) {

$big = imagecreatefromjpeg($name_big);

} elseif ($t == IMAGETYPE_PNG) {

$big = imagecreatefrompng($name_big);

} else {

return;

}

 

$small = imagecreatetruecolor($xs, $ys);

 

imagesavealpha($small, true);

 

$trans_colour = imagecolorallocatealpha($small, 0, 0, 0, 127);

 

imagefill($small, 0, 0, $trans_colour);

 

$red = imagecolorallocate($small, 255, 0, 0);

 

imagefilledellipse($small, 400, 300, 400, 300, $red);

$res = imagecopyresampled($small, $big, 0, 0, 0, 0, $xs, $ys, $x, $y);

imagedestroy($big);

 

imagepng($small, $name_small);

imagedestroy($small);

}

 

if (isset($_FILES["filename"]["tmp_name"]) && is_uploaded_file($_FILES["filename"]["tmp_name"])) {

var_dump($_FILES);

create_img('' . $_FILES["filename"]["tmp_name"] . '', '6-1.png', 110, 70);

create_img('' . $_FILES["filename"]["tmp_name"] . '', '6-1-1.png', 15, 15);

}


            break;

Ошибка 500, файл не открывается
.
kantry
Iron_Man, Ты не информативно описываешь что там происходит, 500-ая ошибка чаще всего неверный синтаксис в каком то файле, какой файл не открывается? Ты пути к файлам полные поставь а то напр. вот этот путь непонятно куда идет create_img('' . $_FILES["filename"]["tmp_name"] . '', 'logo/big' . $nameimg,
Я не могу тебе код состряпать, у меня нет john-a 6-ого
.
kantry, У меня тройка
.
kantry
Iron_Man, Ты весь файл сюда прикрепи, 3 версии у меня и подавно нет
И где он там должен находиться? В библиотеке, форуме, или где?
.
kantry, Там много кода, я тот что касается выгрузки изображения скинул
.
kantry, Выгрузка логотипа команды, менеджер
.
kantry,
case 'upl':
            $id = htmlentities($_GET['id'], ENT_QUOTES, 'UTF-8');
            $fname = strtolower($_FILES['filename']['name']);
            $fsize = $_FILES['filename']['size'];


            // Список допустимых расширений файлов.
            $al_ext = array('jpg', 'jpeg', 'gif', 'png');
            $ext = explode(".", $fname);

            // Проверка на допустимый размер файла
            if ($fsize >= 1024 * $flsz) {
                echo '<p><b>ОШИБКА!</b></p><p>Вес файла превышает ' . $flsz . ' кб.';
                echo '</p><p><a href="index.php?act=addfile&amp;id=' . $id .
                    '">Повторить</a></p>';
                require_once ('../incfiles/end.php');
                exit;
            }

            // Проверка файла на наличие только одного расширения
            if (count($ext) != 2) {
                echo '<p><b>ОШИБКА!</b></p><p>Неправильное имя файла!<br />';
                echo 'К отправке разрешены только файлы имеющие имя и одно расширение (<b>' . $_FILES['filename'] .
                    '</b>).<br />';
                echo 'Запрещены файлы не имеющие имени, расширения, или с двойным расширением.';
                echo '</p><p><a href="index.php?act=addfile&amp;id=' . $id .
                    '">Повторить</a></p>';
                require_once ('../incfiles/end.php');
                exit;
            }

            // Проверка допустимых расширений файлов
            if (!in_array($ext[1], $al_ext)) {
                echo '<p><b>ОШИБКА!</b></p><p>Запрещенный тип файла!<br />';
                echo 'К отправке разрешены только файлы, имеющие следующее расширение:<br />';
                echo implode(', ', $al_ext);
                echo '</p><p><a href="index.php?act=addfile&amp;id=' . $id .
                    '">Повторить</a></p>';
                require_once ('../incfiles/end.php');
                exit;
            }


            $nameimg = $id . '.' . $ext[1];

            function create_img($name_big, $name_small, $xs, $ys) {
                list($x, $y, $t, $attr) = getimagesize($name_big);

                if ($t == IMAGETYPE_GIF)
                    $big = imagecreatefromgif($name_big);
                else
                    if ($t == IMAGETYPE_JPEG)
                        $big = imagecreatefromjpeg($name_big);
                    else
                        if ($t == IMAGETYPE_PNG)
                            $big = imagecreatefrompng($name_big);
                        else
                            return;

 $small = imagecreatetruecolor($xs, $ys);

$res = imagecopyresampled($small, $big, 0, 0, 0, 0, $xs, $ys, $x, $y);

imagedestroy($big);

imagepng($small, $name_small);

imagedestroy($small);


            }

            create_img('' . $_FILES["filename"]["tmp_name"] . '', 'logo/big' . $nameimg, 110,
                143);
            create_img('' . $_FILES["filename"]["tmp_name"] . '', 'logo/small' . $nameimg,
                15, 15);
            echo '<br/><br/><img src="logo/' . $nameimg . '" alt=""/>Готово ';
            mysql_query("update `m_team` set `logo`='" . $nameimg . "' where id='" . $id .
                "';");
            break;
вот страница выгрузки и обработки изображения, оно выходит на черном фоне, а должно на прозрачном
.
Iron_Man, Короче у меня все работает, ищи где то в другом месте косяк, я там "подсветил" несколько изменений.
тынц код (+/-)
Всего: 30