Передать значения переменной в другую функцию ?

Тема в разделе "Как сделать...", создана пользователем usergeyv, 18 май 2018.

  1. usergeyv

    usergeyv Постоялец

    Регистр.:
    5 июл 2013
    Сообщения:
    120
    Симпатии:
    20
    Вот сам код:
    PHP:
    function getContentUrl($uri)
    {
        
    sleep(rand(13));
        
    $ch curl_init($uri);
        
    curl_setopt ($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows NT 6.1; rv:8.0.1) Gecko/20100101 Firefox/8.0.1');
        
    curl_setopt ($chCURLOPT_REFERER'http://site.ru);
        curl_setopt ($ch, CURLOPT_POST, 0);
        curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt ($ch, CURLOPT_ENCODING, '
    gzip');
        $result = curl_exec ($ch);
        if($result == false) {
            exit(PHP_EOL . '
    Connection problem.' . PHP_EOL);
        }
        $content = curl_multi_getcontent ($ch);
        curl_close ($ch);

       preg_match_all('
    /<a href="\/tag\/.*?" target="_blank">([\s\S]*?)<\/a>/',  $content, $tags);
       $tags = implode('
    ', $tags[1]);
       
        return $content;
    }



    function addNews($html, $title, $catId, $torrentFile) {
        global $parser_config, $authors, $db;
        $author = $authors[array_rand($authors)];
        $thistime = date( "Y-m-d H:i:s", time() );
        $db->query( "INSERT INTO `" . PREFIX. "_post` (`autor`, `date`) VALUES ('
    $author', '$thistime')" );
        $newsId = $db->insert_id();
      
        $file_prefix = time() + mt_rand( 1, 100 ).'
    _';
        rename(APPLICATION_PATH . '
    /'.TMP_PATH.'/' . $torrentFile, $parser_config['site_path'].'uploads/files/'.$file_prefix.$torrentFile);
      
        $db->query( "INSERT INTO `" . PREFIX. "_files` (news_id, name, onserver, author, date) values ('
    $newsId', '$torrentFile', '{$file_prefix}{$torrentFile}', '$author', ".time().")" );
        $attachment_id = $db->insert_id();
      
        $html = $db->safesql($html).'
    <br /><br />[attachment='.$attachment_id.']';
        $title = $db->safesql($title);
      
        $alt_name = totranslit( stripslashes( $title ), true, false );
        $db->query( "UPDATE `" . PREFIX . "_post` SET short_story='
    $title', full_story='$html', title='$title', category='$catId', alt_name='$alt_name', allow_comm={$parser_config[allow_comm]}, approve={$parser_config[approve]}, allow_main={$parser_config[allow_main]}, fixed={$parser_config[news_fixed]}, allow_rate=1, allow_br=1, flag=1, tags='$tags', metatitle = '$title' WHERE id=$newsId" );
      
        $db->query( "UPDATE `" . PREFIX . "_users` SET news_num=news_num+1 WHERE name='
    $author'" );
        $db->query( "UPDATE `" . PREFIX . "_post` SET `symbol` = SUBSTRING(`title`, 1, 1)") ;
        echo '
    .';
      
    }
    Как передать значения переменной $tags в функцию addNews для записи в базу?
    Спасибо
     
    Последнее редактирование: 18 май 2018
  2. Keegan

    Keegan Создатель

    Регистр.:
    20 апр 2009
    Сообщения:
    44
    Симпатии:
    8
    Можете объявление функции function addNews($html, $title, $catId, $torrentFile) поменять на
    function addNews($html, $title, $catId, $torrentFile, $tags)
     
    usergeyv нравится это.
  3. Java

    Java

    Регистр.:
    14 окт 2011
    Сообщения:
    160
    Симпатии:
    39
    В addNews добавить $tags как указал выше. Потом ниже, где запись идет в базу в нужном месте вставлять $tags. Ну и естественно в нужно месте (при вызове функции с передачей переменных) вызывать функцию. :conf: