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

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

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

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    qaz указывайте домен, а не http адрес
     
    _________________________
  2. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    понял, пишет Сайт доступен
     
  3. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    qaz значит не хватает заголовков, только это уже не проблема PHP
     
    _________________________
  4. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    тоесть дело гиблое? никак курлом не авторизоватся?
     
  5. RexTiam

    RexTiam Member

    Joined:
    2 Nov 2009
    Messages:
    117
    Likes Received:
    45
    Reputations:
    5
    блин затупил на одном вопросе...смешном...\\

    как через каждое слово ставить запитую или точку?
     
  6. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    RexTiam
    PHP:
    <?php
    $str 
    "word1 word2 word3 word4";
    $arr explode(" "$str);
    $strNew implode(", "$arr);
    echo 
    $strNew;
    ?>

    or

    <?php
    $str 
    "word1 word2 word3, word4,";
    $str preg_replace("#\w+#"'$0,'str_replace(","""$str)); //В том случае, если запятые где-то уже есть.
    echo $str;
    ?>
     
    #19166 Skofield, 19 Aug 2011
    Last edited: 19 Aug 2011
    1 person likes this.
  7. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    Заменяй пробел на пробел с запятой.
     
  8. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    написал скрипт вывода новостей, помогите сделать вывод 3 новостей на страницу
    т.е. нужно добавить навигацию - страница: 1 2 3
    PHP:
    <?
    mysql_connect('localhost''root''') or die('Could not connect: 'mysql_error());
    mysql_select_db('test1');
    $table 'news';
    $LIST = array(); 
    $query "SELECT * FROM $table";
    $res mysql_query($query); 
    while(
    $row=mysql_fetch_assoc($res)) $LIST[] = $row
    ?>
    <table><? foreach ($LIST as $row): ?>
    <tr><td valign="top" class="date"><span><?=$row['date']?></span></td><td valign="top" class="text"><?=$row['text']?></td></tr>
    <? endforeach ?></table>
     
  9. Doom123

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

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Kruzak
    PHP:
    <?php
       
    function gen_link($par,$val)
        {
            
    $url parse_url($_SERVER['REQUEST_URI']);

            
    $vals = array();
              
            if(isset(
    $url['query']));
                
    parse_str($url['query'], $vals);
              
            
    $vals[$par] = $val;
            
            
            return 
    $url['path'].'?'.http_build_query($vals).$url['fragment'];
        }

        function 
    pager($link,$onpage$count$thispage)
         {
            if (
    $count <= $onpage)
                return 
    false;
            
                
    $ceil ceil($count $onpage);
                
                if (
    $thispage != 1)
                {
                    
                    
    /* Показать кнопку "назад" и ссылку на первую страницу если мы не на первой странице */
                    
                    
    $fixed_query gen_link($link,($thispage 1));
                    
                    
    $pg '<a href="'.$fixed_query'">Назад</a> ';
                    
                    if (
    $thispage <= 3)
                    {
                        
    $fixed_query gen_link($link,1);
                        
    $pg .= ' <a href="'.$fixed_query.'">1</a> ';
                    } else {
                         
    $fixed_query gen_link($link,1);
                          
    $pg .= ' <a href="'.$fixed_query.'">1</a>...';   
                          
    $left $thispage 2;
                          
    $fixed_query gen_link($link,($thispage 2));
                          
    $pg .= ' <a href="'.$fixed_query'">' $left '</a> ';           
                    }
                        
                    
    /* ----------------------------------------------------------------------------------*/
                    
    if($thispage 2)
                    {
                        
    $fixed_query gen_link($link,($thispage 1));
                        
    $left $thispage 1;
                        
    $pg .= ' <a href="'.$fixed_query '">' $left '</a> ';
                    }
                }

                    
    $pg .= '<span>' $thispage '</span> ';
                  
                if (
    $thispage != $ceil)
                {  
                    if (
    $thispage < ($ceil 1))
                    {
                        
    $right $thispage 1;
                        
    $fixed_query gen_link($link,($thispage +1));
                                
                        
    $pg .= ' <a href="'.$fixed_query '">' $right '</a> ';
                            
                        if (
    $right $ceil)
                        {
                            
    $right++;
                            
    $fixed_query gen_link($link,$right);
                            
    $pg .= ' <a href="'.$fixed_query'">' $right '</a> ';
                        }
                    }
                
                    if (
    $thispage <= $ceil 2)
                    {
                        
    $vals[$link] = $ceil;
                           
    $fixed_query gen_link($link,$ceil);
                        
    $pg .= '...<a href="'.$fixed_query '">' $ceil '</a> ';
                    } else {
                         
    $vals[$link] = $ceil;
                           
    $fixed_query gen_link($link,$ceil);
                        
    $pg .= ' <a href="'.$fixed_query '">' $ceil '</a> ';
                    }
                        
                        
                    
    $forwd $thispage 1;
                                            
    $fixed_query gen_link($link,$forwd);
                        
    $pg .= ' <a href="'.$fixed_query '">Вперёд</a> ';
                }
                
                return 
    $pg;
            }
            
       
    mysql_connect('localhost''root''') or die('Could not connect: 'mysql_error()); 
    mysql_select_db('test1'); 
    $table 'news'

    $LIST = array();

    /* Колво новостей в базе */  
    $query "SELECT COUNT(*) AS `count` FROM $table";
     
    $res mysql_query($query);  
    $row mysql_fetch_assoc($res);
    $count $row['count'];
    /* --------------------- */

    $NwOnPage 1//Новостей на странице
    $maxPages ceil($count $NwOnPage); //Максимальное колво страниц
    $CurrPage = (isset($_GET['p']) && is_numeric($_GET['p'])) ? (int)$_GET['p'] : 1//На какой странице мы находимя в данный момент

    $my_p $CurrPage $NwOnPage $NwOnPage//С какой по счёту новости выводить на данной странице

    $page pager('p'$NwOnPage$count$CurrPage);

    $query "SELECT `date`,`text` FROM $table LIMIT $my_p$NwOnPage";
     
    $res mysql_query($query);  

    while(
    $row mysql_fetch_assoc($res)) :
    ?> 
    <table>
    <tr><td valign="top" class="date"><span><?=$row['date']?></span></td><td valign="top" class="text"><?=$row['text']?></td></tr> 
    </table>
    <? endwhile; echo $page;?>
            


     
    #19169 Doom123, 25 Aug 2011
    Last edited: 25 Aug 2011
    1 person likes this.
  10. OSW

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

    Joined:
    12 Jul 2007
    Messages:
    325
    Likes Received:
    56
    Reputations:
    7
    Есть сайт на вордпрессе. Через custom fields вставляются картинки.
    На странице с записью хочу вывести все картинки, что есть, для этого использую что-то вроде:

    PHP:
    <?php  $FileUpload get_post_meta($post->ID'File Upload'true); ?>  
    <?php $FileUpload2 get_post_meta($post->ID'File Upload2'true); ?>  
    <?php $FileUpload3 get_post_meta($post->ID'File Upload3'true); ?>  
    <?php $FileUpload4 get_post_meta($post->ID'File Upload4'true); ?> 
    <?php $FileUpload5 get_post_meta($post->ID'File Upload5'true); ?>     
     
    <?php if($FileUpload != '')   {  echo wp_get_attachment_link($FileUpload'thumbnail'falsetruenull);   
    elseif(
    $FileUpload2 != '') {  echo wp_get_attachment_link($FileUpload2'thumbnail'falsetruenull);   
    elseif(
    $FileUpload3 != '') {  echo wp_get_attachment_link($FileUpload3'thumbnail'falsetruenull);   
    elseif(
    $FileUpload4 != '') {  echo wp_get_attachment_link($FileUpload4'thumbnail'falsetruenull);   
    elseif(
    $FileUpload5 != '')   echo wp_get_attachment_link($FileUpload5'thumbnail'falsetruenull);     }}}}?>
    Суть: нужно проверять на существование все 5 переменных и выводить столько картинок, сколько существует переменных.
    Этот код выводит только первую. Подскажите, как реализовать?
     
  11. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Подскажите как с помощью curl скачать файл под тем же именем под которым выдает его сервер.
    К примеру скачиваем файл по url http://yandex.ru/export_download_file.cfm?exportId=168523&uid=NEW

    А сервер выдает файл под именем 12ed3s.doc как добиться чтобы именно под таким именем сохранять файл на своем компе через curl ?
     
  12. Fuckel

    Fuckel Banned

    Joined:
    16 Jan 2008
    Messages:
    274
    Likes Received:
    59
    Reputations:
    6
    А ты используй только один кастом филд и пиши все туда через запятую(разделитель), например.
     
  13. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    Такой вопрос, крон запускает скрипт каждый пять минут, мне нужно штобы он запускал скрипт также каждые 5 минут но только штобы скрипт выполнялся только днём, тоесть с 6 утра да 9 вечера, как ето можно организовать?
     
  14. OSW

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

    Joined:
    12 Jul 2007
    Messages:
    325
    Likes Received:
    56
    Reputations:
    7
    Беда в том, что эти кастомы создаем плагин Custom Fields Template. И без него никак, низя давать юзерам вручную вбивать значения в поля, поэтому приходится устраивать пляску с этими условиями.
     
  15. OSW

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

    Joined:
    12 Jul 2007
    Messages:
    325
    Likes Received:
    56
    Reputations:
    7
    */5 6-21 * * * /usr/local/bin/php -q $HOME/script.php > /dev/null 2>&1

    что-то типа этого.

    */5 - каждые 5 минут
    6-21 - с 6 утра до 9 вечера
     
  16. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Помогите пожалуйсто сделать нормальную валидацию линка..

    Code:
    function check_back_link($remote_url, $your_link) {
    $match_pattern = preg_quote(rtrim($your_link, "/"), "/");
        $found = false;
        if ($handle = @fopen($remote_url, "r")) {
            while (!feof($handle)) {
                $part = fread($handle, 1024);
                if (preg_match("/<a(.*)href=[\"']".$match_pattern.
    "(\/?)[\"'](.*)>(.*)<\/a>/", $part)) {
                    $found = true;
                    break;
                }
            }
            fclose($handle);
        }
        return $found;
    }
    
    Дело в том, что линк валидный считаеться если URL : http://www.site.com или http://www.site.com/links.html но если URL типа http://www.site.com/#5 или еще какой нибуть тип без мод rewrite то оно не проходит, т.е считает не валидным, как сделать что бы все УРЛ можно было валидировать ?

    А мне кто то поможет ?... пожалста.. :(
     
    #19176 Adio, 29 Aug 2011
    Last edited: 30 Aug 2011
  17. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    вывод числа из диапозона по порядку -
    PHP:
    [/b]

    есть диапозон [1-40]
    нужно выводить числа по порядку при каждой перезагрузки страницы

    например открыли страницу 
    вывелось число 1 нажалаи перезагрузить страницу вывелось число 2 .... и так далее по кругу до 40.
    потом снова 1

    думаю вот надо предыдушее значение скидывать в файл наверно и перед выводом числа считывать оттуда значение и добавлять 
    1

    подскажите на примере пшп только только изучаю
    .. на примере просто понятней было бы
     
  18. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    936
    Likes Received:
    527
    Reputations:
    204
    Зачем файлы? Лучше хранить в сессиях. Прочитай про сессии, и условие if(ну чтобы плюсовать и начинать по новой при достижение 40).
     
  19. 1NtR0

    1NtR0 Elder - Старейшина

    Joined:
    14 Apr 2007
    Messages:
    235
    Likes Received:
    89
    Reputations:
    35
    ufaclub
    PHP:
    <?php
    session_start
    ();
    if(!isset(
    $_SESSION['summ']) || @$_SESSION['summ'] == 40$_SESSION['summ']=0;
    $_SESSION['summ']+=1;
    echo 
    $_SESSION['summ'];
    ?>
     
    #19179 1NtR0, 29 Aug 2011
    Last edited: 29 Aug 2011
    1 person likes this.
  20. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Весь код - 2 строчки.

    PHP:
    session_start();
    echo 
    $_SESSION['counter'] = $_SESSION['counter'] && $_SESSION['counter'] < 40 ? ++$_SESSION['counter'] : 1;
     
Thread Status:
Not open for further replies.