Всем привет. Такой вопрос. Есть код вьіборки инфьі с БД и потом в цикле while идет формирование массива PHP: $c[] = array('character' => array ('cid' => "$row[cid]", 'name_c' => "$row[ukr_name_c]", 'seyuu' => array('pid' => "$row[pid]", 'name_p' => "$row[ukr_name]"))); Как видно со скриншота, значению cid может соответствовать несколько pid. Сейчас в масиве идет "дублирование" данньіх. То есть каджьій раз cid повторяеться то тока с разньіми pid. Как построить фильтр, чтобьі масив бьіл [cid] => 2 [name_c] => МАКІШІМА Шьооґo [seyuu] => Array ( [pid] => 2 [name_p] => Сакурай Такахірo [pid] => 3 [name_p] => Ханадзава Кана )
народ как получить список файлов в папке( папка весит 500 мб) glob - не предлагать виснет при получении списка
Пишу XML парсер, столкнулся с проблемой. Вот дошел до чего, print_r($x); выводит: PHP: SimpleXMLElement Object ( [@attributes] => Array ( [id] => 1852 [feedContents] => 0 ) [0] => Carioca ) SimpleXMLElement Object ( [@attributes] => Array ( [id] => 4711 [feedContents] => 0 ) [0] => CarNationsC ) Атрибуты получить я знаю как. А как получить вот это [0] => CarNationsC? Пробовал вот так print_r($x->0); и так print_r($x['0']); Не помогает. Подскажите пожалуйста.
Нужно чтобы данные из html формы сравнивались с каждым элементом массива. Если совпадает, то выводятся данные из формы. Грубо говоря поиск по массиву. Написал вот такой php скрипт: PHP: <form action="test.php" method="POST"> <input type="text" name="user" /><br> <input type="submit" value="login" /> </form> <?php $user = $_POST['user']; $file = array('one', 'two', 'three'); $size = 2; $i = 0; while($i<=$size){ if($file[$i] = $user){ echo $file[$i]; } else { echo 'no'.'<br>'; } $i++; } ?> Когда я ввожу в форму одно из значений массива, мне оно выводиться, но 3! раза. Почему так? Может есть какой-то другой способ поиска в массиве? Спасибо.
Еще один вопрос: CodeIgniter ругается: PHP: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'F II, 'Soccer')' at line 1 INSERT INTO `sport_league` (`leag`, `name`, `game_name`) VALUES (5979, Club F II, 'Soccer') В чем же ошибка? запрос такой: PHP: $this->db->insert('sport_league', array('leag' => $l['id'],'name' => $l['name'], 'game_name' => $l['game_name']));
Недавно писал скрипт добавления комментариев и напоролся на такую вещь: Не знал как определить пользователя который добавляет комментарий если смотреть по кукисам логин(к примеру хотим узнать что именно админ добавил коммент)... Но что, если кто то себе в кукисы пропишет LOGIN : Admin ? Получается он сможет написать любой комментарий от имени админа! Единственный выход который я вижу, это проверять и его пароль с паролем в базе данных. Но в таком случае придется каждый раз нагружать базу данных доп. запросом. Должен же быть другой выход или все только так и делают ?
В сессии имя хронить. В кукисы писать не LOGIN : Admin а просто какй-то идентефикатор который в БД хранится, и все...
Каким кодом можно отследить ботов на сайте? То есть занимаюсь арбитражем, лью через тизерную сеть на свою прокладку (слежу через ГА), заинтересовал вопрос отлова ботов.. Стандартные решения с невидимой точкой, невидимой ссылкой не подойдут, т.к уже не актуально по моему..Боты умные стали Зарание спасибо. Если не сложно напишите в личку поподробней)(т.к я вообще "Нуль" в написании скриптов и прочего)
добрые люди как можно справиться с запросом к базе данных (база из 100 тысяч строк), надо чтобы можно было обратить к такому большому массиву возможна ли при таком запросе использовать Итераторы объектов?
убрать рандом, сделать очерёдность Время доброе всем. собсно по сабжу, есть такой script.php(ниже) как видно аккаунты берутся из файла accs, но берутся они рандомно и с одного аккаунта отправляет по несколько раз, и сам вопрос , подскажите плз - как сделать , чтобы и файла с аккаунтами бралось поочередно по одному аккаунту, и отсылалось только по одному разу с него? сам скрипт: PHP: <?php $accs = 'accs.txt'; здесь некий код, не по делу... $f_contents = file($accs); $line = $f_contents[array_rand($f_contents)]; $data = $line; $temp = explode(':', $data); $login = trim($temp[0]); $pass = trim($temp[1]); $count_sends = trim($temp[2]); здесь опять некий код, не по делу... if($sendсообщение->sendMessage("$value", $messahetosend )) { $cdate=date("m.d.y G:i:s"); file_put_contents($log, "$cdate - $login => $value Message: $messahetosend sent.\n", FILE_APPEND | LOCK_EX); $file_contents = file_get_contents($accs); if ($count_sends == ""){ $new_count_sends="1"; $file_contents = str_replace("$login:$pass","$login:$pass:$new_count_sends",$file_contents); } else{ $new_count_sends=$count_sends+1; if ($new_count_sends == "5"){ $file_contents = str_replace("$login:$pass:$count_sends\n","",$file_contents); $file_contents = str_replace("\n$login:$pass:$count_sends","",$file_contents); $file_contents = str_replace("$login:$pass:$count_sends","",$file_contents); } else{ $file_contents = str_replace("$login:$pass:$count_sends","$login:$pass:$new_count_sends",$file_contents); } } file_put_contents($accs,$file_contents); } } ?>
PHP: $line = $f_contents[array_rand($f_contents)]; Замени на PHP: $line = $f_contents[$i]; $i соотв либо в теле цикла увеличивай, либо используй for
есть два файла 1 - id:hash 2 - hashass нужно получить третий файл формата id:hashass или idass то есть сравнить строки в двух файлах и строки у которых первые 32 символа совпадают записать в виде id:hashass или idass в третий файл. может у кого есть решение готовое? на php да или пофиг на чем. очень надо помогите.
загоняешь оба файла в массив потом загоняешь с каждого массива по 32 символа в строчки потом просто сравниваешь а потом регуляркой парсишь и записываешь в таком виде в каком хоч в помощь GOOGLE filegetcontents() implode() preg_match() fputs()