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

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

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

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

    Joined:
    19 Mar 2007
    Messages:
    557
    Likes Received:
    306
    Reputations:
    27
    echo $out; , $info = "\nvar: $var,\nvar1 $var1 etc"; ОМГ, каша, что тебе конкретно надо, что бы генерировались пароли случайные и потом записывались в файл?
     
  2. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    PHP:
    <?php
    // подгружам нужные файлы
    include("db.php");
    include(
    "function.php");
    ---------------------------------------------------------------
    // передаём переменные
    if (isset($_POST['vibor'])) { $vibor $_POST['vibor'];}
    if (isset(
    $_POST['load'])) { $adres $_POST['load'];}
    if (isset(
    $_POST['zak'])) { $zak $_POST['zak'];}
    // запрос к базе
    $q "SELECT * FROM data WHERE id='$vibor'";
    $result1 mysql_query($q,$db);
    if (!
    $result1) {
      exit(
    mysql_error());
    }
    if (
    mysql_num_rows($result1) > 0) {
    //вытаскиваем пути к картинкам
      
    $myrow1 mysql_fetch_array($result1);
      
    $adres1 "admin/".$myrow1['url'];
    //узнаем реальный размер картинок
      
    $mas getimagesize($adres);
      
    $mas1 getimagesize($adres1);
    //создаем переменые с размерами
      
    $width 215;
      
    $heigth $mas[1]+$mas1[1]+30;
    //создаем пустую картинку с размерами которые выше
       
    $im imagecreatetruecolor($width$heigth);
    //создаем в памяти все картинки
       
    $im1 imagecreatefromjpeg($adres);
       
    $im2 imagecreatefromjpeg('logo.jpg');
       
    $im3 imagecreatefromjpeg($adres1);
    //копируем все на полотно
       
    $name $myrow1['name'];
       
    imagecopy($im$im20$mas[1], 0021530);
       
    imagecopy($im$im10000215$mas[1]);
       
    imagecopy($im$im30$mas[1]+3000215350);
    ---------------------------------------------------------------
    // закруглёные края
    if ($zak == 1) {
       
    ugolki ($im);
    }
    // сохранение аватара
       
    imagejpeg($im,"avatar/$name");
       
    imagedestroy($im);
    }
    else {
      echo 
    "Ошибка при зоздании Аватара";
      exit();
    }
    printf("<a href='get.php?file=avatar/$name'>сохранить</a><br>
    <img src='avatar/
    $name' alt=''/>");

    ?>
    Помогите из выделенного пунктиром текста кода сделать функцию ???

    и как сделать картинку в коде черно белой???
     
    #7782 geforce, 22 Jan 2009
    Last edited: 22 Jan 2009
  3. [х26]VОLАND

    [х26]VОLАND Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    513
    Likes Received:
    756
    Reputations:
    218
    Хоть убей не пойму что делает твой код, но всё же:
    PHP:
    <?php 
    // подгружам нужные файлы 
    include("db.php"); 
    include(
    "function.php"); 
    --------------------------------------------------------------- 
    // передаём переменные 
    if (isset($_POST['vibor'])) { $vibor $_POST['vibor'];} 
    if (isset(
    $_POST['load'])) { $adres $_POST['load'];} 
    if (isset(
    $_POST['zak'])) { $zak $_POST['zak'];} 

    function 
    process($vibor$adres$zak)
    {
        global 
    $db;
        
    // запрос к базе 
        
    $q "SELECT * FROM data WHERE id='" . (int)$vibor "'"
        
    $result1 mysql_query($q,$db) or exit(mysql_error()); 
        if (
    mysql_num_rows($result1) > 0) { 
        
    //вытаскиваем пути к картинкам 
            
    $myrow1 mysql_fetch_array($result1); 
            
    $adres1 "admin/".$myrow1['url']; 
        
    //узнаем реальный размер картинок 
            
    $mas getimagesize($adres); 
            
    $mas1 getimagesize($adres1); 
        
    //создаем переменые с размерами 
            
    $width 215
            
    $heigth $mas[1]+$mas1[1]+30
        
    //создаем пустую картинку с размерами которые выше 
            
    $im imagecreatetruecolor($width$heigth); 
        
    //создаем в памяти все картинки 
            
    $im1 imagecreatefromjpeg($adres); 
            
    $im2 imagecreatefromjpeg('logo.jpg'); 
            
    $im3 imagecreatefromjpeg($adres1); 
        
    //копируем все на полотно 
            
    $name $myrow1['name']; 
            
    imagecopy($im$im20$mas[1], 0021530); 
            
    imagecopy($im$im10000215$mas[1]); 
            
    imagecopy($im$im30$mas[1]+3000215350); 
        
    // закруглёные края 
            
    if ($zak == 1) { 
                
    ugolki ($im); 
            }
        
    // сохранение аватара 
            
    imagejpeg($im,"avatar/$name"); 
            
    imagedestroy($im); 
        } else { 
            exit(
    "Ошибка при зоздании Аватара"); 
        }
        return 
    $name;
    }

    $name process($vibor$adres$zak);

    printf("<a href='get.php?file=avatar/$name'>сохранить</a><br> 
    <img src='avatar/
    $name' alt=''/>"); 

    ?>
     
  4. MaTpOc

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

    Joined:
    5 May 2008
    Messages:
    633
    Likes Received:
    475
    Reputations:
    25
    да, нада генерить всевозможные пароли в столбик по 8 знаков в строчке и чтоб это все складывалось в файл.
     
  5. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php
    #~~~~~~~~Настройки~~~~~~~~#
    $pass_len 8;                  # длина пароля?
    $pass_count 1000;             # сколько паролей генерировать?
    $file_pass 'passwords.txt';   # файл с паролями?
    $truncate_file true;          # отчищать ли файл?
    $add_symb '!@#$%^&*';         # добавочные символы?
    #~~~~~~~~---------~~~~~~~~#

    /**
     * genPass()
     *
     * @param int $len  - длина
     * @param string $mix   - дополнительные символы
     * @return string $result
     */
    function genPass($len$mix '')
    {
        
    $alpha 'qwertyuiopasdfghjklzxcvbnm1234567890';    #алфавит
        
    $result '';                                       #результат
        
        
    $alpha .= $mix#добавляем доп. символы
        
        
    for($i 0$alphlen strlen($alpha); $i $len$i++) #добавляем в цикле случайные символы
            
    $result .= $alpha{mt_rand(0$alphlen 1)};     #случайное число из алфавита
        
        
    return $result#возвращаем результат
    }

    if(!
    $fp fopen($file_pass'at')) #открываем файл
        
    die('Невозможно открыть файл'.$file_pass);

    if(
    $truncate_file)
        
    ftruncate($fp0);  #отчищаем файл


    for($i 0$i $pass_count$i++)
    {
        
    fwrite($fpgenPass($pass_len$add_symb)."\r\n"); #записываем в файл по паролю на строчку
    }

    fclose($fp);
     
    #7785 Chaak, 22 Jan 2009
    Last edited: 22 Jan 2009
    3 people like this.
  6. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    ChaaK, всё хорошо, только не закрыл пхп тег и "не" с причастиями пишется слитно (невозможно) :)
     
  7. [х26]VОLАND

    [х26]VОLАND Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    513
    Likes Received:
    756
    Reputations:
    218
    Использование закрывающего тега в пхп нежелательно.
     
    2 people like this.
  8. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    невозможно - это наречие :), да оно пишется в этом случае слитно с не.

    <?php ?>, закрывающийся тег нежелателен, при инклудах в другие скрипты возможны ошибки с хеадерами, поэтому я и не закрыл его.
     
  9. Byrger

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

    Joined:
    7 Mar 2008
    Messages:
    521
    Likes Received:
    26
    Reputations:
    -4
    Почему куки не очищаются?

    Возможно как-то все куки очистить?

    Проблема в том что куки почемуто после создания называются не просто "billing" а "price billing" где price название страницы на которой куки создалить (тоесть параметр GET)
     
    #7789 Byrger, 22 Jan 2009
    Last edited: 22 Jan 2009
  10. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Вопрос!

    Есть две функции

    PHP:
    function vkont($vibor$adres)
    {
        global 
    $db;
        
    // запрос к базе
        
    $q "SELECT * FROM data WHERE id='" . (int)$vibor "'";
        
    $result1 mysql_query($q,$db) or exit(mysql_error());
        if (
    mysql_num_rows($result1) > 0) {
        
    //вытаскиваем пути к картинкам
            
    $myrow1 mysql_fetch_array($result1);
            
    $adres1 "admin/".$myrow1['url'];
        
    //узнаем реальный размер картинок
            
    $mas getimagesize($adres);
            
    $mas1 getimagesize($adres1);
        
    //создаем переменые с размерами
            
    $width 215;
            
    $heigth $mas[1]+$mas1[1]+30;
        
    //создаем пустую картинку с размерами которые выше
            
    $im imagecreatetruecolor($width$heigth);
        
    //создаем в памяти все картинки
            
    $im1 imagecreatefromjpeg($adres);
            
    $im2 imagecreatefromjpeg('logo.jpg');
            
    $im3 imagecreatefromjpeg($adres1);
        
    //копируем все на полотно
            
    $name $myrow1['name'];
            
    imagecopy($im$im20$mas[1], 0021530);
            
    imagecopy($im$im10000215$mas[1]);
            
    imagecopy($im$im30$mas[1]+3000215350);
        }else {
            echo 
    "Ошибка при cоздании Аватара";
            exit();
    }
    }
    // нужно с функции которая выше предать значение функции ниже
    // закруглёные углы
    function ugolki ($im /*вот сюда подставить*/ ){
       
    //размеры аватарки
        
    $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);
    }
    PHP:
    // подгружам нужные файлы
    include("db.php");
    include(
    "function.php");
    // передаём переменные
    if (isset($_POST['vibor'])) { $vibor $_POST['vibor'];}
    if (isset(
    $_POST['load'])) { $adres $_POST['load'];}
    if (isset(
    $_POST['zak'])) { $zak $_POST['zak'];}
    // ава контакт
    vkont($vibor$adres);
    // закруглёные края
    if ($zak == 1) {
       
    ugolki ($im);
    }
    // сохранение аватара
       
    imagejpeg($im,"avatar/$name");
       
    imagedestroy($im);
    printf("<img src='avatar/$name' alt=''/><br><a href='get.php?file=avatar/$name'>сохранить</a>");
    Как передать $im с одной функции в другую???
     
    #7790 geforce, 22 Jan 2009
    Last edited: 22 Jan 2009
  11. Zedi

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

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    сделать в обоих функциях
    PHP:
    global $im;
    а можно еще в конце первой функции сделать
    PHP:
    return $im;
    и вызывать ее вот так
    PHP:
    $im vkont($vibor$adres);
     
    #7791 Zedi, 22 Jan 2009
    Last edited: 22 Jan 2009
    2 people like this.
  12. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Не работает так! Нада $im подставить ugolki ($im) вот так и чтоб $im была с пред идущей функцией!???
     
  13. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    PHP:
    function vkont($vibor$adres
    {
    ...
    return 
    $im;
    }
    и

    PHP:
    $im vkont($vibor$adres); 

    if (
    $zak == 1)  
       
    ugolki ($im); 
     
  14. Zedi

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

    Joined:
    6 Jun 2007
    Messages:
    316
    Likes Received:
    120
    Reputations:
    13
    ну я потом это и сказал ток на две минуты раньше, сначала затупил, ссори
     
    1 person likes this.
  15. Дикс

    Дикс Elder - Старейшина

    Joined:
    16 Apr 2006
    Messages:
    1,194
    Likes Received:
    227
    Reputations:
    26
    да, когда я читал твой пост, там этого не было.
     
  16. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    Какой функцией можно сделать загруженный рисунок черно белым?
     
  17. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    http://bubble.ro/How_to_convert_an_image_to_grayscale_using_PHP.html
     
    _________________________
  18. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Byrger
    PHP:
    <?php
    foreach($_COOKIES as $key => $value)
    {
         
    setcookie($key'deleted');     #если не поможет, то '' 
    }
     
  19. ntldr

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

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    есть класс дял работы с анимацией гиф?
     
  20. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    http://www.php.net/imagick
     
    1 person likes this.
Thread Status:
Not open for further replies.