Каким образом можно к определённой странице запретить доступ определённому ip, который выполнил некоторые действия? Точнее не запретить, а просто выводить некое сообщение. Запись в бд ip и затем извлечение от туда не катит.
2 SeNaP в скрипте Code: set_time_limit(0) убери, и увидишь в чем трабл 2 programming ну если этакая защита не критична, то как вариант при заходе на страницу присваивать куку, и проверять если она есть то ..., а если нет - то... PHP: <?php if(isset($_COOKIE['ban'])) die('Сори, вы тут уже были'); else setcookie('ban', true, time()+3600); //1 час .... ?> ну а если критично то записывать ип в файл/бд, и проверять каждый раз при заходе на страницу.
PHP: <?php $a = 2; var_dump($a); $a = '2'; var_dump($a); ?> результат Code: int(2) string(1) "2" =\ мб попробуешь в начале на php.net искать, а потом тут?
Подскажите как сделать чтобы этот скрипт 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
$st это многомерный массив с результатами выборки по регулярному выражению... как ты его собираешься увеличивать?
нет это уже string! почитай про setype(); Пример! PHP: $a = '1'; //string setype($a, 'integer'); //перевод в integer
А возможно ли сопоставить дни недель так, чтобы к примеру дни начиная с первого сентября (с 1 сен до субб (включительно)) были например верхней неделей, а со следующего понедельника по субботу - нижней неделей. И так далее, до мая. Как сопоставить все дни, исходя из начальной даты (первого сентября)? Есть ли у кого идеи?
Пришлось коноё**ться через одно место типа: PHP: <?php $year = date("Y"); $month = date("M"); //$day= date("d"); //echo $month; if($year == 2010) { if($month == May) { if ($day == 1 || $day >= 10 && $day <= 15 || $day >= 24 && $day <= 29) echo "<h1>B</h1>"; if ($day >= 3 && $day <= 8 || $day >= 17 && $day <= 22 || $day == 31) echo "<h1>H</h1>"; } if($month == Jun) { if ($day >= 1 && $day <= 5 || $day >= 14 && $day <= 19 || $day >= 28 && $day <= 30) echo "<h1>H</h1>"; if ($day >= 7 && $day <= 12 || $day >= 21 && $day <= 26) echo "<h1>B</h1>"; } if($month == Sep) { if ($day >= 1 && $day <= 4 || $day >= 13 && $day <= 18 || $day >= 27 && $day <= 30) echo "<h1>B</h1>"; if ($day >= 6 && $day <= 11 || $day >= 20 && $day <= 25) echo "<h1>H</h1>"; } if($month == Oct) { if ($day >= 1 && $day <= 2 || $day >= 11 && $day <= 16 || $day >= 25 && $day <= 30) echo "<h1>B</h1>"; if ($day >= 4 && $day <= 9 || $day >= 18 && $day <= 23) echo "<h1>H</h1>"; } if($month == Nov) { if ($day >= 1 && $day <= 6 || $day >= 15 && $day <= 20|| $day >= 29 && $day <= 30) echo "<h1>H</h1>"; if ($day >= 8 && $day <= 13 || $day >= 22 && $day <= 27) echo "<h1>B</h1>"; } if($month == Dec) { if ($day >= 1 && $day <= 4 || $day >= 13 && $day <= 18|| $day >= 27 && $day <= 31) echo "<h1>H</h1>"; if ($day >= 6 && $day <= 11 || $day >= 22 && $day <= 27) echo "<h1>B</h1>"; } }//end 2010
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 ? Подскажите пожалуйста
не совсем понял, что ты подразумеваешь, под обращением к массиву? 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; } ?>
Проблема в том, что массив как бэ пустой в case 'trtrtr': Code: Warning: Invalid argument supplied for foreach() in
Естественно если $page меняется при GET/POST запросе то $array будет пуст. Если тебе надо что бы увидеть его можно было только после просмотра ususus то для этого есть куки/сессии. Представим что нам плевать на юзабилити, и вообще мы больные люди, будет примерно так: PHP: <?php session_start(); $array = array_fill(0, 2, 'test'); ... switch($page) { case 'trtrtr': if($_SESSION['can_look'] == 1) print_r($array); else echo "не не, ты с начало ususus посмотри"; break; case 'ususus': $_SESSION['can_look'] = 1; break; } ?>
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. можно ли это было сделать рациональней/короче/лучше?
Как, с помощью gd library, закрасить чёрным цветом определённый участок изображения ? (например нижний правый угол)
ZenstatioN всегда сохранять дату последнего логина и делать выборку по дате #Wolf# для текста - написал Kaimi, для чисел: PHP: $n=123456; $val=2; return $n % pow(10, $val); Исправлено, спасибо roxblnfk
PHP: $im = imagecreatetruecolor($width, $heigth); $im1 = imagecreatefromjpeg('картинка с чёрным.jpg'); imagecopy($im,$im1, кординаты в каком месте её лепить);