Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Загрузка изображений на сервер
СообщениеДобавлено: 2012-01-31 02:59 
Не в сети
Администратор
Администратор
Аватара пользователя
Раздал: 51.58 ТБ
Скачал: 620.08 ГБ
Ратио: 85.182


Зарегистрирован: 2010-11-09 02:24
Сообщения: 44886
Откуда: Земля Санникова
Загрузка изображений на сервер.

Создаём файл uploadimg.php в корне, него закидываем сожержимое

Код:
<?php
define('IN_PHPBB', true);
define('BB_ROOT', './');
$phpEx = substr(strrchr(__FILE__, '.'), 1);
require(BB_ROOT ."common.$phpEx");

$user->session_start(array('req_login' => true));

require(INC_DIR .'page_header.php');

function wather_mark($logofile = "sign.gif", $main_foto, $x = 10, $y = 10, $save)
{
    $size_logo = getimagesize($logofile);
    $size_img = getimagesize($main_foto);
   
    switch ($size_logo[2])
    {
        case "1": $logo = imagecreatefromgif($logofile);
        break;

        case "2": $logo = imagecreatefromjpeg($logofile);
        break;

        case "3": $logo = imagecreatefrompng($logofile);
        break;
    }

    switch ($size_img[2])
    {
        case "1": $img = imagecreatefromgif($main_foto);
        break;

        case "2": $img = imagecreatefromjpeg($main_foto);
        break;

        case "3": $img = imagecreatefrompng($main_foto);
        break;
    }

    imagecopymerge($img, $logo, ($size_img[0] - $size_logo[0] - $x), ($size_img[1] - $size_logo[1] - $y), 0, 0, $size_logo[0], $size_logo[1], 100);

    if($save)
    {
            imagejpeg($img, $main_foto);
    }

    switch ($size_img[2])
    {
        case "1": {
            header("Content-type: image/gif");
            imagegif($img);
        }
        break;

        case "2": {
            header("Content-type: image/jpeg");
            imagejpeg($img);
        }
        break;

        case "3": {
            header("Content-type: image/png");
            imagepng($img);
        }
        break;
    }
}

function create_thumb ($dir, $name, $att)
{
    $infile = $dir . $name . $att;
    if ($att == ".jpg" || $att == ".jpeg")
        $im = imagecreatefromjpeg($infile);
    elseif ($att == ".png")
        $im = imagecreatefrompng($infile);
    elseif ($att == ".gif")
        $im = imagecreatefromgif($infile);

    $oh = imagesy($im);
    $ow = imagesx($im);
    $r = $oh/$ow;
    $newh = 200;
    $neww = $newh/$r;
    $outfile = $dir ."thumb_". $name . $att;
    $im1 = imagecreatetruecolor($neww,$newh);
    imagecopyresampled($im1, $im, 0, 0, 0, 0, $neww, $newh, imagesx($im), imagesy($im));
    imagejpeg($im1, $outfile, 75);
    imagedestroy($im);
    imagedestroy($im1);
}

function paste_links($url, $dir, $name, $att)
{
    $link = $url . $dir . $name . $att;
    $link = trim($link);
    $preview = $url . $dir ."thumb_". $name . $att;
    $preview = trim($preview);
    $text  = '<br /><a href='. $link .' target=_blank>'.$link.'</a><br>';
    $text .= '<br /><img src='. $link .' alt="Ваше изображение">';
    $text .='<br /><h4 align="left"><b>Ссылка на изображение:</b></h4><input type="text" readonly="" value="'. $link .'" size="140" onclick="f2(this);">';
    $text .='<br /><h4 align="left"><b>Тэг вставки cкриншота:</b></h4><input type="text" readonly="" value="[img]'.$link.'[/img]" size="140" onclick="f2(this);">';
    $text .='<br /><h4 align="left"><b>Тэг вставки cкриншота с превью:</b></h4><input type="text" readonly="" value="[url='.$link.'][img]'. $preview .'[/img][/url]" size="140" onclick="f2(this);">';
    $text .='<br /><h4 align="left"><b>Тэг вставки постера справа:</b></h4><input type="text" readonly="" value="[img=right]'. $link .'[/img]" size="140" onclick="f2(this);">';
    $text .='<br /><h4 align="left"><b>Тэг cпойлера:</b></h4><input type="text" readonly="" value=\'[spoiler="Скриншоты"][img]'. $preview .'[/img][/spoiler]\' size="140" onclick="f2(this);">';

    return $text;
}

