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

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

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

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

    Joined:
    9 Apr 2009
    Messages:
    548
    Likes Received:
    146
    Reputations:
    30
    Вот нашел код.
    Проверяет есть ли файл, если есть то удаляет его:
    PHP:
    <?php $file "файл для удаления";
    if (
    is_file($file)) : unlink ('файл для удаления');
    endif; 
    ?>
    А мне нужно что бы проверял наличие определенной папки, а также удалял ее и содержимое.
    Делал так, не катит:
    PHP:
     <?php $directory "папка для удаления";
    if (
    is_file($directory)) : rmdir ('папка для удаления');
    endif; 
    ?> 
    Я подозреваю что проблема тут if (is_file($directory)) , че писать хз :( .
    Помогите плз товарищи умные!
     
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    <?php $directory "папка для удаления";
    if (
    is_dir($directory))
    rmdir ('папка для удаления');
     
    1 person likes this.
  3. restart_05

    restart_05 Member

    Joined:
    5 May 2009
    Messages:
    164
    Likes Received:
    6
    Reputations:
    0
    Как можно определить основной домен средствами PHP если скрипт стоит на поддомене?? Заранее Спасибо!
     
    #17523 restart_05, 29 Jan 2011
    Last edited: 29 Jan 2011
  4. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    $_SERVER['HTTP_HOST']
     
  5. restart_05

    restart_05 Member

    Joined:
    5 May 2009
    Messages:
    164
    Likes Received:
    6
    Reputations:
    0
    К примеру q.test.ru ($_SERVER['HTTP_HOST'] вернет q.test.ru), а мне нужно test.ru
     
  6. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Так ты обрежь переменную до домена :)
     
  7. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    substr($_SERVER['HTTP_HOST'], strpos($_SERVER['HTTP_HOST'], '.') + 1, strlen($_SERVER['HTTP_HOST']));
     
    #17527 Chaak, 29 Jan 2011
    Last edited: 29 Jan 2011
  8. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    <?php
        $a 
    'q.test.ru';
        
        
    $dp explode('.'$a);
        
        if (
    count($dp) == 2)
            echo 
    $dp[0] . '.' $dp[1];
        else
            echo 
    $dp[1] . '.' $dp[2];
     
  9. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    а как-же parse_url() ???? разве не проще?
     
  10. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    http://ru.php.net/parse_url не вижу получения бейс домена
     
  11. restart_05

    restart_05 Member

    Joined:
    5 May 2009
    Messages:
    164
    Likes Received:
    6
    Reputations:
    0
    Спасибо!
     
  12. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    тогда что то наподобие регулярки нужно, что то типа
    PHP:
    <?php 
    $url
    ='http://ru.php.net/parse_url';
    $str='/^(https?:\/\/)?(([0-9a-z_!~*\'().&=+$%-]+:)?[0-9a-z_!~*\'().&=+$%-]+@)?(([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-z_!~*\'()-]+\.)*([0-9a-z][0-9a-z-]{0,61})+[0-9a-z]\.[a-z]{2,6})(:[0-9]{1,4})?((\/?)|(\/[0-9a-z_!~*\'().;?:@&=+$,%#-]+)+\/?)$/';
    $a=preg_match_all($str,$url,$d);
    print_r($d);
    ?>
    P.S. Сейчас подправлю чтоб только домен вытягивало если это нужно
     
    #17532 Kusto, 29 Jan 2011
    Last edited: 29 Jan 2011
  13. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php
    $host 
    'asdasdasd.asd.asdasd.asdasd.q.text.ru';
    $host explode('.'$host);
    echo 
    $host[count($host) - 2].'.'.$host[count($host) - 1];
    ?>
    Isis, так поуниверсальнее)
     
    1 person likes this.
  14. restart_05

    restart_05 Member

    Joined:
    5 May 2009
    Messages:
    164
    Likes Received:
    6
    Reputations:
    0
    А если домен 3 уровня ??
     
  15. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    Например? В последнем случае хоть какого)
     
  16. restart_05

    restart_05 Member

    Joined:
    5 May 2009
    Messages:
    164
    Likes Received:
    6
    Reputations:
    0
    В последнем случае выводит всегда *.* А если к примеру test.net.ru - основной, а q.test.net.ru - поддомен, все равно выведет net.ru
     
  17. Kusto

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

    Joined:
    4 Feb 2007
    Messages:
    886
    Likes Received:
    678
    Reputations:
    510
    а так
    PHP:

    <?php  
    $url
    ='http://ru.php.net/parse_url'
    $str=  '/^http\:\/\/(.*?)\.((.*?)\.(.*?))\/.*/i';
    $a=preg_match_all($str,$url,$d); 
    print_r($d); 
    ?>

     
  18. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    <?php

    $domain 
    'q.test.net.ru';
    $count 3//сколько доменов хочешь видеть с конца

    $result implode('.'array_slice(explode('.'$domain), -$count ));
    echo 
    $result;

    ?>
     
  19. restart_05

    restart_05 Member

    Joined:
    5 May 2009
    Messages:
    164
    Likes Received:
    6
    Reputations:
    0
    Ок Спасибо!
     
  20. foma9999

    foma9999 New Member

    Joined:
    5 Jan 2010
    Messages:
    83
    Likes Received:
    2
    Reputations:
    -5
    В общем мне надо чтобы пхп скрипт отправлял запрос, я ему номер, а он этот номер на сайт подписок
    Пхп скрипт представлен ниже, пишет что код не верный, не могу подконнектится с куками к капча пхп

    PHP:
    function connect($link,$post=null,$cookie=null){ 
    $ch curl_init(); 
    curl_setopt($chCURLOPT_URL,$link); 
    curl_setopt($chCURLOPT_RETURNTRANSFER,1); 
    curl_setopt($chCURLOPT_TIMEOUT0); 
    curl_setopt ($chCURLOPT_HEADER1); 
    curl_setopt($chCURLOPT_FOLLOWLOCATION0); 
    if(
    $post !== null

    curl_setopt($chCURLOPT_POST1); 
    curl_setopt($chCURLOPT_POSTFIELDS$post); 

    if(
    $cookie!==null){ 
    curl_setopt($chCURLOPT_COOKIE$cookie." pay_phone=79210000001"); 

    $otvet curl_exec($ch); 
    curl_close($ch); 
    return 
    $otvet

    echo 
    $cook connect("http://foto2011.ru/phone"nullnull); 
    preg_match('#PHPSESSID=(.+?);#'$cook$php); 
    echo 
    "<BR>"// .print_r($php); 
    $qwe connect("http://foto2011.ru/captcha.php"null$php[0]); 
    $filename file_put_contents('captcha.jpg'file_get_contents("http://foto2011.ru/captcha.php")); 
    echo 
    $cap recognize("captcha.jpg"$apikeytrue); 
    echo 
    connect("http://foto2011.ru/phone","from_name=&from_mail=&pay_phone=792105523423&captcha_key=".trim($cap), $php[0]); 
    как я понял надо капчу сграбить с выданными куками ($php[0]) ?
    но как?))
     
    #17540 foma9999, 29 Jan 2011
    Last edited: 29 Jan 2011
Thread Status:
Not open for further replies.