[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    вообщето я как вопрос понял так и ответил! умник! :D
     
  2. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    А я что сказал что он глупый :D
    Я же сказал что он умник :D

    Подскажи лучше как закругленные края у $im сделать??
    PHP:
    <?php include("db.php");
    if (isset(
    $_POST['vibor'])) { $vibor $_POST['vibor'];}
    if (isset(
    $_POST['load'])) { $adres $_POST['load'];}
    $result1 mysql_query("SELECT * FROM data WHERE id='$vibor'",$db);
    if (!
    $result1)
    {
    exit(
    mysql_error());
    }
    if (
    mysql_num_rows($result1) > 0)
    {
    $myrow1 mysql_fetch_array($result1);
    $mas getimagesize($adres);

    $width 215;
    $heigth $mas[1]+270;
    $adres1 "admin/".$myrow1['url'];
    $im imagecreatetruecolor($width$heigth);

    $im1 imagecreatefromjpeg($adres);
    $im2 imagecreatefromjpeg('logo.jpg');
    $im3 imagecreatefromjpeg($adres1);
    $name "avat".$myrow1['name'];
    imagecopy($im$im20$mas[1], 0021520);
    imagecopy($im$im10000215$mas[1]);
    imagecopy($im$im30$mas[1]+2000215350);
    imagejpeg($im,"avatar/$name");
    }
    else
    {
    exit();
    }
    ?>
     
  3. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    geforce, кажеться вот это:
    http://www.html.it/articoli/nifty/index.html
     
  4. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Не понятно как то :(
     
  5. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    Переведи ,и все будет понятно.
    ЗЫ: А так? http://vkontakte.ru/video8424591_23798353?add=1
     
  6. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5

    :D :D :D :D :D
     
  7. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Разобрался! Ну эт мне не подойдет в данном случае мне надо чтоб углы имеено рисовались в картинке так как это аватар! Есть ещё предложения???
     
  8. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    больше нет, погугли
     
  9. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    m0Hze, Вот очень хорошая и продуманная авторизация:
    http://pyha.ru/articles/php/auth/
    Все по-русски, понятно и просто
     
    1 person likes this.
  10. joltiy

    joltiy Member

    Joined:
    9 Jan 2009
    Messages:
    4
    Likes Received:
    8
    Reputations:
    3
    На мой взгляд, самый простой способ наложить 4 картинки по углам фотки(они могут разные быть, что бы не только закруглять фотки). Обязательно картинки должны быть в формате .png [скачать пример углов ]

    PHP:
    <?php include("db.php");
    if (isset(
    $_POST['vibor'])) { $vibor $_POST['vibor'];}
    if (isset(
    $_POST['load'])) { $adres $_POST['load'];}
    $result1 mysql_query("SELECT * FROM data WHERE id='$vibor'",$db);
    if (!
    $result1)
    {
    exit(
    mysql_error());
    }
    if (
    mysql_num_rows($result1) > 0)
    {
    $myrow1 mysql_fetch_array($result1);
    $mas getimagesize($adres);

    $width 215;
    $heigth $mas[1]+270;
    $adres1 "admin/".$myrow1['url'];
    $im imagecreatetruecolor($width$heigth);

    $im1 imagecreatefromjpeg($adres);
    $im2 imagecreatefromjpeg('logo.jpg');
    $im3 imagecreatefromjpeg($adres1);
    $name "avat".$myrow1['name'];
    imagecopy($im$im20$mas[1], 0021520);
    imagecopy($im$im10000215$mas[1]);
    imagecopy($im$im30$mas[1]+2000215350);

    //размеры аватарки
        
    $width imagesx($im);
        
    $height imagesy($im);
    //добавляем уголки
    $tl imagecreatefrompng('tl.png'); //top left
    $tr imagecreatefrompng('tr.png'); //top right
    $dl imagecreatefrompng('dl.png'); //down left
    $dr imagecreatefrompng('dr.png'); //down  right
    //размеры уголков (предпологается, что размер углов одинаковый )
        
    $w imagesx($tl);
        
    $h imagesy($tl);
    imagecopy($im$tl0000$w$h);
    imagecopy($im$tr$width-$w000$w$h);
    imagecopy($im$dl0$height-$h00$w$h);
    imagecopy($im$dr$width-$w$height-$h00$w$h);

    imagejpeg($im,"avatar/$name");
    }
    else
    {
    exit();
    }
    ?> 

    ?>

    Вот пример фотки обработанной:
    [​IMG]
     
  11. Zitt

    Zitt Elder - Старейшина

    Joined:
    7 May 2006
    Messages:
    736
    Likes Received:
    268
    Reputations:
    59
    geforce,

    [dei], 10.01.2009 13:51:11:
    функция для сглаживания углов, принимает дескриптор картинки и опционально угол

    function corners(&$im,$r=15) {
    $w = imagesx($im);
    $h = imagesy($im);

    $fg = imagecolorallocate($im, 255,255,255);

    for ($offset=0, $x=0, $y=0; $offset<$r, $x<=90, $y<=90; $offset+=$r/90, $x++, $y++) {
    imageline(
    $im,
    sin(deg2rad($x))*$r + $w-$r,
    cos(deg2rad($y))*$r + $h-$r,
    $w,
    $h-$offset,
    $fg
    );
    imageline(
    $im,
    sin(deg2rad($x+90))*$r + $w-$r,
    cos(deg2rad($y+90))*$r + $r,
    $w,
    $r-$offset,
    $fg
    );
    imageline(
    $im,
    sin(deg2rad($x+180))*$r + $r,
    cos(deg2rad($y+180))*$r + $r,
    0,
    $offset,
    $fg
    );
    imageline(
    $im,
    sin(deg2rad($x+270))*$r + $r,
    cos(deg2rad($y+270))*$r + $h-$r,
    0,
    ($h-$r)+$offset,
    $fg
    );
    }
    }


    Den, 13:51:49:
    ок


    Розбаньте человека... Такие кадры пропадаюют ))
     
    #7371 Zitt, 10 Jan 2009
    Last edited: 10 Jan 2009
  12. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    joltiy

    Zitt

    СПАСИБО
     
    #7372 geforce, 10 Jan 2009
    Last edited: 10 Jan 2009
  13. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Вопрос есть картинка в браузере как можно сделать кнопку чтобы при нажатии она выполняла функцию Сохранить картинку как???
     
  14. joltiy

    joltiy Member

    Joined:
    9 Jan 2009
    Messages:
    4
    Likes Received:
    8
    Reputations:
    3
    такую кнопку, на мой взгляд, можно только одним способом сделать:
    1. Нужно к урлу добавить какой нить тег, типа www.vays.ru/img.jpg?value=12
    2. сервер отдает картинку но с измененным content-type. Что бы браузер не мог понять тип и не пытался открыть сам.

    тогда выдаст окно и спросит, что делать...

    P.S.
    Лучше такого не делать... +) проще пользователю сразу объяснить как сохранить картинку.... и т.к. картинка уже показана в браузере, он просто переместит из кэша её... и ему не надо заново качать...
    Может поможет если посмотришь документацию по css в сторону: max-height, max-width
     
  15. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    Создай скрипт get.php:
    PHP:
    <?php

    if(!empty($_GET['file'])){
        
    $filename basename($_GET['file']);

        @
    header('Content-Disposition: attachment; filename="'.$filename.'"');
        @
    header('Content-Type: application/x-force-download; name="'.$filename.'"');

        echo 
    file_get_contents($filename);
    }

    ?>
    И посылай на него запрос

    PHP:
    <a href="get.php?file=this_image.jpg"><img src="this_image.jpg" alt=""/></a>
    Защиты в скрипте нет, можно скачать любой файл, закроешь.
     
  16. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5

    как мне его правильно сюда прикрутить?

    PHP:
    <?php include("db.php");
    if (isset(
    $_POST['vibor'])) { $vibor $_POST['vibor'];}
    if (isset(
    $_POST['load'])) { $adres $_POST['load'];}
    $result1 mysql_query("SELECT * FROM data WHERE id='$vibor'",$db);
    if (!
    $result1)
    {
    exit(
    mysql_error());
    }
    if (
    mysql_num_rows($result1) > 0)
    {
    $myrow1 mysql_fetch_array($result1);
    $mas getimagesize($adres);

    $width 215;
    $heigth $mas[1]+270;
    $adres1 "admin/".$myrow1['url'];
    $im imagecreatetruecolor($width$heigth);

    $im1 imagecreatefromjpeg($adres);
    $im2 imagecreatefromjpeg('logo.jpg');
    $im3 imagecreatefromjpeg($adres1);
    $name "avat".$myrow1['name'];
    imagecopy($im$im20$mas[1], 0021520);
    imagecopy($im$im10000215$mas[1]);
    imagecopy($im$im30$mas[1]+2000215350);

    //размеры аватарки
        
    $width imagesx($im);
        
    $height imagesy($im);
    //добавляем уголки
    $tl imagecreatefrompng('tl.png'); //top left
    $tr imagecreatefrompng('tr.png'); //top right
    $dl imagecreatefrompng('dl.png'); //down left
    $dr imagecreatefrompng('dr.png'); //down  right
    //размеры уголков (предпологается, что размер углов одинаковый )
        
    $w imagesx($tl);
        
    $h imagesy($tl);
    imagecopy($im$tl0000$w$h);
    imagecopy($im$tr$width-$w000$w$h);
    imagecopy($im$dl0$height-$h00$w$h);
    imagecopy($im$dr$width-$w$height-$h00$w$h);

    imagejpeg($im,"avatar/$name");
    }
    else
    {
    exit();
    }

    printf("<img src='avatar/$name' >");
    ?>
     
  17. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    привет всем!! есть у кого скрипт для подмены реферера в запросе через сокеты? пробовал гугл, ниче особо не нашел
     
  18. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    отправь хидер

    "Referer: site.ru\n";

    CURL рулить! =)
     
    1 person likes this.
  19. Zedi

    Zedi Elder - Старейшина

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    а можно полный скрипт?
     
    1 person likes this.
  20. DDoSька

    DDoSька Elder - Старейшина

    Joined:
    5 May 2008
    Messages:
    317
    Likes Received:
    352
    Reputations:
    18
    PHP:
    <?php
    for ($i=0$i <10$i++) {
    $text="С новым годом всех !!!!";
    $url "http://memori.ru/login/";  
    $ua 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';  
    $ch curl_init();   
    $post="message_autor=qweqweqweqwe&[email protected]&autor_url=qweqweqewqe.ru&message_text=$text&new_message=true";    
    curl_setopt($chCURLOPT_URL"http://www.judo-spb.ru/modules.php?name=GuestBL&go=new_message");    
    curl_setopt($chCURLOPT_HEADER1); 
    /*curl_setopt($ch, CURLOPT_USERAGENT, $ua);*/
    curl_setopt($chCURLOPT_TIMEOUT10);   
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);   
    curl_setopt($chCURLOPT_POST1);  
    curl_setopt($chCURLOPT_REFERER"http://www.judo-spb.ru");   /*Вот это тебе нужно */
    curl_setopt($chCURLOPT_POSTFIELDS$post); 
        
    $result curl_exec($ch);    
    }
    echo 
    $result
    ?>
    Вот пример на курле. Флудер гостевой книги. С подменой Рефера
     
    #7380 DDoSька, 10 Jan 2009
    Last edited: 10 Jan 2009
    1 person likes this.
Thread Status:
Not open for further replies.