$go = isset($_GET['go']) ? $_GET['go'] : '';
$msize = 1048576; //макс размер в байтах  1Mb = 1048576
$dir = 'pictures/';
$url = make_url('/');

if ($go == 'delete' && IS_ADMIN)
{
    $fn = empty($_GET['fn']) ? '' : $_GET['fn'];
   
    $pic = $dir . $fn;
    $prev = $dir ."thumb_". $fn;
    if (!is_file($pic)) message_die(GENERAL_MESSAGE, 'File not exist');
   
    if (unlink($pic))
    {
        @unlink($prev);
        message_die(GENERAL_MESSAGE, "<center><span style='color:red'><h2>Ваш Файл удален</h2></span><br><a href='gallery.php'>Вернуться в галерею</a></center>");
    }
    else
        message_die(GENERAL_MESSAGE, "<center><span style='color:red'><h2>Неудача</h2></span><br><a href='gallery.php'>Вернуться в галерею</a></center>");
}
echo '
<script>function f2(x){ x.focus(); x.select(); }</script>
<body>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline">
    <tr>
      <th height="25" class="thCornerL" nowrap>Галерея</th>
    </tr>
    <tr>

      <td class="row1" align="center"><span class="gen">
      <h3 align="Center">Загружать можно изображения в форматах GiF, JPG, PNG. Объем одного изображения не должен превышать '.humn_size($msize).'. </h3>
 ';
if($go == 'upload')
{
    if (empty($_FILES["imgfile"]))
        message_die(GENERAL_MESSAGE, "<hr><span style='color:red'><h2>Файл не загружен.</h2></span><hr><br><center><a href='gallery.php'>Вернуться в галерею</a></center><br><hr>");
    if ($_FILES["imgfile"]["size"] > $msize)
        message_die(GENERAL_MESSAGE, "<hr><span style='color:red'><h2>Размер изображения превышает максимально установленный.</h2></span><hr><br><center><a href='gallery.php'>Вернуться в галерею</a></center><br><hr>");

    $name = strtolower($_FILES["imgfile"]["name"]);
    switch(substr($name, -4, 4))
    {
        case 'jpeg': $allow = true; $att = '.jpeg'; break;
        case '.jpg': $allow = true; $att = '.jpg'; break;
        case '.gif': $allow = true; $att = '.gif'; break;
        case '.png': $allow = true; $att = '.png'; break;
        default: $allow = false;
    }
    if($allow == true)
    {
        $name = md5_file($_FILES["imgfile"]["tmp_name"]);

        if(file_exists($dir . $name . $att))
        {
            if(!file_exists($dir .'thumb_'. $name . $att))
            {
                create_thumb($dir, $name, $att);
                wather_mark(BB_ROOT . "images/sign.gif", $name, 10, 10, true);
            }
            echo '<hr>Такое изображение уже существует.'. paste_links($url, $dir, $name, $att) .'</a>';
        }
        else
        {
            if(copy($_FILES["imgfile"]["tmp_name"], $dir.$name.$att))
            {
                create_thumb($dir, $name, $att);
                wather_mark(BB_ROOT . "images/sign.gif", $name, 10, 10, true);
                echo '<hr>Загрузка прошла успешно.'. paste_links($url, $dir, $name, $att) .'</a>';
            }
            else echo "<hr><span style='color:red'>Загрузка потерпела неудачу. Повторите.</span>";
        }
        if(IS_ADMIN)
        {
            echo "<br><br>";
            echo "<span style='color:red'><b>Ссылка на удаление файла: &nbsp; &nbsp;</b></span>";
            echo "<a href=\"gallery.php?go=delete&fn=".$name.$att."\">".$url."gallery.php?go=delete&fn=".$name.$att."</a>";
        }
    }
    else echo "<hr><span style='color:red'>Недопустимый тип файла.</span>";
}

echo '<hr><center><form enctype="multipart/form-data" method="post" action="?go=upload"><input name="imgfile" type="file" />&nbsp;<input type="submit" value="Загрузить" /></form></center></span></td></tr>
</table>';
require(INC_DIR .'page_footer.php');

?>


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Переместиться наверх
 Главная |  Список форумов |   Time : 0.188s | 14 Queries | GZIP : Off |