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

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

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

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Meanor, PHP - серверный язык, такчто ты совсем не по теме, юзеру зашедшему на твой сайт PHP никак не навредит
     
  2. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    Нужен скрипт который читает Http запросы на сервер и сохраняет...
     
  3. argonn

    argonn New Member

    Joined:
    1 Mar 2008
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    где такой крипт взять или для написания от чего оталкиваться
     
  4. inlanger

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

    Joined:
    7 Jan 2007
    Messages:
    985
    Likes Received:
    283
    Reputations:
    27
    Народ, в чём прикол? На моём сайте работал RSS парсер. Работал давно и исправно. Но несколько дней назад перестал. Стал выдавать:
    В скрипте 3-я строка это session_start()
    Ничего не пойму. Пытался и другой RSS фид ему скормить... Нифига не помогло. Вот сайт скрипт:
    PHP:
    <?php
    header
    "Content-type: text/html; charset=UTF-8" );
    error_reporting(E_ALL);


    require_once( 
    "./inc/Common.inc" );

        
    $HTML_NEWS['text'] = "";
        
    $HEADER "Новости";

    $type = isset($_REQUEST['type']) ? $_REQUEST['type'] : "menu";
    $coli4 = isset($_REQUEST['num']) ? $_REQUEST['num'] : 3;

    if(
    $coli4 10)
        
    $coli4 10;
    if (
    $coli4 1)
        
    $coli4 3;
    switch (
    strtolower($type)){
        case 
    "world": default:
            
    $file "http://www.profootball.com.ua/rss/news.xml";
            
    $HEADER .= " :: Новости мирового футбола";
            break;
        case 
    "russian":
            
    $file "http://www.championat.ru/xml/rss_football_russiapl.xml";
            
    $HEADER .= " :: Новости Российского футбола";
            break;
        case 
    "ukraine": default:
            
    $file "http://news.yandex.ru/football.rss";
            
    $HEADER .= " :: Новости футбола от yandex";
            break;
        case 
    "menu":
            
    $HEADER .= "";
            break;
    }

    $HTML_NEWS['text'] .= <<< EOS

    <div class="subtitle">
    <b>Новости</b><br/>
    </div>
    <div class="text">
    На этой странице находятся самые свежие футбольные новости. <br/>
    </div>
    <div class="text">
    EOS;

    if (
    $type=="menu")
    {
    $HTML_NEWS['text'] .= "<div class=\"subtitle\">Выберите категорию новостей</div><div class=\"text\">
    <a href=?type=world&num=3>Новости мирового футбола</a><br>
    <a href=?type=ya&num=3>Новости футбола от yandex</a><br>
    <a href=?type=russian&num=3>Новости Российского футбола</a>"
    ;
    }
    else
    {
    $rss_channel = array();
    $currently_writing "";
    $main "";
    $item_counter 0;

    function 
    startElement($parser$name$attrs) {
           global 
    $rss_channel$currently_writing$main;
           switch(
    $name) {
               case 
    "RSS":
               case 
    "RDF:RDF":
               case 
    "ITEMS":
                   
    $currently_writing "";
                   break;
               case 
    "CHANNEL":
                   
    $main "CHANNEL";
                   break;
               case 
    "IMAGE":
                   
    $main "IMAGE";
                   
    $rss_channel["IMAGE"] = array();
                   break;
               case 
    "ITEM":
                   
    $main "ITEMS";
                   break;
               default:
                   
    $currently_writing $name;
                   break;
           }
    }

    function 
    endElement($parser$name) {
           global 
    $rss_channel$currently_writing$item_counter;
           
    $currently_writing "";
           if (
    $name == "ITEM") {
               
    $item_counter++;
           }
    }

    function 
    characterData($parser$data) {
        global 
    $rss_channel$currently_writing$main$item_counter;
        if (
    $currently_writing != "") {
            switch(
    $main) {
                case 
    "CHANNEL":
                    if (isset(
    $rss_channel[$currently_writing])) {
                        
    $rss_channel[$currently_writing] .= $data;
                    } else {
                        
    $rss_channel[$currently_writing] = $data;
                    }
                    break;
                case 
    "IMAGE":
                    if (isset(
    $rss_channel[$main][$currently_writing])) {
                        
    $rss_channel[$main][$currently_writing] .= $data;
                    } else {
                        
    $rss_channel[$main][$currently_writing] = $data;
                    }
                    break;
                case 
    "ITEMS":
                    if (isset(
    $rss_channel[$main][$item_counter][$currently_writing])) {
                        
    $rss_channel[$main][$item_counter][$currently_writing] .= $data;
                    } else {
                        
    //print ("rss_channel[$main][$item_counter][$currently_writing] = $data<br>");
                        
    $rss_channel[$main][$item_counter][$currently_writing] = $data;
                    }
                    break;
            }
        }
    }

    $xml_parser xml_parser_create();
    xml_set_element_handler($xml_parser"startElement""endElement");
    xml_set_character_data_handler($xml_parser"characterData");
    if (!(
    $fp fopen($file"r"))) {
        die(
    "could not open XML input");
    }

    while (
    $data fread($fp4096)) {
        if (!
    xml_parse($xml_parser$datafeof($fp))) {
            die(
    sprintf("XML error: %s at line %d",
                        
    xml_error_string(xml_get_error_code($xml_parser)),
                        
    xml_get_current_line_number($xml_parser)));
        }
    }
    xml_parser_free($xml_parser);

    if (isset(
    $rss_channel["ITEMS"])) {
        if (
    count($rss_channel["ITEMS"]) > 0) {
            for(
    $i 0;$i $coli4;$i++) {
                
    $HTML_NEWS['text'] .= "\n<div class=\"subtitle\">" $rss_channel["ITEMS"][$i]["TITLE"] . "</b></div>";
                
    $HTML_NEWS['text'] .= "<div class=\"text\">" html_entity_decode($rss_channel["ITEMS"][$i]["DESCRIPTION"]) . "</div>";
            }
        } else {
            
    $HTML_NEWS['text'] .= "<b>There are no articles in this feed.</b>";
        }
    }
    $HTML_NEWS['text'] .= <<< EOS
    <div class=\"subtitle\">
    <form method=get action=news.php>
    EOS;
    $HTML_NEWS['text'] .= "<a href=?type=$type&num=10>Больше новостей >>></a></form>";
    }
    бла бла бла...
     
  5. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    2-Hormold-

    http://forum.antichat.ru/showthread.php?t=43279
     
  6. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    nlanger, XML а не PHP, PERL, MySQL, JavaScript, это не сюда
     
  7. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    $_SERVER['HTTP_headername'] - не работает.....
     
  8. mr.The

    mr.The Elder - Старейшина

    Joined:
    30 Apr 2007
    Messages:
    1,080
    Likes Received:
    456
    Reputations:
    38
    PHP:
    <?php
    print_r
    ($_SERVER);
    ?>
    среди прочего показывает и заголовки.
     
  9. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    мб так?
    PHP:
    <?php
    $request 
    '';
    foreach(
    $_SERVER as $k=>$v) {
        if(
    strpos(strtolower($k),'http') === false) break;
        
    $request .= "$k = $v<br>";
    }

    echo 
    $request;
    ?>
    Выведет только то, что передал браузер пользователя :)
     
    #2129 Ponchik, 1 Mar 2008
    Last edited: 1 Mar 2008
  10. Z@h

    Z@h Banned

    Joined:
    11 Aug 2007
    Messages:
    15
    Likes Received:
    2
    Reputations:
    0
    PHP:
    <?php
    $HEADERS 
    getallheaders();
    $data "[REMOTE_ADDR] = ".$_SERVER["REMOTE_ADDR"]."\r\n";
    if(isset(
    $_SERVER["HTTP_X_FORWARDED_FOR"]) != "") {
        
    $data .= "[HTTP_X_FORWARDED_FOR] = ".$_SERVER["HTTP_X_FORWARDED_FOR"]."\r\n";
    }
    $data .= "[DATE] = ".date("d.m.y H:i:s")."\r\n\r\n";
    foreach (
    $HEADERS as $name => $value) {
      
    $data .= "["$name"] = ".$value."\r\n";
    }
    $data .= "\r\n";
    if(isset(
    $_SERVER["QUERY_STRING"]) != "") {
        
    $data .= "[QUERY_STRING] = ".$_SERVER["QUERY_STRING"]."\r\n";
    }
    $data .= "########################################################################\r\n";
        
    $open fopen("./LOGZ.txt","a");
    fwrite($open$data);
    fclose($open);
    ?>
     
    1 person likes this.
  11. temp_late

    temp_late Banned

    Joined:
    22 Aug 2006
    Messages:
    47
    Likes Received:
    7
    Reputations:
    2
    Как программно вывести параметр из php.ini upload_max_filesize,
    нужно чтобы сработало наподобие: get_magic_quotes_gpc();
     
  12. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    PHP:
    <?php
    echo ini_get'upload_max_filesize' );
    ?>
     
    1 person likes this.
  13. symbioin

    symbioin Member

    Joined:
    6 Aug 2007
    Messages:
    62
    Likes Received:
    23
    Reputations:
    -16
    такой вопросик : у меня есть 9 симвлов (0,1,2,3,4,5,a,b,c). и нада зделать список 4 буковных "слов" из етих 9 симолов, чтобы были абсолютно все комбинации...
     
    #2133 symbioin, 1 Mar 2008
    Last edited: 1 Mar 2008
  14. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    можно через 8 вложенных циклов... есть другие варианты?
     
  15. symbioin

    symbioin Member

    Joined:
    6 Aug 2007
    Messages:
    62
    Likes Received:
    23
    Reputations:
    -16
    можешь научить?
     
  16. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    PHP:
    $arr = array(0,1,2,3,4,5,a,b,c);
    for(
    $a 0$a 8$a++){
      
    $str0 $arr[$a];
      for(
    $b 0$b 8$b++){
         
    $str1 $str0.$arr[$b];
        
    итд.... а в последнем цикле делай echo или что тебе надо.
      }
    }
     
    1 person likes this.
  17. symbioin

    symbioin Member

    Joined:
    6 Aug 2007
    Messages:
    62
    Likes Received:
    23
    Reputations:
    -16
    спасибо. теперь такой вопросик у меня есть текст : ышвгфращфзышвгарзщыфшварышгвар . и мне нада после каждой третей буквы поставить тыре "-".
     
  18. Z@h

    Z@h Banned

    Joined:
    11 Aug 2007
    Messages:
    15
    Likes Received:
    2
    Reputations:
    0
    PHP:
    <?php
    $text 
    "ышвгфращфзышвгарзщыфшварышгвар";
    $temp="";
    while(
    strlen($text) > 3) {
        
    $temp .= substr($text03)."-";
        
    $text substr($text3);
    }
    echo 
    $temp;
    ?>
     
  19. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    народ,я уже относительно долго сижу здесь, именно в этой теме, и в последнее время люди началаи справишать настолько элементарные вещи, что это из разряда вон выходит.
    Товарищи новички, здесь лишь помогают разобраться в тонкостях программирования на PHP, не надо использовать данный форум как учебник, для этого используйте http://ru.php.net, http://php.su.
    а то происходят такие ситуации что человек просит его натолкнуть тольок на мысль,в конце ему пишут код,потому что он нихера не понял и так далее. да это может быть, но не 4 раза подряд, как это делает например symbioin(не в обиду сказано). еще ОЧЕНЬ БОЛЬШАЯ РЕКОМЕНДАЦИЯ! читайте предыдущие посты, а то ответят одному человеку, и тут же следующий пост, человек задает практически такой же вопрос.

    p.s.: извиняюсь за оффтоп, но действительно просто обидно за то что люди просто не хотят подумать.
     
    1 person likes this.
  20. temp_late

    temp_late Banned

    Joined:
    22 Aug 2006
    Messages:
    47
    Likes Received:
    7
    Reputations:
    2
    А так интересней

    PHP:
    <?php
    $text
    ='спасибо. теперь такой вопросик у меня есть текст : ышвгфращфзышвгарзщыфшварышгвар . и мне нада после каждой третей буквы поставить тыре "-".!!!';
    $char=3;// насколько делить
    $sizet=strlen($text);
    $t=0;
    $out='';
    for (
    $i=0;$i<$sizet;$i++){
        
    $t++;
        if(
    $t>$char){$t=1;$out.='-';}
        
    $out.=$text{$i};
    }
    echo 
    $out;
    ?> 
     
Thread Status:
Not open for further replies.