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

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

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

    manningaon New Member

    Joined:
    10 May 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    есть ли скрипт, который сайт со статикой поисковым роботам давай информацию что сайт динамический
     
  2. programming

    programming New Member

    Joined:
    26 Aug 2009
    Messages:
    190
    Likes Received:
    3
    Reputations:
    0
    Каким образом можно к определённой странице запретить доступ определённому ip, который выполнил некоторые действия? Точнее не запретить, а просто выводить некое сообщение.
    Запись в бд ip и затем извлечение от туда не катит.
     
  3. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    2 SeNaP
    в скрипте
    Code:
    set_time_limit(0)
    убери, и увидишь в чем трабл

    2 programming
    ну если этакая защита не критична, то как вариант при заходе на страницу присваивать куку, и проверять если она есть то ..., а если нет - то...
    PHP:
    <?php
    if(isset($_COOKIE['ban'])) die('Сори, вы тут уже были');
    else 
    setcookie('ban'truetime()+3600); //1 час
    ....
    ?>
    ну а если критично то записывать ип в файл/бд, и проверять каждый раз при заходе на страницу.
     
  4. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    $a = 2; // integer
    $a = '2'; - тоже integer?
     
  5. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    PHP:
    <?php
    $a 
    2;
    var_dump($a);
    $a '2';
    var_dump($a);
    ?>
    результат
    Code:
    int(2)
    string(1) "2"
    
    =\ мб попробуешь в начале на php.net искать, а потом тут?
     
    1 person likes this.
  6. foxxx1234

    foxxx1234 Member

    Joined:
    26 Nov 2008
    Messages:
    0
    Likes Received:
    7
    Reputations:
    0
    Подскажите как сделать чтобы этот скрипт
    PHP:
    $ret=$s->get("/album-{$gid}_{$albumid}",'st=$st',$cook,"http://vkontakte.ru/club$gid");
          
    $ret=$ret[1];      
          
    preg_match_all('#href="/photo-.+_(.*?)">#',$ret,$ph);
          
    preg_match_all('#st=(\d+)#',$ret,$st);
          if(empty(
    $ph[1]))
          {
            
    print_flush('Альбом пуст.');
          }
          else
          {
          
            for(
    $i=0,$cnt=count($ph[1]);$i<$cnt;$i++)
            {
              
    fputs($text,$descr[1][$i]);
            
              
    print_flush('Найдено фото id='.$ph[1][$i].', получение...',0);
              if(
    in_array("group/$gid/$alb/{$gid}_{$ph[1][$i]}.jpg",$photos))
              {
                
    print_flush('Такое фото уже сохранено.');
                continue;
              }

              
    $photos[]="{$gid}_{$ph[1][$i]}.jpg";

              
    $ret=$s->get("/photo-{$gid}_{$ph[1][$i]}",'',$cook,"http://vkontakte.ru/club$gid");

              if(!
    preg_match('/id="myphotolink"><img src="http:\/\/(.+)" id/isU',$ret[1],$fm))
              {
                
    print_flush('Фото не найдено.');
                continue;
              }


              
    preg_match('/(.+)\/(.+)$/isU',$fm[1],$faddr);

              
    $s2=new websock($faddr[1],80,0);
              
    $ret=$s2->get('/'.$faddr[2],'',$cook,"http://vkontakte.ru/");
              unset(
    $s2);

              
    $f2=fopen("group/$gid/$alb/{$gid}_{$ph[1][$i]}.jpg","w");
              if(!
    $f2)
              {
                
    print_flush('Не удалось создать файл.');
              }
              else
              {
                
    fputs($f2,$ret[1]);
                
    fclose($f2);
              }

              
    print_flush('Готово');
            }
          }


          
    print_flush('Список фотографий сохранен.');




    Повторялся например 5 раз и $st увеличивалас на 20
     
  7. phpdreamer

    phpdreamer Member

    Joined:
    26 Jul 2009
    Messages:
    522
    Likes Received:
    86
    Reputations:
    19
    $st это многомерный массив с результатами выборки по регулярному выражению...
    как ты его собираешься увеличивать?
     
  8. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    нет это уже string!
    почитай про setype();

    Пример!

    PHP:
    $a '1'//string
    setype($a'integer'); //перевод в integer
     
  9. real_kas

    real_kas Member

    Joined:
    22 Mar 2007
    Messages:
    40
    Likes Received:
    7
    Reputations:
    5
    А возможно ли сопоставить дни недель так, чтобы к примеру дни начиная с первого сентября (с 1 сен до субб (включительно)) были например верхней неделей, а со следующего понедельника по субботу - нижней неделей. И так далее, до мая.

    Как сопоставить все дни, исходя из начальной даты (первого сентября)?

    Есть ли у кого идеи?
     
  10. real_kas

    real_kas Member

    Joined:
    22 Mar 2007
    Messages:
    40
    Likes Received:
    7
    Reputations:
    5
    Пришлось коноё**ться через одно место типа:

    PHP:
    <?php
    $year 
    date("Y");
    $month date("M");
    //$day= date("d");
    //echo $month;

    if($year == 2010) {

    if(
    $month == May) {
        if (
    $day == || $day >= 10 && $day <= 15 || $day >= 24 && $day <= 29) echo "<h1>B</h1>";
        if (
    $day >= && $day <= || $day >= 17 && $day <= 22 || $day == 31) echo "<h1>H</h1>";
    }

    if(
    $month == Jun) {
        if (
    $day >= && $day <= || $day >= 14 && $day <= 19 || $day >= 28 && $day <= 30) echo "<h1>H</h1>";
        if (
    $day >= && $day <= 12 || $day >= 21 && $day <= 26) echo "<h1>B</h1>";
    }

    if(
    $month == Sep) {
        if (
    $day >= && $day <= || $day >= 13 && $day <= 18 || $day >= 27 && $day <= 30) echo "<h1>B</h1>";
        if (
    $day >= && $day <= 11 || $day >= 20 && $day <= 25) echo "<h1>H</h1>";
    }

    if(
    $month == Oct) {
        if (
    $day >= && $day <= || $day >= 11 && $day <= 16 || $day >= 25 && $day <= 30) echo "<h1>B</h1>";
        if (
    $day >= && $day <= || $day >= 18 && $day <= 23) echo "<h1>H</h1>";
    }

    if(
    $month == Nov) {
        if (
    $day >= && $day <= || $day >= 15 && $day <= 20|| $day >= 29 && $day <= 30) echo "<h1>H</h1>";
        if (
    $day >= && $day <= 13 || $day >= 22 && $day <= 27) echo "<h1>B</h1>";
    }

    if(
    $month == Dec) {
        if (
    $day >= && $day <= || $day >= 13 && $day <= 18|| $day >= 27 && $day <= 31) echo "<h1>H</h1>";
        if (
    $day >= && $day <= 11 || $day >= 22 && $day <= 27) echo "<h1>B</h1>";
    }

    }
    //end 2010
     
    1 person likes this.
  11. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    PHP:
    switch($page){
    case 
    'trtrtr':
    print_r($array);
    break;

    case 
    'ususus':
    for(
    $i 0$i<=2$i++){
    $array[$i] = 'test';
    }
    break;
    }
    В page=ususus
    Заполняется массив.
    А как потом обратиться из page=trtrtr
    к массиву $array ?
    Подскажите пожалуйста
     
    #15131 SeNaP, 14 May 2010
    Last edited: 14 May 2010
  12. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    не совсем понял, что ты подразумеваешь, под обращением к массиву? print_r это и есть обращение =\
    PHP:
    <?php
    switch($page){
    case 
    'trtrtr':
     foreach(
    $array as $key=>$value)
      echo 
    $key.") ".$value."<br>\n";
    break;

    case 
    'ususus':
     
    $array array_fill(0,2'test');
    break;
    }
    ?>
     
  13. SeNaP

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

    Joined:
    7 Aug 2008
    Messages:
    378
    Likes Received:
    69
    Reputations:
    20
    Проблема в том, что массив как бэ пустой в case 'trtrtr':
    Code:
    Warning: Invalid argument supplied for foreach() in 
    
     
  14. Failure

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

    Joined:
    21 Sep 2008
    Messages:
    179
    Likes Received:
    46
    Reputations:
    16
    Естественно если $page меняется при GET/POST запросе то $array будет пуст.
    Если тебе надо что бы увидеть его можно было только после просмотра ususus
    то для этого есть куки/сессии. Представим что нам плевать на юзабилити, и вообще мы больные люди, будет примерно так:
    PHP:
    <?php
    session_start
    ();
     
    $array array_fill(02'test');
    ...
    switch(
    $page) {
    case 
    'trtrtr':
     if(
    $_SESSION['can_look'] == 1print_r($array);
     else echo 
    "не не, ты с начало ususus посмотри";
    break;

    case 
    'ususus':
     
    $_SESSION['can_look'] = 1;
    break;
    }
    ?>
     
    1 person likes this.
  15. #Wolf#

    #Wolf# Elder - Старейшина

    Joined:
    26 Mar 2008
    Messages:
    375
    Likes Received:
    166
    Reputations:
    16
    PHP:
    function num($n,$val){
    $i=0;
    $n=str_split($n);
    $count=count($n);
    $col=$count-$val;
    while(
    $count!=$col){
    $a[$i]=$n[$count-1];$count--;$i++;
    }
    array_reverse($a);
    foreach(
    $a as $v$num.=$v;
    return 
    $num;
    }
    $n=123456;
    $val=2;
    функция вернет 56.
    ну я думаю смысл понятен. возвращает $val строк с конца $n.
    можно ли это было сделать рациональней/короче/лучше?
     
  16. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    $n=123456;
    $val=2;

    print substr($n, -$val);
     
    _________________________
    2 people like this.
  17. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Как, с помощью gd library, закрасить чёрным цветом определённый участок изображения ? (например нижний правый угол)
     
  18. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
  19. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    ZenstatioN всегда сохранять дату последнего логина и делать выборку по дате

    #Wolf# для текста - написал Kaimi, для чисел:
    PHP:
    $n=123456;
    $val=2;
    return 
    $n pow(10$val);
    Исправлено, спасибо roxblnfk
     
    _________________________
    #15139 Gifts, 15 May 2010
    Last edited: 16 May 2010
    1 person likes this.
  20. geforce

    geforce Member

    Joined:
    21 Aug 2008
    Messages:
    300
    Likes Received:
    26
    Reputations:
    -5
    PHP:

    $im 
    imagecreatetruecolor($width$heigth);
    $im1 imagecreatefromjpeg('картинка с чёрным.jpg');
    imagecopy($im,$im1кординаты в каком месте её лепить);

     
Thread Status:
Not open for further replies.