Соединяешься допустим с 2ip.ru Потом парсишь ип,который он покажет и сравниваешь: -Если такой же-то прозрачный -Если другой и ничего не написано-анонимный и т.д.
Что не так в коде: PHP: <?php $catalogs = file_get_contents("spisok.txt"); $catalogs = explode(" ", $catalogs); $size = count($catalogs); for ($i=0; $i<$size; $i++) { echo $catalogs["$i"] . "<br>"; } ?> Почему то не создает массив, а остается строка.
А пробелы есть в файле? Попробуйте PHP: $catalogs = file_get_contents("spisok.txt"); $arr = explode(" ", $catalogs); print_r($arr);
Что лучше использовать: steam_context, socket или cURL? С точки зрения быстродействия и нагрузки. Или зависит от конкретной задачи? Если да, то как выбрать, что использовать. Спасибо.
SHiNiGaMi все программы сводятся к вызову машинных команд - пишите на ассемблере? AnGeI для HTTP протокола - CURL, для прочего - socket
Добрый день. Объясните пожалуйста построчно следующий код. Особенно не понятен второй цикл, прерывание, логика подсчета и вывода числа не понятна так же, если прерывать первый цикл, тоесть 2чку убрать, (выводит 95) Заранее спасибо за разжевывание. PHP: <?php for ($i=1; $i<=10; $i++) { for ($j=1; $j<=10; $j++) { $sum++; if (($j + ($i - 1) * 10) == 55) break 2; } } echo $sum; ?>
Nilamop Привет, PHP: <?php for($i = 1; $i <= 10; $i ++) # Цикл 1 (СТАРТ = 1, КОНЕЦ = 10, ШАГ = 1) { for($j = 1; $j <= 10; $j ++) # Цикл 2 (СТАРТ = 1, КОНЕЦ = 10, ШАГ = 1) { $sum ++; # Инкрименирует Сумму (Аналог того, что быдает If-условие) if (($j + ($i - 1) * 10) == 55) break 2; # Выпрыгивает из цикла 2-ого уровня (Цикл 1) } } echo $sum; ?> Для наглядности можно дописать выдачу каждого шага: PHP: <?php for($i = 1; $i <= 10; $i ++) # Цикл 1 (СТАРТ = 1, КОНЕЦ = 10, ШАГ = 1) { echo "I = " . $i . "<br>"; for($j = 1; $j <= 10; $j ++) # Цикл 2 (СТАРТ = 1, КОНЕЦ = 10, ШАГ = 1) { echo "J = " . $j . "<br>"; $sum ++; # Инкрименирует Сумму (Аналог того, что быдает If-условие) echo "sum = " . $sum . "<br>"; if (($j + ($i - 1) * 10) == 55) break 2; # Выпрыгивает из цикла 2-ого уровня (Цикл 1) } } echo $sum; ?> В итоге мы получим такую схему выполнения действий: PHP: I = 1 J = 1 sum = 1 J = 2 sum = 2 J = 3 sum = 3 J = 4 sum = 4 J = 5 sum = 5 J = 6 sum = 6 J = 7 sum = 7 J = 8 sum = 8 J = 9 sum = 9 J = 10 sum = 10 I = 2 J = 1 sum = 11 J = 2 sum = 12 J = 3 sum = 13 J = 4 sum = 14 J = 5 sum = 15 J = 6 sum = 16 J = 7 sum = 17 J = 8 sum = 18 J = 9 sum = 19 J = 10 sum = 20 I = 3 J = 1 sum = 21 J = 2 sum = 22 J = 3 sum = 23 J = 4 sum = 24 J = 5 sum = 25 J = 6 sum = 26 J = 7 sum = 27 J = 8 sum = 28 J = 9 sum = 29 J = 10 sum = 30 I = 4 J = 1 sum = 31 J = 2 sum = 32 J = 3 sum = 33 J = 4 sum = 34 J = 5 sum = 35 J = 6 sum = 36 J = 7 sum = 37 J = 8 sum = 38 J = 9 sum = 39 J = 10 sum = 40 I = 5 J = 1 sum = 41 J = 2 sum = 42 J = 3 sum = 43 J = 4 sum = 44 J = 5 sum = 45 J = 6 sum = 46 J = 7 sum = 47 J = 8 sum = 48 J = 9 sum = 49 J = 10 sum = 50 I = 6 J = 1 sum = 51 J = 2 sum = 52 J = 3 sum = 53 J = 4 sum = 54 J = 5 sum = 55 55
при заливке форума на хостинг выдает ошибку Parse error: syntax error, unexpected '=', expecting '(' in bootstrap.php on line 60 // Turn on error reporting error_reporting(E_ALL & ~E_NOTICE); // Legacy system constants define('CSRF_PROTECTION', true); define('VB_AREA', 'Forum'); // Don't use the usual WOLPATH resolution define('SKIP_WOLPATH', 1); // Legacy info // TODO: Load the cms phrasegroup elsewhere $phrasegroups = array('vbcms'); // Bootstrap to the legacy system require('./includes/class_bootstrap.php'); $bootstrap = new vB_Bootstrap(); $bootstrap->datastore_entries = array('routes'); $bootstrap->bootstrap(); /*MVC Bootstrap=====================================================================*/ // Notify includes they are ok to run if (!defined('VB_ENTRY')) { define('VB_ENTRY', 1); } // Get the entry time define('VB_ENTRY_TIME', microtime(true)); // vB core path define('VB_PATH', realpath(dirname(__FILE__)) . '/'); // The package path define('VB_PKG_PATH', realpath(VB_PATH . '../packages') . '/'); // Bootstrap the framework require_once(VB_PATH . 'vb.php'); vB::init(); if (defined('VB_API') AND VB_API === true) { // Force vB::$vbulletin->options['route_requestvar'] to 'r' for API. vB::$vbulletin->options['route_requestvar'] = 'r'; } // Get routed response print_output(vB_Router::getResponse()); помогите пофиксить ошибку
gasterBaiter это явно не полный код. Ошибка указывает на 60 строку. Даже со слэшами php там 60 строк не будет
<?php /*======================================================================*\ || #################################################################### || || # vBulletin 4.1.0 Patch Level 2 || # ---------------------------------------------------------------- # || || # Copyright 2000-2010 vBulletin Solutions Inc. All Rights Reserved. || || # This file may not be redistributed in whole or significant part. # || || # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # || || # http://www.vbulletin.com | http://www.vbulletin.com/license.html # || || #################################################################### || \*======================================================================*/ /*Legacy Bootstrap==================================================================*/ // Turn on error reporting error_reporting(E_ALL & ~E_NOTICE); // Legacy system constants define('CSRF_PROTECTION', true); define('VB_AREA', 'Forum'); // Don't use the usual WOLPATH resolution define('SKIP_WOLPATH', 1); // Legacy info // TODO: Load the cms phrasegroup elsewhere $phrasegroups = array('vbcms'); // Bootstrap to the legacy system require('./includes/class_bootstrap.php'); $bootstrap = new vB_Bootstrap(); $bootstrap->datastore_entries = array('routes'); $bootstrap->bootstrap(); /*MVC Bootstrap=====================================================================*/ // Notify includes they are ok to run if (!defined('VB_ENTRY')) { define('VB_ENTRY', 1); } // Get the entry time define('VB_ENTRY_TIME', microtime(true)); // vB core path define('VB_PATH', realpath(dirname(__FILE__)) . '/'); // The package path define('VB_PKG_PATH', realpath(VB_PATH . '../packages') . '/'); // Bootstrap the framework require_once(VB_PATH . 'vb.php'); vB::init(); if (defined('VB_API') AND VB_API === true) { // Force vB::$vbulletin->options['route_requestvar'] to 'r' for API. vB::$vbulletin->options['route_requestvar'] = 'r'; } // Get routed response print_output(vB_Router::getResponse()); /*======================================================================*\ || #################################################################### || # NulleD By - FintMax || # SVN: $Revision: 28749 $ || #################################################################### \*======================================================================*/
Привет. Есть проблема. Флудят через формы обьявлений на сайте. (Капча есть) Вопрос. Как можно сделать лимит - на отправку сообщений по времени И если возможно - блокировка айпи ? если к примеру один и тот же IP отсылает по разным формам мессаги ? Как лучше сделать ? Спасибо
получаешь дату последнего добавления. $x = date(); тут вносишь ее в бд вместе с IP при след.добавлении проверяешь по IP дату. если она меньше лимита - то отклоняешь. типа: $ip = $_REQUEST[REMOTE_ADDR]; $date = date(); выбираешь из бд... WHERE ip='$ip' и сравниваешь дату. if ($date < $limit) { отклон } вносишь в бд новые данные
Разобрался немного, но не до конца. Как понимаю, после 55 итерации происходит break 2, соотвецтвенно выводится 55. А если убрать 2 возле break; то выводится 95, тоесть выпрыгивается с двух циклов или только 1го уровня(Цикла 2)? Непонятно, почему именно 95 выводит, в чем ограничение. Или же 95 это максимальное количество итераций исходя из заданных переменных? Подскажите уже до конца, с меня +
Да, останавливается ЦИКЛ 1, т.е внешний ЦИКЛ. После него стоит лишь вывод суммы - echo $sum; - и никаких действий. С - break - выполняемое действие выпрыгивает из текущего цикла, что в данном случае является ЦИКЛ 2. Сам скрипт можно представить следующим образом: [*] Вызывается ЦИКЛ 1 [*] СТАРТ (начальное число = 1) [*] ЦИКЛ 2 начинает работать и прогоняет числа от 1 до 10 (согласно условию) [*] Когда ЦИКЛ 2 закончил считать до 10, он завершает свою работу, ибо условие ($j <= 10 (до 10)) [*] Очередь переходит опять к ЦИКЛУ 1. Так как предыдущая цифра была 1, а шаг из условия равен 1, то следующая цифра будет 2. [*] ЦИКЛ 1 передает конроль ЦИКЛУ 2, который снова отсчитывает от 1 до 10. В это время идет подсчет Суммы (Инкримент +1 за каждый шаг.) При "break 2" ЦИКЛ 1, т.е внешний ЦИКЛ, останавливается (Условие: sum = 55 -> остановка скрипта) При "break " останавливется текущий ЦИКЛ 2 (при сумме равной 55), (I = 6; J = 5; sum = 55). [*] Контроль переходит обратно к ЦИКЛУ 1, в котором происходит повышение I на 1. Пока не будут выполены основные условия обоих циклов (I = 10; J = 10), скрипт не прекратит работать. P.S. В этоге мы имеем Сумму равной 95 потому, что ЦИКЛ 2 прекратил счет на J = 5 на 6 круге ЦИКЛА 1.
Доброго времени суток. Проблема вот в чем: Сайт создан на Wordpress. Все страницы загружаются нормально, а записи при переходе с главной грузятся по 20-30 секунд, причем без разницы 1 строчка там написана, или огромная статья + видео и фото - загружаются одинаково долго. Вот пример: http://тахтаров.рф/?p=164
как написать функцию, что бы заходило на определенный сайт $site, и качало файл который выдаёт автозагрузкой на этой странице и сохранял его. Авторизироваться не надо.
есть у кого-нибудь читалка писем на рамблере через imap/pop3? или что я делаю не так Code: imap_open('{mail.rambler.ru:993/imap/ssl}INBOX', '[email protected]', 'passwd',OP_READONLY)