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

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

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

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0
    спасибо :)

    а почему ХРОМ по 2 пункта делает шаг? :)
     
    #19181 ufaclub, 29 Aug 2011
    Last edited: 30 Aug 2011
  2. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    А мне кто то поможет ?... пожалста..
     
  3. ufaclub

    ufaclub New Member

    Joined:
    13 Jul 2010
    Messages:
    204
    Likes Received:
    0
    Reputations:
    0

    тоже самое - гугл хром делает по два шага :mad:
     
  4. FindeR

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

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    По одному шагу делает, всё ОК. Проверил во всех браузерах.
     
  5. 1NtR0

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

    Joined:
    14 Apr 2007
    Messages:
    235
    Likes Received:
    89
    Reputations:
    35
    Может ты 2 раза обновить жмешь ?
     
  6. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75
    нужно срегенить случайное время, делаю так
    PHP:

    $rand_hour 
    mt_rand(10,15);
    $rand_minute mt_rand(10,50);
    $rand_sec mt_rand(10,50);
    $rand_time $rand_hour:$rand_minute:$rand_sec;

    ну естественно вывоит ошибкуParse error: syntax error, unexpected ':' in /home..... как быть?
     
  7. 1NtR0

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

    Joined:
    14 Apr 2007
    Messages:
    235
    Likes Received:
    89
    Reputations:
    35
    PHP:
    $rand_time $rand_hour.':'.$rand_minute.':'.$rand_sec
     
    1 person likes this.
  8. margo8

    margo8 New Member

    Joined:
    14 Aug 2011
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    доброго времени суток!!!
    у меня не большая делема пхп скриптом, мне нужно из хтмл страници выдернуть майлы
    использовал скрипт, но увы не коректно работает
    PHP:
    <?  
    $url="http://site.ru"
    $content=file_get_contents($url);  

    $count=preg_match_all('#<a\s+href\s*=["\']?mailto\s*:\s*["\']?([^\s>]+?)["\']?\s+class\s*=\s*["\']?obfuscated\s*-\s*email\s*["\']?[.]*?>(.*?)</a>#i'$content$matches); 


    for(
    $i=0$i<$count$i++) 

        
    $link htmlspecialchars($matches[0][$i]); 
        
    $href htmlspecialchars($matches[1][$i]); 
        
    $ancor htmlspecialchars($matches[2][$i]); 
        echo 
    "{$link}<br />"
        echo 
    "{$href}<br />"
        echo 
    "{$ancor}<br /><br />"

    ?>
    я нашел здесь и другие скрипты по выдергиванию мыла, но они не работают, т.к. на сайте видимо стоит защита от слива мыла, поэтому попробывал выдергивать мыло представляя её как ссылка

    вид самого мыла из исходников сайта <a href="mailto:чей-то майл@mail.ru" class="obfuscated-email">чей-то майл@mail.ru</a>


    p/s в пхп я только учусь, жду помощи старшего брата
     
  9. AgEnT_DiNaR

    AgEnT_DiNaR New Member

    Joined:
    17 Oct 2006
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Попробуй так.

    PHP:
      preg_match_all('@<a href="mailto:(.*)"@sU'$html$output);
      foreach(
    $output[1] as $key=>$value) {
         
    $parsedMail trim($value);
      }
     
  10. Kruzak

    Kruzak New Member

    Joined:
    21 Dec 2010
    Messages:
    126
    Likes Received:
    4
    Reputations:
    1
    привет бразы, помогите алгоритм реализовать
    есть самописный движок блога, у блога есть категории

    справа на сайте выводится список категорий, нужно сделать чтобы размер шрифта каждой категории был разным - зависит от того, сколько записей в этой категории
    нужно чтобы все как то в процентном соотношении что ли было
    минимальный размер 12pt, максимальный 20pt

    что то никак не могу придумать как реализовать задумку
     
  11. randman

    randman Members of Antichat

    Joined:
    15 May 2010
    Messages:
    1,366
    Likes Received:
    610
    Reputations:
    1,101
    Можно например так:
    Считаем кол-во записей в каждой категории. Находим категорию с наибольшим кол-вом записей и категории с наименьшим кол-вом записей.

    Пишем Подпрограмму:
    {
    Вычисляем среднее арифметическое для всех записей. Задаём переменные:
    int min=12, max=20;
    int s = (int)(min+max)/2;

    Вычисляем шрифт для каждой категории:
    Для наибольшей категории - max, для наименьшей - min, для средней - s.

    Перемещаем категории меньше среднего в is, больше среднего в as.
    Проходимся по этим категориям, s - будет max, min-max - зависит от категории, находим среднюю и повторяем тоже самое до тех пор, пока не кончаться категории или размер шрифтов.
    Сохраняем результаты в файл.
    }

    Далее с помощью php скрипта считаете - сколько прошло времени, относительно последнего редактирования файла - если он больше нужного, повторяем процедуру.
     
    #19191 randman, 31 Aug 2011
    Last edited: 31 Aug 2011
  12. margo8

    margo8 New Member

    Joined:
    14 Aug 2011
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    здраствуйте,я на вичок в пхп и у меня возникла проблема
    суть проблемы в том, что хочу взять майлы с одного сайта, а они там видимо защищены. Слить-то слил и получились в итоге кракозяблы такого типа: qrfvtayvsr^znvy%eh, видимо кадировка почему-то поменялась, как решить этот вопрос???
    вот исходник и сайт
    PHP:
    <? 
      for(
    $i=1;$i<3000;$i++){ 
        
    $filename 'http://catalog.sibnet.ru/cat/'.$i
        echo 
    $i.". "
        
    $str file_get_contents($filename); 
        
    preg_match_all('|href="mailto:([^"]*)"|is',$str,$out); 
        if(empty(
    $out[1][0])) echo ""
        else{ 
          echo 
    " <br>get</br> ".$out[1][0]; 
          
    fwrite($handler,$out[1][0]."\n"); 
        } 
        echo 
    "\n"
      } 
      
    fclose($handler); 
    ?>
     
  13. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    margo8 кодировка не изменилась, мейлы обфусцированы.
     
  14. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Посмотреть js используемый для преобразования емаилов в читаемый вид и повторить код декодировния на php.

    PHP:
    <?php
    $email 
    'lnfxva22^znvy%eh';
    echo 
    decode($email);

    function 
    decode($str)
    {
        
    $str preg_replace_callback
        
    (
            
    '/([a-zA-Z])/',
            
    create_function
            
    (
                
    '$m',
                
    '$chr = ord($m[0]); return chr($chr > 108 ? $chr - 13 : $chr + 13);'
            
    ),
            
    $str
        
    );
        
    $str str_replace(array('^''%'), array('@''.'), $str);
        return 
    $str;
    }
    ?>
     
    _________________________
  15. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Kaimi str_rot13 ведь есть
     
    _________________________
  16. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    а по cURL здесь задавать вопросы можно? Почему в ответ на авторизацию сервер выдаёт ошибку 302?
    PHP:
    $ch=curl_init();
    curl_setopt($chCURLOPT_URL"http://id.rambler.ru/script/auth.cgi?mode=login");
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_POSTFIELDS"from=&back=http%3A%2F%2Fwww.rambler.ru%2F&url=7&login=$login&domain=rambler.ru&passw=$password&user.password=%C2%EE%E9%F2%E8");
    curl_setopt($chCURLOPT_COOKIEJAR,$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
    $result curl_exec($ch);
    curl_setopt($chCURLOPT_URL"http://rambler.ru");
    curl_setopt($chCURLOPT_POST0);
    curl_setopt($chCURLOPT_COOKIEFILE$_SERVER['DOCUMENT_ROOT'].'/cookiefile.txt');
    $result curl_exec($ch);
    curl_close($ch);
    echo 
    $result;
     
  17. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    392
    Reputations:
    58
    302, это не ошибка, это перенаправление.
    http://ru.wikipedia.org/wiki/Список_кодов_состояния_HTTP
     
    #19197 Skofield, 3 Sep 2011
    Last edited: 3 Sep 2011
  18. 1NtR0

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

    Joined:
    14 Apr 2007
    Messages:
    235
    Likes Received:
    89
    Reputations:
    35
    return
    PHP:
    curl_setopt($ch,  CURLOPT_FOLLOWLOCATION1);
     
  19. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    Авторизовался нормально, но иероглифы выдает в русском контенте, в англ. всё нормально.
    Уже перепробовал всё что знал. Установил вручную кодировку:
    PHP:
    $headers = array (
                
    "Content-Type: text/html; charset=utf-8",
                
    "X-UA-Compatible: IE=8",
                
    "Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7");
    curl_setopt($chCURLOPT_HTTPHEADER$headers);
    и использовал стандартные средства:
    PHP:
    curl_setopt($chCURLOPT_ENCODING"gzip,deflate");
    ну и конечно же функцию iconv не забыл... Ничего не помогло. Вот чувствую что ответ прост, просто не хватает мозгов и опыта :cool:
     
  20. [ STEF ]

    [ STEF ] Member

    Joined:
    19 Aug 2011
    Messages:
    69
    Likes Received:
    36
    Reputations:
    3
    есть php файл, нужно самого себя заменить, как перезаписать самого себя??
     
Thread Status:
Not open for further replies.