[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,194
    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,194
    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,194
    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,194
    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:
    80
    Likes Received:
    1
    Reputations:
    -5
    В общем мне надо чтобы пхп скрипт отправлял запрос, я ему номер, а он этот номер на сайт подписок
    Пхп скрипт представлен ниже, пишет что код не верный, не могу подконнектится с куками к капча пхп

    PHP:
    function connect($link,$post=null,$cookie=null){ 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL,$link); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch, CURLOPT_TIMEOUT, 0); 
    curl_setopt ($ch, CURLOPT_HEADER, 1); 
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); 
    if(
    $post !== null) 
    { 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
    } 
    if(
    $cookie!==null){ 
    curl_setopt($ch, CURLOPT_COOKIE, $cookie." pay_phone=79210000001"); 
    } 
    $otvet = curl_exec($ch); 
    curl_close($ch); 
    return 
    $otvet; 
    } 
    echo 
    $cook = connect("http://foto2011.ru/phone", null, null); 
    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", $apikey, true); 
    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.