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

Byrger
24.12.2008, 12:31
Через сайт получилось так, но всё равно не заходит

user:aaAN1ZUwjW7to


Содержание .htaccess:

Options +Includes +FollowSymLinks -Indexes
AddHandler server-parsed .shtml
DirectoryIndex index.shtml index.htm index.php index.html
AddDefaultCharset windows-1251
CookieTracking on
CookieExpires "1 years"

<Files "index.php">
AuthName "Access restricted."
AuthType Basic
AuthUserFile /www/htdocs/.htpasswd
Require valid-user
</Files>
Может у меня путь кривой до файла с паролями?

Попробовал
AuthUserFile /.htpasswd
не помогло

Pashkela
24.12.2008, 13:06
кривой, путь должен абсолютный и полный, узнать можно так:


<?
@ini_set("display_errors","1");
Echo 1/0;
?>


+ здесь:

http://www.ifstudio.org/seo/crypt.php

Byrger
24.12.2008, 13:15
Видимо хост запрещает этот скрипт....
Но если приписать /www/htdocs/.htpasswd (как в FTP)
То не получеатся ничего

b3
24.12.2008, 13:16
кривой, путь должен абсолютный и полный, узнать можно так:
Вы о етом пути?
<?php echo $_SERVER["DOCUMENT_ROOT"]; ?>

.:EnoT:.
24.12.2008, 13:26
Фаил .htpasswd я создал и занёс пароли через прогу
Но почемуто пароль не подходит...
Писал так:
C:\adenki.ru\htpasswd.exe -mc .htpasswd user
там вводил пароль :123456

В фойле получилось такое:
user:$apr1$Q/2.....$xkh4ilfOTuG4z7Ym0Jkda1
вообще данные заносятся так в htpasswd:
login1:pass1
login2:pass2
etc..
в чистом виде

И всё у тебя должно работать. И файл htpasswd совсем не обязательно хранить в той же дире что и скрипт, даже лучше вообще не хранить там.

Byrger
24.12.2008, 13:29
Вы о етом пути?
<?php echo $_SERVER["DOCUMENT_ROOT"]; ?>
Спасибо, помог
Вопрос исчерпан

#Wolf#
24.12.2008, 13:31
в чистом виде


однажды голову ломал над этим вопросом.
помогло примерно такое
user:$apr1$Q/2.....$xkh4ilfOTuG4z7Ym0Jkda1

D0S
24.12.2008, 15:49
authorisation.php
<?php
include_once("connect.php");
if (isset($_POST['login']) && isset($_POST['password']))
{
$login = mysql_real_escape_string($_POST['login']);
$password = md5($_POST['password']);

// делаем запрос к БД и ищем юзера с таким логином и паролем

$query = "SELECT `id`
FROM `users`
WHERE `login`='{$login}' AND `password`='{$password}'
LIMIT 1";
$sql = mysql_query($query) or die(mysql_error());

// если такой пользователь нашелся то ставим об этом метку в сессии (допустим ID)
if (mysql_num_rows($sql) == 1) {

$row = mysql_fetch_assoc($sql);
$_SESSION['user_id'] = $row['id'];

print 'Авторизировались.';
}
else {
die('Такой логин с паролем не найдены в базе данных.');
}
}
?>
Вообще не силен в пхп. Вопрос как правильно сессию передать в somefile.php и вообще на другие страницы после авторизации, чтобы получилось аля:
somefile.php
<?php
if (isset($_SESSION['user_id'])) {
// показываем защищенные от гостей данные.
print 'Привет %юзернейм%!';
}
else {
die('Ты не авторизован.');
}
?>

NuR
24.12.2008, 16:02
в начало скрипта пропиши session_start(); этим ты создашь новую сессию или откроешь существующую. а вобще лучше доку изучи http://ru2.php.net/session_start

ZirroCool
24.12.2008, 16:23
Всем здрасте есть такой вот вопрос!
Есть форма с 2 полями и кнопкой, мне нужно отправить пост запрос к скрипту также как это делает форма и получить ответ!

исходник странички с формой

</HEAD><BODY>
<!--
<form action=/accb9a90a9afaf43ad5976fedd38cbec0a3b640c8b2d5497a7 45a63d970b9e75 method="POST">
<input onclick="highlight(this);" type=text name=searchdata value="">
<input type=submit value="Искать IP\MAC">
<input type=hidden name="action" value="search">
</form>
<br>
-->


<form action=/accb9a90a9afaf43ad5976fedd38cbec0a3b640c8b2d5497a7 45a63d970b9e75 name="searchdata_mass" method="post">
<input type=hidden name="action" value="search_mass">
<textarea onclick="highlight(this);" name="searchdata_mass" rows="15" cols="100"></textarea>
<br>
Начиная с: <input type="text" value='2006-01-01 01:01:01' name='time_for_search_as_filter'>
<input type=submit value="Искать IP\MAC"></form>



<tt><table cellspacing=2 border=1></table ></tt>
</BODY></HTML>



Прочитал много инфы но так и не допер как это сделать! =(
Помогите пжалста!

NuR
24.12.2008, 16:57
забиваешь в гугл, первая ссылка http://i-vd.org.ru/books/php/forms.shtml довольно подробно все расписанно

ZirroCool
24.12.2008, 17:12
Меня не совсем правильно поняли!
Нужно чтото вроде этого только я не понимаю как передать переменные в моем случае:


<?
$url = "http://test.ru/patch/file.php?var=23&var2=54"; // это адрес, по которому скрипт передаст данные методом POST. Как видно, здесь указаны переменные, которые будут переданы через GET
$parse_url = parse_url($url); // при помощи этой функции разбиваем адрес на массив, который будет содержать хост, путь и список переменных.
$path = $parse_url["path"]; // путь до файла(/patch/file.php)
if($parse_url["query"]) // если есть список параметров
$path .= "?" . $parse_url["query"]; // добавляем к пути до файла список переменных(?var=23&var2=54)
$host= $parse_url["host"]; // тут получаем хост (test.ru)
$data = "var3=test&var4=".urlencode("еще тест"); // а вот тут создаем список переменных с параметрами. Эти данные будут переданы через POST. Все значения переменных обязательно нужно кодировать urlencode ("еще тест")

$fp = fsockopen($host, 80, $errno, $errstr, 10);
if ($fp)
{

$out = "POST ".$path." HTTP/1.1\n";
$out .= "Host: ".$host."\n";
$out .= "Referer: ".$url."/\n";
$out .= "User-Agent: Operan";
$out .= "Content-Type: application/x-www-form-urlencoded\n";
$out .= "Content-Length: ".strlen($data)."\n\n";
$out .= $data."\n\n";

fputs($fp, $out); // отправляем данные

// после отправки данных можно получить ответ сервера и прочитать информацию выданную файлом, в который отправили данные...
// читаем данные построчно и выводим их. Конечно, эти данные можно использовать по своему усмотрению.
while($gets=fgets($fp,2048))
{
print $gets;
}
fclose($fp);
}
?>

Mixon
24.12.2008, 17:42
У меня есть несколько вопросов.
1.Вопшем есть один сайт,к нему скрипт должен коннектится через file_get_contents вопшем вопрос таков,как делать чтобы в скрипте были задны куки для етого сайта,и он их использовал для етого сайта,и чтобы когда с сайта возврашались новые данные в куки то они тоже начинали использоватся,толи они сохранялись бы отдельно и использовались толи времмено гдето,ето уже как удобнее будет...

2.Как когда к сайту через file_get_contents коннектитсо,и на странице есть поля с пост запросом,то при отсылке их они же отсылаются как бы в етот скрипт мой,а не на етот сайт,и на сайт никакие данные не приходят,как ето можно исправить,чтобы загружался скрипт но и данние в POST запросе отсылались на сервер??

Mixon
24.12.2008, 17:55
ChaaK,ты бы хотя бы написал,к какомму ето вопросу и кому ето вопше ты написал,есле ты ето мне то думаю ко второму,так есле ты пример дал,так уже весь бы скрипт выложил бы,вот например ета строчка

"content" => $req,

етой переменной в етой части кода вопше нету,а что в ней неизвестно....

Chaak
24.12.2008, 18:07
ChaaK,ты бы хотя бы написал,к какомму ето вопросу и кому ето вопше ты написал,есле ты ето мне то думаю ко второму,так есле ты пример дал,так уже весь бы скрипт выложил бы,вот например ета строчка

"content" => $req,

етой переменной в етой части кода вопше нету,а что в ней неизвестно....
http://php.ru/manual/php/html/function.stream-context-create.html

кури

В результате получится:

<?php

$opts = array(
'http'=>array(
'method'=>'POST',
'header'=>"Cookie: aaa=cookie",
'content'=>'somth_post=1234'
)
);
$context = stream_context_create($opts);
echo file_get_contents('http://127.0.0.1/index.php',0,$context);

?>
объясню:
есть массив opts с дополнительными пакетами, внутри него - http - заголовки(т.е данные передающиеся по http протоколу).

method отвечает за метод, тобишь GET/POST/HEAD etc.

header - все дополнительные заголовки разделенные между собой \r\n (10 и 13 символ ASCII кода).

content - это данные которые ты передаешь серверу, т.е post ну или любые другие. В данном случае post.

Затем, мы записываем функцией stream_context_create в переменную с ресурсом - $context, затем в параметрах file_get_contents(третий параметр) добавляем этот ресурс.

Понятно?

P.S Без знаний http-протокола нечего соваться, куда не следует. Читай мануалы/RFC

astrologer
24.12.2008, 19:22
method отвечает за метод, тобишь GET/POST/COOKIE etc. Метод COOKIE?

Mixon
24.12.2008, 19:59
'header'=>"Cookie: aaa=cookie",


А вот тут можно по подробнее, Cookie: ето обязательный аргумент? и как есле нужно несколько разных значений вставить,чем розделять? Да и я писал чтобы когда сервер есче высылает новые куки то он их принемал,и начинал использовать и их...

Chaak
24.12.2008, 20:56
Не обязательный это заголовок, но если тебе нужно их отправить, то без cookie не обойтись.

Формат такой:
Параметр1=значение1;парамет р2=значение2;

Ну и т.д через ";"

Регулярка для вытаскивания кук:
#Set-cookie: (.*?);#uism

Byrger
25.12.2008, 13:08
А какие переменные нужно проверять и как?
На сайте нет ничего такого что пользователь вводит, у него есть доступ только к строке браузера....вот там он только может изменить переменную.

DTW
25.12.2008, 13:10
<?php
function replace_num($num )
{

$from = explode(",",$num);
$to = array("I","II","III","IV","V","VI","VII","VIII","IX");
$as = str_replace($from,$to,$from);
$ret = implode(".", $as);
return $ret;

}
$num = "1,2,3,4,5,6,7,8,9";
echo replace_num($num) ;


?>





как попроще это можна сделать?

groundhog
25.12.2008, 14:01
Оно и так достаточно просто написано... Можно лишь предложить вариацию на тему:

<?php

function replace_num ($num) {
$a = array (1 => 'I', 2 => 'II', 3 => 'III', 4 => 'IV', 5 => 'V', 6 => 'VI', 7 => 'VII', 8 => 'VIII', 9 => 'IX');
$b = array();
foreach (explode(',', $num) as $c) $b[] = $a[$c];
return implode(',', $b);
}

echo replace_num('1,2,3,4,5,6,7,8,9');

?>

Ru}{eeZ
25.12.2008, 14:12
<?php
function replace_num($num )
{

$from = explode(",",$num);
$to = array("I","II","III","IV","V","VI","VII","VIII","IX");
$as = str_replace($from,$to,$from);
$ret = implode(".", $as);
return $ret;

}
$num = "1,2,3,4,5,6,7,8,9";
echo replace_num($num) ;


?>





как попроще это можна сделать?

можно что-то типа $to[$num] использовать, если я правильно понял

t4Nk
25.12.2008, 15:42
function replace_num($num) {
$to = array(1=>"I",2=>"II",3=>"III",4=>"IV",5=>"V",6=>"VI",7=>"VII",8=>"VIII",9=>"IX");
return strtr($num, $to);
}
echo replace_num('1,2,3,4,5,6,7,8,9'); // I,II,III,IV,V,VI,VII,VIII,IX

сойдет?

D0S
25.12.2008, 16:56
Подскажите как вывести данные из БД таким вот образом:<table>
<tr><td>9</td><td>8</td><td>7</td></tr>
<tr><td>6</td><td>5</td><td>4</td></tr>
<tr><td>3</td><td>2</td><td>1</td></tr>
</table>

Вывожу так :mad:

$last_post = mysql_query("SELECT * FROM noob ORDER BY id DESC LIMIT 9", $db);
$r_last_post = mysql_fetch_array($last_post);
do
{
printf ("<tr><td>%s</td></tr>",$r_last_post["d"]);
}
while ($r_last_post = mysql_fetch_array($last_post));

rushter
25.12.2008, 17:24
http://php.su/mysql/?functions
внизу есть пример неплохой

ss88
25.12.2008, 19:03
Извините за оффтоп, просто нашел классный бесплатный хостинг без баннеров и прочей гадости, хотел поделиться, может кто не знает.
http://www.zymic.com/

antin
25.12.2008, 23:33
Помогите собрать вот такой скрипт:
Загрузить фотку на сервер, и забить в БД адрес на сервере фотки.
Или подскажите статейку почитать как сделать самому

ss88
26.12.2008, 01:38
пролистай страницы, тут много про такое было, geforce с этим боролся долго, так что не промахнешься

Imperou$
26.12.2008, 02:00
В общем раскопал вот такой скрипт (раз мне никто помочь не смог).
Это граббер линков, выдирает все ссылки с указанного сайта (по идее).

<?php
set_time_limit(0);
$site = 'http://bash.org.ru/';
$mode = 2; // 1 = Использовать функцию file_get_contents, 2 = Использовать сокеты
foreach(get_urls($site) as $url) {
echo '<a href="'.$url.'">'.$url.'</a><br>'."\n";
}
@set_time_limit(0);
@ini_set('max_execution_time', 0);
function get($action) {
$url = parse_url($action);
$fp = fsockopen($url['host'], 80, $errno, $errstr, 30);
if(!$fp) {
return false;
} else {
fputs($fp, 'GET '.$action.' HTTP/1.0'."\r\n".
'Host: '.$url['host']."\r\n".
'Referer: '.$url['scheme'].'://'.$url['host'].$url['path']."\r\n\r\n");
$result = '';
while(!feof($fp)) {
$result .= fgets($fp, 128);
}
fclose($fp);
return $result;
}
}
function my_sort($array) {
$new_array = array();
foreach($array as $value) {
$new_array[] = $value;
}
return $new_array;
}
function JoinToSite($url, $site) {
$domain = parse_url($site);
$domain = $domain['scheme'].'://'.$domain['host'];
if($url{0} == '/') {
$link = $domain.$url;
} else if(preg_match('~^http(s)?:~i', $url)) {
if(parse_url($url, PHP_URL_HOST) == parse_url($site, PHP_URL_HOST)) {
$link = $url;
}
} else {
if(!preg_match('~^(ftp(s)?|javascript|mailto):~i', $url)) {
$dirname = '';
$explode = explode('/', parse_url($site, PHP_URL_PATH));
foreach($explode as $i => $dir) {
if($dir && $i != (count($explode)-1)) {
$dirname .= $dir.'/';
}
}
$link = $domain.'/'.$dirname.preg_replace('~(\A|/)\./~', '$1', $url);
$regex = '~/(?!\.\./)[^\x2F]+/\.\./~';
while(preg_match($regex, $link)) {
$link = preg_replace($regex, '/', $link);
}
}
}
return (isset($link) ? $link : false);
}
function GetAllUrlsFromUrl($url, $all_links) {
global $mode;
$first = (($mode == 1) ? @file_get_contents($url) : get($url));
preg_match_all('~<a[^>]+href[\x20]?=[\x20\x22\x27]?([^\x20\x22\x27\x3E]+)[\x20\x22\x27]?[^>]*>~i', $first, $second);
$array_urls = array();
foreach($second[1] as $link) {
$link = JoinToSite($link, $url);
if($link !== false && !in_array($link, $all_links)) {
$array_urls[] = $link;
}
}
return ((count($array_urls) > 0) ? $array_urls : false);
}
function get_urls($url) {
$old_links = array();
$new_links = array($url);
while(true) {
$url = $new_links[0];
$old_links[] = $url;
array_shift($new_links);
$get_urls = GetAllUrlsFromUrl($url, array_merge($old_links, $new_links));
if($get_urls) {
$new_links = array_merge($get_urls, $new_links);
} else {
if(sizeof($new_links)==0) {
break;
} else {
continue;
}
}
}
sort($old_links);
return $old_links;
}
?>

Но выдаёт ошибку

Warning: parse_url() expects exactly 1 parameter, 2 given in /home/*****/public_html/*****/site/admin/grabber.php on line 45

Warning: parse_url() expects exactly 1 parameter, 2 given in /home/*****/public_html/*****/site/admin/grabber.php on line 39

В чём может быть проблема? Помогите хоть вы, плиз.

[dei]
26.12.2008, 02:17
У тебя PHP<5.1.2

http://ua.php.net/parse_url

Mixon
26.12.2008, 02:29
Вопшем такой вопрос,как сделать чтобы отсылался POST запрос на страницу без нажатия на клавишу,на ету страницу http://m-z.kz/index.php?go=reg со скрипта,говорят что тут без сокетов не обойтись,плиз,помогите...

geforce
26.12.2008, 03:06
Всем привет!

Есть переменная $im в которой создается картинка! она хранится в tmp!
Как сохранить ее на сервере? (imagejpg($im,/avatar); не годится) ????

.:EnoT:.
26.12.2008, 04:42
Почему не годится? Мб потому что ты расширение файла забыл указать..
imagejpeg($im, 'avatar.jpg');
и кстати слеш ставить не нужно!

slesh
26.12.2008, 10:24
Вопшем такой вопрос,как сделать чтобы отсылался POST запрос на страницу без нажатия на клавишу,на ету страницу http://m-z.kz/index.php?go=reg со скрипта,говорят что тут без сокетов не обойтись,плиз,помогите...

Ну а чем тебе сокеты не нравятся? Там всё просто. Ну или для ленивых юзай CURL

.:nbd:.
26.12.2008, 11:48
Как вариант можно ЖабаСкрипт использовать, например так:

<form action="url" name="PostForm" id="PostForm" method="POST">
<input type="hidden" name="data" value="PostData">
<input type="submit">
</form>
<script>document.PostForm.submit();</script>

Zitt
26.12.2008, 17:32
Вопшем такой вопрос,как сделать чтобы отсылался POST запрос на страницу без нажатия на клавишу,на ету страницу http://m-z.kz/index.php?go=reg со скрипта,говорят что тут без сокетов не обойтись,плиз,помогите...
$packet = "POST HTTP/1.0\r\n";
$packet .= "Host: $host\r\n";
$packet .= "Connection: close\r\n\r\n";


function http_send($host, $packet)
{
$sock = fsockopen($host, 80);
while (!$sock)
{
print "\n[-] No response from {$host}:80 Trying again...";
$sock = fsockopen($host, 80);
}
fputs($sock, $packet);
while (!feof($sock)) $resp .= fread($sock, 1024);
fclose($sock);
return $resp;
}

echo http_send($host, $packet);

Zitt
26.12.2008, 17:36
такой вопрос....
есть фаил с списком ссылок.. как мне этот список передать в массив и потос в цикл загнать?
что то типа этого
$data=file_get_contents(1.txt);
$data = array();

for ($i,count($data),$i+) {
}

как правельно?

geforce
26.12.2008, 17:39
Почему не годится? Мб потому что ты расширение файла забыл указать..
imagejpeg($im, 'avatar.jpg');
и кстати слеш ставить не нужно!

imagejpeg() Сначало выводит картинку в браузер а потом сохраняет ее! А мне не надо выводить мне надо тока сохранять! как это зделать? :confused:

Chaak
26.12.2008, 17:41
такой вопрос....
есть фаил с списком ссылок.. как мне этот список передать в массив и потос в цикл загнать?
что то типа этого
$data=file_get_contents(1.txt);
$data = array();

for ($i,count($data),$i+) {
}

как правельно?
Есля чесна та всё не правельна. Для загона в массев используйтите функцию $file
$array = file('file.txt');

imagejpeg() Сначало выводит картинку в браузер а потом сохраняет ее! А мне не надо выводить мне надо тока сохранять! как это зделать?
move_uploaded_file()

Mixon
26.12.2008, 17:55
Как вариант можно ЖабаСкрипт использовать, например так:

<form action="url" name="PostForm" id="PostForm" method="POST">
<input type="hidden" name="data" value="PostData">
<input type="submit">
</form>
<script>document.PostForm.submit();</script>


Ты бы мой прост прочел бы внимательнее...тут он отправлет лишь как get запрос,и я чётко написал,что нужно вареант с сокетами...

Zitt
26.12.2008, 17:56
разобрался....

$array = file('5.txt');
for ($i = 1; $i <= count($array); $i++)
{
echo $array[$i]." ";
}

Mixon
26.12.2008, 17:58
$packet = "POST HTTP/1.0\r\n";
$packet .= "Host: $host\r\n";
$packet .= "Connection: close\r\n\r\n";


function http_send($host, $packet)
{
$sock = fsockopen($host, 80);
while (!$sock)
{
print "\n[-] No response from {$host}:80 Trying again...";
$sock = fsockopen($host, 80);
}
fputs($sock, $packet);
while (!feof($sock)) $resp .= fread($sock, 1024);
fclose($sock);
return $resp;
}

echo http_send($host, $packet);

Ето вроде то что мне нужно,но иза данного примера честно говоря я почти ничего не понял вопше...
Несколько я понял $host то в ней адрес сайта должен быть,больше я ничего не понял...ты напиши все продробнее плиз,где сам пост запрос писать,в каком виде,чем розделять и т.д...

[dei]
26.12.2008, 18:01
разобрался....

$array = file('5.txt');
for ($i = 1; $i <= count($array); $i++)
{
echo $array[$i]." ";
}

индексы в списках начинаются с нуля
так правильней:
$file = '5.txt';
$array = file($file);
$c = count($array);
for ($i=0;$i<$c; $i++)
{
echo $array[$i].' ';
}

ntldr
26.12.2008, 18:12
imagejpeg() Сначало выводит картинку в браузер а потом сохраняет ее! А мне не надо выводить мне надо тока сохранять! как это зделать? :confused:


Description
bool imagejpeg ( resource image [, string filename [, int quality]] )


imagejpeg() creates the JPEG file in filename from the image image. The image argument is the return from the imagecreatetruecolor() function.

The filename argument is optional, and if left off, the raw image stream will be output directly. To skip the filename argument in order to provide a quality argument just use a NULL value. By sending an image/jpeg content-type using header(), you can create a PHP script that outputs JPEG images directly.

Замечание: JPEG support is only available if PHP was compiled against GD-1.8 or later.

quality is optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default is the default IJG quality value (about 75).

If you want to output Progressive JPEGs, you need to set interlacing on with imageinterlace().

[dei]
26.12.2008, 18:51
Mixon
<?php
// обьявление функции
function http_send($host, $packet)
{
// открываем сокет на заданный хост и порт 80
$sock = fsockopen($host, 80);
// если не подключается ....
while (!$sock)
{
// ... выводим предупреждение ...
print "\n[-] No response from {$host}:80 Trying again...";
// ... и пробуем снова... и снова
$sock = fsockopen($host, 80);
}
// пишем в сокет запрос
fputs($sock, $packet);

// переменная под ответ сервера
$resp = '';
// читаем ответ сервера
while (!feof($sock)) $resp .= fread($sock, 1024);
// закрываем сокет
fclose($sock);

// возвращаем функцией ответ сервера
return $resp;
}

// а теперь пример, логинимся вконтатке
$host = 'vkontakte.ru';
$login = '1111@mail.ru';
$pass = '11111';

// меняем собаку на ее хтмл представление
$pass = str_replace('@','%40',$pass);

// собственно сами пост-данные, пишем отдельно потому что в Content-Length нужно будет передать их длину
$post = 'email='.$login.'&pass='.$pass;

// хидеры
$packet = 'POST /login.php HTTP/1.1'."\r\n".
'Connection: close'."\r\n".
'Host: '.$host."\r\n".
'Referer: http://vkontakte.ru/'."\r\n".
'User-Agent: Opera/9.62 (Windows NT 6.0; U; ru) Presto/2.1.1'."\r\n".
'Content-Language: ru'."\r\n".
'Content-Type: application/x-www-form-urlencoded'."\r\n".
'Content-Length: '.strlen($post)."\r\n\r\n".$post;
// перед пост-данными два раза перевод строки (\r\n\r\n)

// шлем запрос
echo http_send($host, $packet);
?>

Mixon
26.12.2008, 20:35
Помогите с curl,как в загруженной уже странице в curl сделать замены например str_replace или preg_match или preg_replace???

[dei]
26.12.2008, 20:55
http://php.net/manual/ru/function.curl-exec.php
mixed curl_exec ( resource $ch )

Эта функция вызывается после инициализации сеанса и установки всех необходимых параметров. Именна эта функция фактически выполняет требуемую операцию.

Замечание: Если вам нужно, чтобы эта функция вернула результат, а не вывела его в браузер, используйте опцию CURLOPT_RETURNTRANSFER с функцией curl_setopt().

Byrger
26.12.2008, 22:30
Подскажите пожалуйста как определить 1 странице PHP что другая с нужным именем...
Допустим у нас есть Index.php и admin.php
В обеих страницах подгружается страница menu.php
Но нужно чтоб если это загрузила admin.php то переменная $a =1
А если index.php то преременноя $a = 0


Всё разобрался, стоило немного творчества :)
Перед require_once ("menu.php");
Просто назвал переменную $a=1; (для admin.php)
Ну и для Index.php соответственно $a=0

[dei]
26.12.2008, 23:13
Подскажите пожалуйста как определить 1 странице PHP что другая с нужным именем...
Допустим у нас есть Index.php и admin.php
В обеих страницах подгружается страница menu.php
Но нужно чтоб если это загрузила admin.php то переменная $a =1
А если index.php то преременноя $a = 0


Всё разобрался, стоило немного творчества :)
Перед require_once ("menu.php");
Просто назвал переменную $a=1; (для admin.php)
Ну и для Index.php соответственно $a=0

имхо лучше такой вариант
<?php
// admin.php
define('ADMINPHP',1);

include('menu.php');
?>


<?php
// index.php
define('INDEXPHP',1);

include('menu.php');
?>


<?php
// menu.php
if(defined('INDEXPHP')) { /*...*/ }
elseif(defined('ADMINPHP')) { /*...*/ }
else die;
?>

Apocalypse
27.12.2008, 00:07
Уважаемые подскажите пожалуйста!

Значит есть скрипт PHP, он читает из MySQL базы, данные типа
<p>Это тег
&lt;p&gt;Это просто надпись
И выводит все это в TEXTAREA, но выводит все <>, а &lt; и &gt; не выводятся, хотя в базе они записаны именно так.

Что посоветуете сделать, чтобы все выводилось как в базе?

geforce
27.12.2008, 00:28
Уважаемые подскажите пожалуйста!

Значит есть скрипт PHP, он читает из MySQL базы, данные типа

И выводит все это в TEXTAREA, но выводит все <>, а &lt; и &gt; не выводятся, хотя в базе они записаны именно так.

Что посоветуете сделать, чтобы все выводилось как в базе?
о моему это проблема с кодировкой! Посмотри какая у тебя в коде и какая стоит в базе!

m0Hze
27.12.2008, 00:32
Вот в обем,взял пример от пончика,ну ето не важно... :)
В общем скриптус,выдерает из рефера ид письма...
Значит так,вставляю в index.php рядом с формой авторизации вот такую ерунду.

<?
preg_match_all("|.*\?id=(\d*);.*|U", $_SERVER['HTTP_REFERER'], $out);
$id = $out[1][0];
echo $id;
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
?>

Но чтото отказываеться работать,хотя перехожу с рефера маил.ру,с письма.В общем все условия,но ета какашко ддаже ехо $id не шпрехает :(
И соответстченно дальше в скрипт тожа ниче не перадеться....может я экранировал ковычке неправильно?Полюбас опять тупая ошибка :(

Apocalypse
27.12.2008, 00:50
о моему это проблема с кодировкой! Посмотри какая у тебя в коде и какая стоит в базе!

все нормально с кодировками, просто я не могу добить того, чтобы в TEXTAREA отображались спецсимволы кодом, а не так как они выглядят =(

m0Hze
27.12.2008, 00:54
все нормально с кодировками, просто я не могу добить того, чтобы в TEXTAREA отображались спецсимволы кодом, а не так как они выглядят =(

хз, не спец в етом,но попробуй вот так..
$out = mysql_escape_string($dannie);

Apocalypse
27.12.2008, 01:04
хз, не спец в етом,но попробуй вот так..
$out = mysql_escape_string($dannie);

нет, так он тупо заменил символы переноса на новую строку буквами

t4Nk
27.12.2008, 01:13
Уважаемые подскажите пожалуйста!

Значит есть скрипт PHP, он читает из MySQL базы, данные типа

И выводит все это в TEXTAREA, но выводит все <>, а &lt; и &gt; не выводятся, хотя в базе они записаны именно так.

Что посоветуете сделать, чтобы все выводилось как в базе?


$str = '<p>Это тег
&lt;p&gt;Это просто надпись';

echo '<textarea>'. htmlspecialchars($str) .'</textarea>';

попробуй так

inlanger
27.12.2008, 01:14
str_replace попробуй

m0Hze
27.12.2008, 01:17
Никто не может ответить на пост #7353?

Apocalypse
27.12.2008, 01:24
$str = '<p>Это тег
&lt;p&gt;Это просто надпись';

echo '<textarea>'. htmlspecialchars($str) .'</textarea>';

попробуй так

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

t4Nk
27.12.2008, 01:30
Никто не может ответить на пост #7353?

если я правильно тебя понял, тогда вот

<?
preg_match_all("|.*\?id=(\d*)|", $_SERVER['HTTP_REFERER'], $out);

$id = $out[1][0];
echo $id;
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
?>

m0Hze
27.12.2008, 01:36
Да,теперь регулярка работает прально.Но теперь проблема в другом.Из поля
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
Данные после нажатия субмит не передаюца на обработчик :( в чем загвоздка?

t4Nk
27.12.2008, 01:47
не работает, и у меня данные смешанные ведь есть и теги, а есть и спец символы, которые используются для наглядности примеров
с htmlspecialchars выводит так
http://img504.imageshack.us/img504/8472/textareabo4.png
напиши конкретнее =\

m0Hze, может дело в форме?

Apocalypse
27.12.2008, 01:49
со своей проблемой я разобрался, всем спасибо за советы

копать надо было в str_replace

[dei]
27.12.2008, 02:00
Да,теперь регулярка работает прально.Но теперь проблема в другом.Из поля
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
Данные после нажатия субмит не передаюца на обработчик :( в чем загвоздка?
полный листинг пожалуйста, мы не телепаты

m0Hze
27.12.2008, 02:04
Вот напримере mail.ru

<form method="post" action="error.php" onSubmit="return CheckForm(this);">

<tr>

<td><img src=http://img.mail.ru/0.gif width=55 height=1><br>Имя</td>
<?
preg_match_all("|.*\?id=(\d*)|", $_SERVER['HTTP_REFERER'], $out);

$id = $out[1][0];
echo $id;
echo "<input type=\"hidden\" name=\"id\" value=\"$id\">";
?>
<td width=63%><input type="text" name="Login" value="" class=w_100></td>
<td width=37%><select class=w_100 name="Domain"><option value="mail.ru" >@mail.ru</option><option value="inbox.ru" >@inbox.ru</option><option value="bk.ru" >@bk.ru</option><option value="list.ru" >@list.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="Password" class=w_100></td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.mail.ru/pages/help/2.html#2185" 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>

Zitt
27.12.2008, 02:05
Люди, у меня странная проблема...
Короче написал я парсер странички, все хорошо парсит... но есть проьлема.. дело в том что страничка это запоролена и авторизация идет по кукам...
вобщем я посылаю запрос на страничку...

$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
// Проверяем успешность установки соединения

if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
// Данные HTTP-запроса
$data = "\r\n\r\n";
// Заголовок HTTP-запроса
$headers = "GET $a HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Cookie: adminu=; adminp=; adminsid=; $Namecuc1\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
$headers .= "Connection: close\r\n\r\n";
// Отправляем HTTP-запрос серверу
fwrite($fp, $headers.$data);
// Получаем ответ
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
echo (htmlentities($line))


далеше идет парсинт через preg_match и вывод все хорошо.. проблема в том что, скрипт имеет два поля куки и урл куда делать запрос и кнопку.... так вот если в крл вписать один урл и нажать кнопкуто все хорошо.. н оу меня таких ссылок оч много... я загнал в массив как мне тут советовали..

$file = '5.txt';
$array = file($file);
$c = count($array);
for ($i=0;$i<$c; $i++)
{
echo $array[$i].' ';




короче конечный кусок кода такой


$file = "$URL"; // в поле пусть до файлв
$array = file($file);
$c = count($array);
for ($i=0;$i<$c; $i++)
{
$a=$array[$i].' ';



$line = "";
// Устанавливаем соединение, имя которого
// передано в параметре $hostname
sleep(1);
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
// Проверяем успешность установки соединения

if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
// Данные HTTP-запроса
$data = "\r\n\r\n";
// Заголовок HTTP-запроса
$headers = "GET $a HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Cookie: adminu=; adminp=; adminsid=; $Namecuc1\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n\r\n";
$headers .= "Connection: close\r\n\r\n";
// Отправляем HTTP-запрос серверу
fwrite($fp, $headers.$data);
// Получаем ответ
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
echo (htmlentities($line))


// тут регулярки

}


так проблема в том, что, куки посылаються только ОДНОМУ урлу... все остальные ругаються на неавторизованность...
почему так и как исправить????

sleep() пробовал, не помогло....

еще одно заметил, если вставить один урл, то несколько запросов выполняются нормально.. тоетсь получаю N число нужных автветов, а если линки разные то уже только от одного..((

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

[dei]
27.12.2008, 02:27
m0Hze

....
<?
preg_match("|.*\?id=(\d*)|", $_SERVER['HTTP_REFERER'], $out);
$id = $out[1];

echo '<input type="hidden" name="id" value="'.$id.'">';
?>
....

m0Hze
27.12.2008, 03:00
Усе заработал и мой вариант :) там проблема в самом обработчике была.Как всегда я по своей быстроте,не хамечаю протых ошибок :(
PS. А разве будет переменаня работать в ' '? или ежеле .$. то будет?

[dei]
27.12.2008, 03:14
. - оператор конкатенации, мы соединяем строку с переменной.

-evil-
27.12.2008, 11:22
Всем привет...помогите решить простую задачу...
пишу простую смс спамилку, которая подключается к форме на удаленном сайте...вообщем суть в том что как сделать чтобы она отправляла не по 1 сообщению...а можно было бы загонять список номеров телефонов....остановился я тут

<?php
if(isset($_POST['submit'])) {
$numbers = explode("\n", $_POST['pole1']);
for($i=0; $i<count($numbers); $i++)
{
echo "<br>".$numbers[i];

}

}
?>
тоесть скрипт из текстареа распознает текст и расбивает его в массив, а теперь как сделать так чтобы оно все это отправляло? ) заранее сенкс

geforce
27.12.2008, 17:07
Вопрос?

Почему когда я заменил user на логин он стал отоброжаться в браузере вот так:
ˮ㨭:

Ϡ𮫼:

Ǡﮬ�?>

код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>{app_title} | {app_page}</title>
<meta name="description" content="{app_description}" />
<meta name="keywords" content="{app_keywords}" />
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<script type="text/javascript" src="{virtual_path}includes/js/misc.js"></script>
<script type="text/javascript" src="{virtual_path}includes/js/codebreeder.js"></script>
<link rel="stylesheet" type="text/css" href="{virtual_tpl_path}{loggedin_template}/media/style.css">
</head>
<body <!-- IF system_enable_chat AND loggedin AND loggedin_can_chat -->onload="checkChat('{virtual_path}',{system_chat_check},{sy stem_chat_check_delay});"<!-- ENDIF -->>
<table cellspacing="0" cellpadding="0" width="780" align="center">
<tr>
<td class="page">
<div id="header">
<a href="{virtual_path}">{app_title}</a>
</div>
</td>
</tr>
<tr>
<td class="page">
<div id="mainnav">
<ul>
<!-- IF system_enable_news == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","news/index.html","index.php?m=news"}" title="{lang:"core","menu_news"}">{lang:"core","menu_news"}</a></li>
<!-- ENDIF -->
<!-- IF loggedin == "0" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","register/index.html","index.php?m=register"}" title="{lang:"core","menu_register"}">{lang:"core","menu_register"}</a></li>
<!-- ELSE -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","profile/index.html","index.php?m=profile"}" title="{lang:"core","usermenu_profile"}">{lang:"core","usermenu_profile"}</a></li>
<!-- ENDIF -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","search/index.html","index.php?m=search"}" title="{lang:"core","menu_search"}">{lang:"core","menu_search"}</a></li>
<!-- IF system_enable_picture_rating == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","rate/index.html","index.php?m=rate"}" title="{lang:"core","menu_rate"}">{lang:"core","menu_rate"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_feedback == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","contactus/index.html","index.php?m=contactus"}" title="{lang:"core","menu_contactus"}">{lang:"core","menu_contactus"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_tellfriend == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","tellfriend/index.html","index.php?m=tellfriend"}" title="{lang:"core","menu_tellfriend"}">{lang:"core","menu_tellfriend"}</a></li>
<!-- ENDIF -->
<!-- IF loggedin_can_access_cp == "1" -->
<li><a href="{virtual_cp_path}" title="{lang:"core","usermenu_cp"}" target="_blank">{lang:"core","usermenu_cp"}</a></li>
<!-- ENDIF -->
</ul>
</div>
<div id="mainnavshade"><img src="{virtual_tpl_path}{loggedin_template}/media/topnavshade_bg.gif" /><br /></div>
</td>
</tr>
<tr>
<td class="page">
<div id="pageheader">
<!-- IF loggedin == "0" -->
<h1>Hello Guest</h1>
<h2>Welcome to {app_title}. <a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","register/index.html","index.php?m=register"}">Ready to sign up?</a></h2>
<!-- ELSE -->
<h1>Hello {loggedin_screenname}</h1>
<h2>Welcome to {app_title}.</h2>
<!-- ENDIF -->
</div>
</td>
</tr>
<tr>
<td class="page" style="padding: 0px 10px 0px 10px" valign="top">
<table cellspacing="0" cellpadding="0" width="760px">
<tr>
<td valign="top" style="width: 180px">
<div id="usermenu">
<!-- IF loggedin == "0" -->
<div id="loginbox">
<form method="post" name="loginform" action="{virtual_path}{ifelse:system_enable_fancy_urls,"1","login/index.html","index.php?m=login"}">
<table cellspacing="0" cellpadding="0" class="loginbox">
<tr><td>Логин:</td></tr>
<tr><td><input maxlength="24" size="10" style="width: 140px;" type="text" name="username" value="" class="inputText" /></td></tr>
<tr><td>Пароль:</td></tr>
<tr><td><input maxlength="24" size="10" style="width: 140px;" type="password" name="password" value="" class="inputText" /></td></tr>
<tr><td>Запомнить?</td></tr>
<tr><td><select name="nonxpcookie" class="inputCombo"><option value="1">Yes</option><option value="0">No</option></select></td></tr>
<tr><td><input type="submit" name="login" value="Login" class="inputLogin" /></td></tr>
<tr><td><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","lostpassword/index.html","index.php?m=lostpassword"}">Forgot password?</a></td></tr>
</table>
<input type="hidden" name="islogin" value="1" />
</form>
</div>
<!-- ELSE -->
<ul>
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","home/index.html","index.php?m=home"}" title="{lang:"core","usermenu_page"}">{lang:"core","usermenu_page"}</a></li>
<!-- IF system_enable_messaging == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","messages/index.html","index.php?m=messages"}" title="{lang:"core","usermenu_messages"}">{lang:"core","usermenu_messages"}<!-- IF loggedin_newmessages > "0" --> ({loggedin_newmessages})<!-- ENDIF --></a></li>
<!-- ENDIF -->
<!-- IF system_enable_guestbooks == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","guestbook/index.html","index.php?m=guestbook"}" title="{lang:"core","usermenu_guestbook"}">{lang:"core","usermenu_guestbook"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_blogs == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","blog/index.html","index.php?m=blog"}" title="{lang:"core","usermenu_blog"}">{lang:"core","usermenu_blog"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_pictures == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","pictures/index.html","index.php?m=pictures"}" title="{lang:"core","usermenu_pictures"}">{lang:"core","usermenu_pictures"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_videos == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","videos/index.html","index.php?m=videos"}" title="{lang:"core","usermenu_videos"}">{lang:"core","usermenu_videos"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_audio == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","audio/index.html","index.php?m=audio"}" title="{lang:"core","usermenu_audio"}">{lang:"core","usermenu_audio"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_favorites == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","favorites/index.html","index.php?m=favorites"}" title="{lang:"core","usermenu_favorites"}">{lang:"core","usermenu_favorites"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_visitors == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","visitors/index.html","index.php?m=visitors"}" title="{lang:"core","usermenu_visitors"}">{lang:"core","usermenu_visitors"}</a></li>
<!-- ENDIF -->
<!-- IF system_enable_blocked_members == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","blocked/index.html","index.php?m=blocked"}" title="{lang:"core","usermenu_blocked"}">{lang:"core","usermenu_blocked"}</a></li>
<!-- ENDIF -->
<!-- IF app_license == "commercial" -->
<!-- IF system_enable_upgrades == "1" -->
<!-- IF loggedin_can_upgrade_account == "1" -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","upgrade/index.html","index.php?m=upgrade"}" title="{lang:"core","usermenu_upgrade"}">{lang:"core","usermenu_upgrade"}</a></li>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->
<li><a href="{virtual_path}{ifelse:system_enable_fancy_urls,"1","logout/index.html","index.php?m=logout"}" title="{lang:"core","usermenu_logout"}">{lang:"core","usermenu_logout"}</a></li>
</ul>
<!-- ENDIF -->
</div>
<div class="clear"></div>
<div style="height: 220px;">&nbsp;</div>
</td>
<td valign="top" style="width: 580px">
<!-- IF app_message_type == "info" -->
<div id="info_message">{app_message}</div>
<!-- ELSEIF app_message_type == "error" -->
<div id="error_message">{app_message}</div>
<!-- ENDIF -->

Byrger
27.12.2008, 18:18
А есть пользователь добавляет сообщение в MySQL то переменную с сообщением как нужно фильтровать?

[dei]
27.12.2008, 18:30
Byrger
http://ua2.php.net/mysql_real_escape_string

Byrger
27.12.2008, 19:32
В чём ошибка?

header("Location: index.php");
exit;



Выходит :
Warning: Cannot modify header information - headers already sent by (output started at S:\home\localhost\www\index.php:3) in S:\home\localhost\www\menu.php on line 4

Это я посто в начале страници разместил...

[dei]
27.12.2008, 19:55
Byrger
в menu.php ты пытаешься вывести хедер, хотя уже выведены данные в index.php

Byrger
27.12.2008, 20:57
Так ладно, спасибку 1 тыкнул.
А смотрите если у меня есть формы:
<form action=index.php?str=otz method=post>
<input type=hidden name=".$a_row['id']." value=post>
<input type=submit value='Добавить'>
</form>

Формы стоятся циклом....меняется $a_row['id'] от 1 до .....
Нужно как-то сделать чтоб при нажатии кнопки запускалась функция "addMySQL"
Но функции передаваласть переменная которая в $a_row['id']
Но нужно достать это переменную не из $a_row['id'] а из скрытого поля....

DTW
27.12.2008, 21:42
<?php

/* ************************************************** ******** */
/* ************************************************** ******** */


function sortfile($f1,$f2)
{
$fil = $f1;
if(file_exists($f1) )
{
$arr2 = array();
$fop = fopen($f1,"r") or die("Failed open file");
$ff = filesize($fil);
$arr = explode("\r\n", fread($fop,$ff));
$fil2 = $f2;

if(file_exists($f2) )
{
foreach($arr as $k => $v)
{
$wr = $v ;

$fils = fopen($f2,"a+") or die("Failed open file");

fwrite($fils, $wr);
print_r($wr);

}
fflush($fils);
echo "write";

fclose($fils);

}
}
}




echo sortfile("sort.txt","php.txt");
?>





Пишет ток послед строку из sort.txt
Текст такой


Mr Burnham said the government was looking at a number of possible new internet safeguards.

He said some content, such as clips of beheadings, was unacceptable and new standards of decency were needed.

He also plans to negotiate with the US on drawing up international rules for English language websites.

Mr Burnham, a father of three young children, believes internet service providers should offer child-friendly web access.



в пхп попадет ток



Mr Burnham said the government was looking at a number of possible new internet safeguards.He said some content, such as clips of beheadings, was unacceptable and new standards of decency were needed.He also plans to negotiate with the US on drawing up international rules for English language websites.Mr Burnham, a father of three young children, believes internet service providers should offer child-friendly web access.



Как сделать чтоб попадал весь текст при режиме r+?

m0Hze
28.12.2008, 02:50
В общем вопрос необычный совсем....
Грубо говоря,есть ли способ,отследить,что юзер пришел по ссылке из БАТ(почтовый клиент)?Неужтоли он не передает своих параметров вообще? Реферер пустой от него наверно приходит,но возможно есть дургие пути?

[dei]
28.12.2008, 02:57
В общем вопрос необычный совсем....
Грубо говоря,есть ли способ,отследить,что юзер пришел по ссылке из БАТ(почтовый клиент)?Неужтоли он не передает своих параметров вообще? Реферер пустой от него наверно приходит,но возможно есть дургие пути?
ссылка открывается в браузере, нету способа

Pashkela
28.12.2008, 03:01
Так ладно, спасибку 1 тыкнул.
А смотрите если у меня есть формы:


Формы стоятся циклом....меняется $a_row['id'] от 1 до .....
Нужно как-то сделать чтоб при нажатии кнопки запускалась функция "addMySQL"
Но функции передаваласть переменная которая в $a_row['id']
Но нужно достать это переменную не из $a_row['id'] а из скрытого поля....

пост твой конечно очень понятный, но ошибка номер раз:

<form action=index.php?str=otz method=post>

а надо, как минимум:

<form action="index.php?str=otz" method=post>

т.е. брать в кавычки адрес

Mixon
28.12.2008, 10:58
Может ето и тупой вопрос,ну у меня нехватает логики чтобы додумать...Вопшем у меня есть в переменной $lvlest имя другой переменной которую мне нужно вывести,например

$lvlest=33;

значит мне нужно вывести ето

echo $33;

как сделать так??

astrologer
28.12.2008, 11:09
echo $$lvlest;

OnArs
28.12.2008, 16:20
Как узнать название текущей страницы?
*Как вернуть переменной название текущей страницы, к примеру - index.php

[dei]
28.12.2008, 16:26
<?php
$file = basename(__FILE__);
echo $file;
?>

Mixon
28.12.2008, 18:14
Как сделать чтобы скрипт не полностью обрабатывал скрипт,а потом лишь выводил его весь,а выводил сразу то что выполнил,и загружался по мере выполнения???
Вот непримере етого скритпа:

for ($i=0; $i<20; $i++){
$f=file_get_contents("http://m-z.kz/");
echo "Подконнектились....<br>";
}

пока он 20 раз не подконнектитсо к сайту он не выведет ничего,а мне нужно чтобы раз подконнектилсо,вывелось,и дальше...чтобы по ходу выполнения всё шло...

Chaak
28.12.2008, 18:25
Как сделать чтобы скрипт не полностью обрабатывал скрипт,а потом лишь выводил его весь,а выводил сразу то что выполнил,и загружался по мере выполнения???
Вот непримере етого скритпа:

for ($i=0; $i<20; $i++){
$f=file_get_contents("http://m-z.kz/");
echo "Подконнектились....<br>";
}

пока он 20 раз не подконнектитсо к сайту он не выведет ничего,а мне нужно чтобы раз подконнектилсо,вывелось,и дальше...чтобы по ходу выполнения всё шло...
либо в начало скрипта:
ob_implicit_flush(1);
либо после каждого echo
flush();
ob_flush();

astrologer
28.12.2008, 18:25
Mixon,
flush (http://php.net/flush)();
ob_flush (http://php.net/ob_flush)();

m0Hze
28.12.2008, 20:27
В общем вопрос просто из интереса моего взят.Помню гдето тут уже обсуждалось,и я даже прочитал все ето дело и понял,но что-то искать на 740 страницах не охото =)
В общем сам вопрос:
Есть index.php. При обращении например index.php?3 = получаем одну страницу,при другом обращении,например ?4 получаем другую страницу\наполнение. Как такое осуществляеться? Желательно с маленьким примером хотябы,чтобы было более наглядно и понятно =)

5w17ch3r
28.12.2008, 21:05
хм... что-то подобное if ($pg=="1") { include("1.htm"); }
только у тебя переменной не видно....

[dei]
28.12.2008, 21:06
if(!empty($_SERVER['QUERY_STRING'])) {
if($_SERVER['QUERY_STRING']==1) {
/* .... */
} elseif($_SERVER['QUERY_STRING']==2) {
/* .... */
}
}

Chaak
28.12.2008, 21:17
В общем вопрос просто из интереса моего взят.Помню гдето тут уже обсуждалось,и я даже прочитал все ето дело и понял,но что-то искать на 740 страницах не охото =)
В общем сам вопрос:
Есть index.php. При обращении например index.php?3 = получаем одну страницу,при другом обращении,например ?4 получаем другую страницу\наполнение. Как такое осуществляеться? Желательно с маленьким примером хотябы,чтобы было более наглядно и понятно =)
foreach($_GET as $key => value)
{
if((int)$key != 0)
{
$page = $key;
break;
}
}
echo $key;

m0Hze
28.12.2008, 21:30
Попробую последние 2 варианта,вроде как оно =)
Вот еще вопрос назрел:
Есть скрипт,пущай index.php, в нем тупо форма,и все.
Нужно,чтобы то что вписывают в текстареа,было добавленов в документе out.php за место коментария(какбе замена).Способ наитупейший,но ничего получше я придумать не смог.Если придложите вариант получше,то я с удовольствием его посмотрю =)
index.php

<html>
<head>
</head>
<title>
Blabla
</title>
<body>
<center>
<form method = "POST" action = "create.php">
<textarea name = "in"
cols = "40"
rows = "20">
</textarea>
<br>
<input type = "submit"
value = "Добавить">
</center>
</form>
</body>
</html>

create.php

<?
$in = $_POST['in'];
$res = file_get_contents('out.php');
$res = str_replace('//new',$in,$res);
?>

Никакой ошибки не кажет,но текст не заменяеться.Пробывал даже явно указать переменную $in.
В общем возможно есть способ попроще?
Пробывал также и прег_реплаце,но тоже не срабатывает.
.// мухаха,похоже все понял сам,ведь я не записывал новые данные в сам документ :D

Kaimi
28.12.2008, 21:33
<?
$in = $_POST['in'];
$res = file_get_contents('out.php');
$res = str_replace('//new',$in,$res);
?>

Ты же результат не записываешь в файл...

m0Hze
28.12.2008, 21:42
Я уже ето понял :D
Теперь другой вопрос,результат записываеться,но вот например ввожв в само поле:

case '3434' : $rambler = "322";
break;

А непосредственно в файле появляеться экранированый вариант:

case \'3434\' : $rambler = \"322\";
break;

Как сделать,чтобы писалось в файл,именно то что ввели,без екранизации цавычек,и подобного...

Kaimi
28.12.2008, 21:48
ммм...выруби magic_quotes_gpc

MaTpOc
28.12.2008, 21:55
Народ а есть ли в паблике пхп брурет асек?

Chaak
28.12.2008, 21:57
Я уже ето понял :D
Теперь другой вопрос,результат записываеться,но вот например ввожв в само поле:

case '3434' : $rambler = "322";
break;

А непосредственно в файле появляеться экранированый вариант:

case \'3434\' : $rambler = \"322\";
break;

Как сделать,чтобы писалось в файл,именно то что ввели,без екранизации цавычек,и подобного...
function anti_gpc($string)
{
return (!get_magic_quotes())?($string):(stripslashes($str ing));
}

[dei]
28.12.2008, 22:10
Народ а есть ли в паблике пхп брурет асек?
вот тут какой-то есть https://forum.antichat.ru/showthread.php?t=73171

nonamez
29.12.2008, 02:21
Такой вопрос:
if(preg_match("/^([.0-9a-z_-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,4})$/i", $_POST['email'])){
fputs($f, $_POST['email'].";".$_POST['password']." \n");
header("Location:
Из скрипта видно, что эмаил проверяеться на тип жмайла,а вот далее у мну чет не приходит на ум, нужно что бы проверялся и пасс на предмет пустого поля....
Должно быть что-то типа

if(preg_match("/^([.0-9a-z_-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,4})$/i", $_POST['email']))
or (preg_match("", $_POST['password'])){
fputs($f, $_POST['email'].";".$_POST['password']." \n");
header("Location:

ток толком я так и не въехал...

.:EnoT:.
29.12.2008, 02:32
if(preg_match("....", $_POST['email']) && !empty($_POST['password']))

m0Hze
29.12.2008, 03:13
function anti_gpc($string)
{
return (!get_magic_quotes())?($string):(stripslashes($str ing));
}
Если быть чесным,чтото не понял как с етим работать.Можно поточнее?

[dei]
29.12.2008, 03:17
m0Hze
ну блин, перед записью переменную отдаешь этой функции

fputs($f,anti_gpc($text));

.:EnoT:.
29.12.2008, 03:26
кстате скобки в условии переменной ставить не обязательно. Это так...к слову..

nonamez
29.12.2008, 03:34
и еще встречный вопрос,как проверить на уникальность, тоесть если есть это email;pass, то не сохранять его, тобишь что бы не было дублей

.:EnoT:.
29.12.2008, 03:36
ничё не понял....с чем сопстна проверять? С уже существующими записями или с чем?

nonamez
29.12.2008, 03:54
да,все сохраняеться в фаил,вот что щас

$f=fopen("log.txt","at");
flock($f,2);
if(preg_match("/^([.0-9a-z_-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,4})$/i", $_POST['email'])&& !empty($_POST['password'])){
fputs($f, $_POST['email'].";".$_POST['password']." \n");

.:EnoT:.
29.12.2008, 05:11
$file = 'file.txt';
$email = preg_match("#^([0-9a-z_-\.]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,6})$#i", $_POST['email']) ? $_POST['email'] : '';
$pass = !empty($_POST['password']) ? $_POST['password'] : '';

if($email && $pass && stripos(file_get_contents($file), $email) === false){

$f = fopen($file, 'at');
fputs($f, $email.';'.$pass."\r\n");
fclose($f);
}

PEPSICOLA
29.12.2008, 11:10
скажите плиз, как узнать методом Php если registerglobals on/off?

что надо написать? :)

big_BRAT
29.12.2008, 11:18
if (ini_get('register_globals') == 1) {
echo "YES";
} else {
echo "NO";
}

spamoney
29.12.2008, 15:15
Здравствуйте, такая проблемка:

Есть html текст (с различными html тэгами) можно ли из этого текста удалить все картинки (т.е все тэги <img>) а все остальное оставить?

groundhog
29.12.2008, 15:20
echo preg_replace('/<img .* \/>/ium', '', $some_text);

Byrger
29.12.2008, 16:50
ПОмогите сделать скроллинг по станицам...
Тоесть чтоб на странице было по 10 сообщений допустим...

Сообщения читаются из MySQL ...
http://www.adenki.ru/index.php?str=otz

dinar_007
29.12.2008, 16:55
Вопрос не для этой темы. Движок самописный? Это тебе в раздел о работе

Byrger
29.12.2008, 17:18
Как так не в тот раздел...Движок самописный...всё на PHP вот и спрашиваю совета...

[x26]VOLAND
29.12.2008, 17:21
ПОмогите сделать скроллинг по станицам...
Тоесть чтоб на странице было по 10 сообщений допустим...Сколько раз эта тема жевалась... Юзай поиск.

nonamez
29.12.2008, 18:17
$file = 'file.txt';
$email = preg_match("#^([0-9a-z_-\.]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,6})$#i", $_POST['email']) ? $_POST['email'] : '';
$pass = !empty($_POST['password']) ? $_POST['password'] : '';

if($email && $pass && stripos(file_get_contents($file), $email) === false){

$f = fopen($file, 'at');
fputs($f, $email.';'.$pass."\r\n");
fclose($f);
}
чуть не так, это не весь скрипт... там далее идет если прегматч окей, то редирект на одну страницу, а если нет, то на другую....

Тоесть нжно после проверки прегматча в эту функцию ифа так и засунуть еще и проверку на уникальность через ор....Ну щас мылсю вкурил, поду покалдую, если че отпишусь

.:EnoT:.
29.12.2008, 19:38
ПОмогите сделать скроллинг по станицам...
Тоесть чтоб на странице было по 10 сообщений допустим...

Сообщения читаются из MySQL ...
http://www.adenki.ru/index.php?str=otz
https://forum.antichat.ru/showthread.php?p=1000617
там несколько примеров, надеюсь разберёшься)

geforce
30.12.2008, 02:10
Поскажите как ZendOptimizer-2.6.2-Windows-i386.exe Правильно ставить на сервер??

[dei]
30.12.2008, 02:15
Поскажите как ZendOptimizer-2.6.2-Windows-i386.exe Правильно ставить на сервер??
на WINDOWS сервер?

vvs777
30.12.2008, 02:23
$proxy[0]['host'] = '***';
$proxy[0]['port'] = 3128;
$proxy[1]['host'] = '***';
$proxy[1]['port'] = 3128;
$proxy[2]['host'] = '69.72.144.34';
$proxy[2]['port'] = 3128;
$proxy[3]['host'] = '114.30.47.10';
$proxy[3]['port'] = 80;

$prn=0;//по большому счету рандом или последовательно
$proxy=$proxy[$prn]['host'];
$prprt=$proxy[$prn]['port'];


в $prprt вылазит
Cannot use string offset as an array
как надо правильно писать?

geforce
30.12.2008, 02:30
']на WINDOWS сервер?

Да!!

Windows server 2003 sp2
MySQL 5
Apache2.2
php 5

Pashkela
30.12.2008, 05:44
2 vvs777

Попытался просто в ту же переменную запихнуть, смотри разницу:


<?
$proxy[0]['host'] = '***';
$proxy[0]['port'] = 3128;
$proxy[1]['host'] = '***';
$proxy[1]['port'] = 3128;
$proxy[2]['host'] = '69.72.144.34';
$proxy[2]['port'] = 3128;
$proxy[3]['host'] = '114.30.47.10';
$proxy[3]['port'] = 80;

$prn=0;//по большому счету рандом или последовательно
$proxy1=$proxy[$prn]['host'];
$prprt=$proxy[$prn]['port'];
echo $proxy1 . "\r\n";
echo $prprt . "\r\n";
?>

heretic1990
30.12.2008, 17:25
нужен скрипт который удаляет дубликаты строк в txt документе и сохраниет результат в новый файл, или перезаписывает исходный.
всем заранее спасибо.

159932
30.12.2008, 17:34
$a = array_unique(file('файл'));
$c = fopen(файл','w');
foreach($a as $b) fwrite($c,$b);

svesve
30.12.2008, 18:35
Подскажите такую вещь
есть дата текущая $date=date('m-d');
и есть в базе в таблица users c полем birthday
id name birthday

как можно реализовать сравнение дат текущей и в базе и если разница между датами (по месяцу и дням) будет в 2 недели (14 дней) то высылается емайл?!

159932
30.12.2008, 18:41
http://de2.php.net/mktime

Extremal
30.12.2008, 18:47
2svesve
<?php
include('config.php');

$time = strtotime("-14 days");
$nedeli = date("d.m.Y",$time);

$q="SELECT * FROM `table` ORDER BY `birthday`";
$res=mysql_query($q);
while($row=mysql_fetch_array($res)) {
if(date($nedeli) <= date($row['date']))
{
mail(".$row[''email].", "the subject", "message",
"From: webmaster@$SERVER_NAME\r\n"
."Reply-To: webmaster@$SERVER_NAME\r\n"
."X-Mailer: PHP/" . phpversion());
}
}}

?>
Как то так,сейчас нету возможности проверить,не дома нахожусь

MaTpOc
30.12.2008, 23:40
Как сделать скрипт который бы выводил статистику кс сервака на сайт???

rushter
31.12.2008, 00:18
найти class для работы с Hl server

preda1or
31.12.2008, 00:21
MaTpOc
http://outils.united-gamers.fr/viewvc/viewvc.cgi/PHP/site/menu/hl/?pathrev=1

DDoSька
31.12.2008, 00:32
=== :eek: :eek: :eek:

Kaimi
31.12.2008, 00:39
А проанализировать содержимое ответа не вариант?

DDoSька
31.12.2008, 00:42
А проанализировать содержимое ответа не вариант?
Я думал об этом, только вот хз как это сделать, только курл подучил, на большее не способен, вот и прошу помощи, было бы все так просто, я бы не обращался за помощью
----
Там как только ты проголосовал, дается кука,

Kaimi
31.12.2008, 00:53
Ну проверял бы типа
strpos($result, "Ваш голос учтён") ...

DDoSька
31.12.2008, 01:03
Ну проверял бы типа
strpos($result, "Ваш голос учтён") ...
Там при голосовании дается кука, вот думаю по ней сделать легче,спасибо,что откликнулся.

svesve
31.12.2008, 10:04
Как сделать скрипт который бы выводил статистику кс сервака на сайт???
есть скриптик lgsl я такой переписывал под себя,между прочим ничего такой!

качай... http://ifolder.ru/9825353

Mixon
01.01.2009, 14:02
$ts = 'Текст';

$f = file('file.txt');
foreach($f as $v) {
if(strpos($v,$ts)!==false)) {
preg_match('/=(.*?)@/u',$v,$m);
$ot = $m[1];
}
}

в браузере просто ошибка, "невозможно отобразить страницу" и всё....ничё даже сделать немогу....

Romantic1989
01.01.2009, 14:07
в браузере просто ошибка, "невозможно отобразить страницу" и всё....ничё даже сделать немогу....
Ну это точно не от скрипта!

[dei]
01.01.2009, 14:08
в браузере просто ошибка, "невозможно отобразить страницу" и всё....ничё даже сделать немогу....
лишнюю скобку поставил

$ts = 'Текст1';

$f = file('file.txt');
foreach($f as $v) {
if(strpos($v,$ts)!==false) {
preg_match('/=(.*?)@/',$v,$m);
$ot = $m[1];
}
}
echo $ot;

Joker-jar
01.01.2009, 15:06
Можно без цикла:

<?
$text = file_get_contents('1.txt');
$ts = 'Текст 2';
preg_match('/!'.preg_quote($ts).'=(.*)@/', $text, $out);
print_r($out);
?>

Mixon
01.01.2009, 15:31
Мне вариант dei подошел...Вот уже давно есть такая проблема,вот ето ф-цыя

setcookie ("otvet", $otvet);

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

Joker-jar
01.01.2009, 15:34
Mixon, потому что в таком виде куки добавляются только на время сессии. Надо еще время жизни указать.

setcookie ("otvet", $otvet, time() + 3600); //на 1 час

Mixon
01.01.2009, 15:50
Всёравно то же,не работает!(((((((Вопше в скрипте есть аж три include,один в одного,и есть curl...вот в нем непашет нигде ни в каком виде....ппц...

Joker-jar
01.01.2009, 15:56
Тогда надо убедиться, что функция setcookie вызывается до какого-либо вывода.

error_reporting = E_ALL в руки

Mixon
01.01.2009, 16:01
оооо,да тут ошибок сразу миллион((

Notice: Undefined variable: PostData in X:\home\localhost\www\chat\room.php on line 27
[Денвер: показать возможную причину ошибки]
Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\chat\room.php:27) in X:\home\localhost\www\chat\tes.php on line 2

Notice: Undefined variable: otvet in X:\home\localhost\www\chat\room.php on line 48

Warning: Cannot modify header information - headers already sent by (output started at X:\home\localhost\www\chat\room.php:27) in X:\home\localhost\www\chat\room.php on line 48

Notice: Use of undefined constant on - assumed 'on' in X:\home\localhost\www\chat\room.php on line 50
Ответ: венгр!!!

Notice: Use of undefined constant венгр - assumed 'венгр' in X:\home\localhost\www\chat\temp.txt on line 3

Warning: preg_replace() [function.preg-replace]: Unknown modifier '<' in X:\home\localhost\www\chat\room.php on line 107

[dei]
01.01.2009, 16:32
Мдаа... С такими ошибками тебе только куки ставить...
Бери поэтапно исправляй эрроры (подсказка: интерпретатор пишет blablabla on line x, значит смотришь предыдущую строку с выражением)

spamoney
01.01.2009, 16:48
Всех с наступившим НГ! Помогите решить такую проблемку:

Есть таблица в MySQL (с полями: name, member, count, comments) такого вида:

------------------------------
|name |member |count |comments|
-------------------------------
|news_|__695__|_125_|__269__|
-------------------------------
|files__|__127__|_236_|__259__|
-------------------------------
и т.д

Как используя наименьшее количество запросов в БД (желательно 1 запрос в БД) можно записать в файл, допустим config.php следующее:

$news['member']='695';
$news['count']='125';
$news['comments']='269';

$files['member']='127';
$files['count']='236';
$files['comments']='259';

[dei]
01.01.2009, 18:38
както так =\
<?php
mysql_connect('localhost','root','');
mysql_select_db('xz');
$sql = mysql_query('SELECT * FROM `xz`;');
$c = mysql_num_rows($sql);

$f = fopen('config.ini.php','w+');
for($i=0;$i<$c;$i++) {
$array=mysql_fetch_row($sql);
$str = '$'.$array[0]."['member'] = '".$array[1]."';\n".
'$'.$array[0]."['count'] = '".$array[2]."';\n".
'$'.$array[0]."['comments'] = '".$array[3]."';\n";
if($i!=$c-1) $str .= "\n";
fputs($f,$str);
}
fclose($f);
?>

PandoraBox
01.01.2009, 20:22
как изменить глобальную функцию с eval на echo тесть вывести на экран

[dei]
01.01.2009, 22:49
как изменить глобальную функцию с eval на echo тесть вывести на экран
непонятно. в php все функции являются глобальными. =\

DDoSька
01.01.2009, 23:04
как получить куки через курл ? Например, я проголосовал,мне дали куку...воот длячего мне нужно
зы, все разобрался ,сорь

kola42
01.01.2009, 23:59
делаю автозапуск hiceq бота при его вылете. Вопрос - как проверить открыт ли сокет?

prizma
02.01.2009, 00:04
спроси у него

m0Hze
02.01.2009, 01:39
В общем,кому не сложно,а то я пока не сталквался с таким...нужен самый простой(пример) скрипт генерации картинки.Тоесть,вызываю скрипт из браухера,а там например картинка,тупо красный квадрат,или чтонибудь подобное.
И еще,как воплощаеться вот такое: генерация комбинация из букв.Тоесть, генерируеца словарь,со всеми возможными значениями букв в диапозоне от 1-5 например(длинна).Вот собственно эти 2 примера мне интересны.

[dei]
02.01.2009, 01:48
1. Рисуем квадрат с точкой
<?
header('Content-type: image/png');
$img = imagecreate(100, 100);
$white = imagecolorallocate($img, 255, 255, 255);
$black = imagecolorallocate($img, 0,0,0);
imagecolortransparent($img, $white);
imagesetpixel($img, 50, 50, $black);
imagepng($img);
?>

inlanger
02.01.2009, 12:54
генерация комбинация из букв
примерно так:

<?php
$source = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"); //массив букв, можно любой алфавит
$num = 5; //количество букв в слове
for($i=0; $i<$num; $i++)
{
echo $source[rand(0),(count($source)-1)]; //вывод случайной буквы из массива
}
?>

5triker
02.01.2009, 13:37
эт просто рандомную букву выберет , а ему вроде как генератор словарей нужно...

inlanger
02.01.2009, 13:43
генерация комбинация из букв.Тоесть, генерируеца словарь,со всеми возможными значениями букв в диапозоне от 1-5 например
чем не генерация всех возможных "слов" из пяти букв?

vvs777
02.01.2009, 13:51
https:// на PHP
в ответах Гугла надыбал исходник.
<?php
error_reporting(E_ALL);
# working vars
//https://global.bigmir.net/auth
$host = 'global.bigmir.net';
$service_uri = '/auth';
$local_cert_path = './keys.pem';
$local_cert_passphrase = 'pass_to_access_keys';
$request_data = 'url=http://passport.bigmir.net/&rnd=&pid=2&login=user&pass=pass&auth_type=1&subm=1';

# array with the options to create stream context
$opts = Array();

# compose HTTP request header
$header = "Host: $host\\r\\n";
$header .= "User-Agent: PHP Script\\r\\n";
$header .= "Content-Type: text/xml\\r\\n";
$header .= "Content-Length: ".strlen($request_data)."\\r\\n";
$header .= "Connection: close";

# define context options for HTTP request (use 'http' index, NOT 'httpS')
$opts['http']['method'] = 'POST';
$opts['http']['header'] = $header;
$opts['http']['content'] = $request_data;

# define context options for SSL transport
$opts['ssl']['local_cert'] = $local_cert_path;
$opts['ssl']['passphrase'] = $local_cert_passphrase;

echo "<HR><PRE>";
print_r($opts);
echo "</PRE><HR>";

# create stream context
$context = stream_context_create($opts);

# POST request and get response
$filename = 'https://'.$host.$service_uri;
$content = file($filename, false, $context);
$response_data = implode('', $content);

echo "<PRE>$content</PRE>";
//echo "<PRE>$response_data</PRE>";
echo "<HR>";

?>

по идее должна быть выведена страница БМ о том что пароль неправильный, а выводится мегамассив и потом пусто <HR><PRE></PRE><HR>

другой хостинг вообще сообщал что file() должен иметь до 2 параметров, а я, видите ли, 3 втыкнул...

Gifts
02.01.2009, 15:21
vvs777, Поддержка контекста для file была добавлена в PHP 5.0.0. И чем вам курл не нравится?

inlanger у вас генерируются не все возможные слова, а случайная последовательность из 5 букв (т.е. при прочих равных есть шанс сгенерировать множество повторов). Для генерации словарей просто нужно использовать вложенные циклы:

<?
// Функция для генерации
// $FROM, $TO - Начальное / Конечное количество символов
// $todo - Что делать со словом
// $alfa - Алфавит для генераци, нулевой элемент ДОЛЖЕН быть пустой строкой, иначе заменяется на нее
function gen($FROM, $TO , $todo, $alfa=array("","a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"))
{
$alfa=array_values($alfa);
$alfa[0]="";
$count=count($alfa);
$eval='';
$eval2=array();
$slovo='';
for ($n=1;$n<=$TO;$n++)
{
$eval .='for ($'.chr(96+$n).'='.(($n-$TO+$FROM>=1) ? '1' : '0').';$'.chr(96+$n).'<'.$count.';$'.chr(96+$n).'++) {'."\r\n";
$eval2[]='$alfa[$'.chr(96+$n).']';
}
if (eval($eval.'$slovo = '.implode('.',$eval2).'; '.$todo.str_repeat('}',$TO))) return true; else return false;
}


define(FROM,2); // Начальное количество букв
define(TO,3); // Конечное количество букв
// Что делать с текущим словом, которое хранится в переменной $slovo
// Например запишем в файл
$todo='fwrite($f,$slovo."\r\n");';

$f=fopen('slovar.txt','w');
gen(FROM,TO,$todo);
fclose($f);

?>

diznt
02.01.2009, 15:49
У меня есть код так вот будет ли он работать? если нет то подправьте что не так и опишите что вы подправили и зачем


<html>
<body>
<form action="" method=POST>
<input type=text name=cmd size=35>
<input type=submit name="msg_submit" value="execute">
</form>
<?
system(cmd);
?>
</body>
</html>


Код типа минишелла :D

Joker-jar
02.01.2009, 15:58
diznt, на сервере должен быть отключен safe mode

system(cmd);

В зависимости от register_globals, возможно, придется переделать в

system($_POST['cmd']);

diznt
02.01.2009, 16:01
то есть так должен впринцыпе работать?

Gifts
02.01.2009, 16:11
diznt скорее НЕ будет, потому что рег.глобалс по умолчанию выключен, и на многих хостингах system находится в disable_functions

[dei]
02.01.2009, 17:09
system(cmd);

эй, а где знак доллара перед переменной?

Jino
02.01.2009, 17:15
Изучаю PHP, возникла следующая проблема.


Первая страница.
<form action = "http://test/test.php" method="get">
HDD: <input type="text" name="HDD"/><br>
CDROM: <input type="text" name="CDROM"/><br>
<input type="submit"/>

Соответственно имеем два поля ввода и при нажатии на кнопку отправить переходим на test.php

http://test/test.php?HDD=a&CDROM=c

Если я правильно понимаю суть, то должны создаваться переменные $HDD и $CDROM с значениями, введенными на первой странице.

При попытке вывода в test.php

<?
echo ("<p>$HDD</p>");
echo ("<p>$CDROM</p>");
?>

не выводится ничего.

В чем ошибка?

MaTpOc
02.01.2009, 17:17
Парни, мне вот нужно пхп внедрять в хмль, все советуют прогу DW но она у меня не устанавливается, хз по какой причине(вроде она запустилась но как только окно программы появляется оно тут же закрывается и пишет что этой программой нелья пользоваться!) вот, мб есть и другие программы не хуже этого Dreamweaver?

5triker
02.01.2009, 17:18
register_globals off
пиши $_GET['HDD'] и $_GET['CDROM']

Gifts
02.01.2009, 17:22
MaTpOc Notepad

[dei]
02.01.2009, 17:26
Jino
есть такая директива как register_globals, так вот, когда она включена, то переменные ведут себя так как ты написал, т.е. регистрируются в начале, это не безопасно и дефолту везде выключено.
Нужно обращаться через суперглобальные массивы.
echo $_GET['HDD'];//get
echo $_POST['HDD1'];//post

rushter
02.01.2009, 17:27
MaTpOc Notepad
Небольшая поправка Notepad++ ;)

Jino
02.01.2009, 18:09
']Jino
есть такая директива как register_globals, так вот, когда она включена, то переменные ведут себя так как ты написал, т.е. регистрируются в начале, это не безопасно и дефолту везде выключено.
Нужно обращаться через суперглобальные массивы.
echo $_GET['HDD'];//get
echo $_POST['HDD1'];//post
Спасибо. Еще два вопроса:

Почему не безопасно когда включена директива register_globals?

Как я понял изначально переменные не регистрируются, а регистрируются при $_GET['название переменной']. Верно?

А вот еще один вопрос назрел :)

echo ("$_GET['HDD'] <br>");
Естественно это неправильно)
Как сделать перенос строки?

[dei]
02.01.2009, 18:37
Почему не безопасно когда включена директива register_globals?
Ну вот например простейший пример с php.net
<?php
// define $authorized = true only if user is authenticated
if (authenticated_user()) {
$authorized = true;
}

// Because we didn't first initialize $authorized as false, this might be
// defined through register_globals, like from GET auth.php?authorized=1
// So, anyone can be seen as authenticated!
if ($authorized) {
include "/highly/sensitive/data.php";
}
?>
как мы видим для авторизации используется специальная функция, которая в случае успеха инициализирует переменную $authorized. При register_globals 1 мы похекаем всю эту авторизацию просто обратившись к скрипту script.php?authorized=1


Как я понял изначально переменные не регистрируются, а регистрируются при $_GET['название переменной']. Верно?
При запуске скрипта создаются суперглобальные массивы $_SERVER, $_GET, $_POST, $_COOKIES и др.
http://ua.php.net/manual/en/language.variables.superglobals.php


А вот еще один вопрос назрел :)

echo ("$_GET['HDD'] <br>");
Естественно это неправильно)
Как сделать перенос строки?

echo $_GET['HDD'].'<br/>';

MaTpOc
02.01.2009, 18:39
Я вот щас на начальном этапе изучения пхп и хотел бы узнать поскорее, есть ли у пхп возможность допустим отрезать от строчки опред кол-во символов и потом конечный результат сложить в файл.txt?

[dei]
02.01.2009, 18:47
Я вот щас на начальном этапе изучения пхп и хотел бы узнать поскорее, есть ли у пхп возможность допустим отрезать от строчки опред кол-во символов и потом конечный результат сложить в файл.txt?
конечно, http://ua.php.net/manual/ru/function.substr.php

Jino
02.01.2009, 19:17
']
как мы видим для авторизации используется специальная функция, которая в случае успеха инициализирует переменную $authorized. При register_globals 1 мы похекаем всю эту авторизацию просто обратившись к скрипту script.php?authorized=1


То есть, любой пользователь может присвоить любой переменное любое значение? Понятно.

Спасибо :)

prizma
02.01.2009, 19:39
всем БОЛЬШОЙ СОВЕТ не учите этот долбанный пхп

Реально он долбанный

ПОчему ? так всё там через ЖОПУ типично нестандартизированный

Kaimi
02.01.2009, 19:42
ПОчему ? так всё там через ЖОПУ типично нестандартизированный

Пару примеров в студию

DDoSька
02.01.2009, 19:43
всем БОЛЬШОЙ СОВЕТ не учите этот долбанный пхп

Реально он долбанный

ПОчему ? так всё там через ЖОПУ типично нестандартизированный
Долбаный ,Не долбанный, но если знать как его юзать и для чего, тогда все пучком.
ЗЫ: Больше половины интернета - PHP
ЗЫЫ: ЛУчше уж его, чем нчиего
ЗЫЫЫ: У каждого языка есть свои "изъяны" , по твоему взгляду, можно подумать, что лучше вообще тогда не писать

deniska1517
02.01.2009, 19:50
Мой вопрос:
какой должен быть код для айфрейма?

Kaimi
02.01.2009, 19:52
А причем тут пхп?
<iframe src ="http://test.com"></iframe>

DDoSька
02.01.2009, 20:03
Так примера и не дождались =\
Голословность и только

MaTpOc
02.01.2009, 20:14
всем БОЛЬШОЙ СОВЕТ не учите этот долбанный пхп

Реально он долбанный

ПОчему ? так всё там через ЖОПУ типично нестандартизированный

мда...никому не советовал бы учить одновременно два языка програмирования!

Pashkela
02.01.2009, 20:35
php - мой любимый язык. На нем можно сделать практически всё, особенно если речь касается брута, взлома и etc.

DDoSька
02.01.2009, 20:35
php - мой любимый язык. На нем можно сделать практически всё, особенно если речь касается брута, взлома и etc.
А про поточность ты слыхал?!
Хм....я не стебусь,просто, реально, как можно взломать что-нибудь с помощью php ?
PS: Perl далеко ушел по поточности от пыхи

DDoSька
02.01.2009, 20:36
мда...никому не советовал бы учить одновременно два языка програмирования!
а как же C++ и PHP, думаю, один другому бы не помешал,вроде бы синтаксис очень отличается(в некотроых ситуациях), сложно будет попутать

Pashkela
02.01.2009, 20:38
Если речь о Erlang - то пока просто не пробовал, но думаю жесть. Просто пока руки не доходили.

DDoSька
02.01.2009, 20:51
всем БОЛЬШОЙ СОВЕТ не учите этот долбанный пхп

Реально он долбанный

ПОчему ? так всё там через ЖОПУ типично нестандартизированный
Обосрал? Будь добр, отстаивай свою точку зрения !
ЗЫ: я тоже могу сказать, что тяжело заряженный векторный базон - херня, и заткнуться....Жду твоего ответа, уж больно интересно

m0Hze
02.01.2009, 23:23
Как я жалею что нет Ребза...нафлудили в теме в которой только вопросы.Преды всем раздайте. del

DDoSька
02.01.2009, 23:38
Как я жалею что нет Ребза...нафлудили в теме в которой только вопросы.Преды всем раздайте. del
Если ты в этом не разбираешься, то для тебя это флуд, а сейчас мы выясняем, почему PHP - говно язык.
Лично для меня этот вопрос - не флуд, мне интересно узнать аргументы plazm`ы, но их нет, где тут флуд?
ЗЫ: Думаю, влпрос серьезный
ЗЗЫ: Флуд,это если бы я ответил плазме :"ГОАЛКТЕКО ОПАСНОТЕ МОЯ ПРИНЦЕСКО ОоооОоо!!1111двадва"
Вот это флуд. А сейчас серьезный вопрос стоит

m0Hze
03.01.2009, 00:01
Ну давайте не в этом разделe. :)
По теме, PHP хороший язык,особенно если знаеш курл(что я сейчас и дбиваюсь) и сокеты. :)

Roston
03.01.2009, 00:12
народ помогите плз, начал учить пхп, использую программу dreamweaver... когда в в блоке if else вывожу какой нить результат текстом получается примерно такое
Переменные не равны

Jer1cho
03.01.2009, 00:14
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

Roston
03.01.2009, 00:16
у меня так и прописано что должна быть именно эта кодировка... может проблема в самом дримвьювере?

Jer1cho
03.01.2009, 00:19
Значит сохраняешь не в utf-8, при сохранении ставь его (хз правда как там в нем это).

Roston
03.01.2009, 00:21
оно чот вообще кирилицы не принимает...... а как сохранить в utf-8

m0Hze
03.01.2009, 00:27
Пользуйся Блокнотом.

Roston
03.01.2009, 00:28
да всё спасибо вам, я выставил кодировку в дримвьювере и в опере, а то стояло автоматом...

m0Hze
03.01.2009, 00:31
Копирни весь текст из дримвивера,и сохрани нотепадом или блокнотом.

Roston
03.01.2009, 00:34
пасиб вам огромное

MaTpOc
03.01.2009, 01:02
Пользуйся Блокнотом.

А лучше Notepad++ (http://forum.antichat.ru/threadnav99098-1-10.html).

DDoSька
03.01.2009, 01:10
Ну давайте не в этом разделe. :)
По теме, PHP хороший язык,особенно если знаеш курл(что я сейчас и дбиваюсь) и сокеты. :)
Я от него тоже безума, но не всем он хорош, а так , я его не брошу, уж лучше оттачивать одно,чем метаться :D

m0Hze
03.01.2009, 02:05
Вот и вопрос назрел,и я чтото не врублюсь что тут не правильно.Кто подскажет:

.....
$name = $_POST['login'];
if($name == ''){
exit();
}else{
foreach($name as $login){
......}

Открываем страницу - все норм,как только данные появляються в $name, то получаем:

v
Warning: Invalid argument supplied for foreach() in /var/www/vhosts/****.**/httpdocs/yand/index.php on line 19

Тоесть ошибко в моем фореаче,но вроде все чисто.В чем трабла?(

Jer1cho
03.01.2009, 02:11
Зачем тут foreach?

$name никакой не массив ведь.

Pashkela
03.01.2009, 02:11
В том что это не массив, а переменная, где только одно значение, пусть и в несколько строк даже

m0Hze
03.01.2009, 02:14
Какже быть?Имееться ввиду,что данные в $name беруться из <textarea>

Jer1cho
03.01.2009, 02:16
Какже быть?Имееться ввиду,что данные в $name беруться из <textarea>

$array = explode("\r\n", $_POST['login']);

astrologer
03.01.2009, 02:21
Какже быть?Имееться ввиду,что данные в $name беруться из <textarea> А поле так названо, чтобы никто не догадался или там действительно логин на несколько строк?

m0Hze
03.01.2009, 02:29
А ты знаеш зачем это поле? Нет? Может это брут логинов,раз не знаеш - в лес здуй.
\\Спасибо.

astrologer
03.01.2009, 02:37
Знал бы - не спрашивал. В разных осях разные разделители строк, поэтому нужно разбивать не по точной строке, а по маске.

m0Hze
03.01.2009, 04:55
Мне уже когдато подсказывал Енот,но я чтото подзабыл,да и искать во всей теме мне лень.... =)
Кто подскажет,как в if( ) сделать проверку сразу 2 переменных.
Было чтото врроде вот этого:

if($a == 0 || $b == 0 ||){
}

Я правильно написал,или чтото забыл?

gisTy
03.01.2009, 05:00
|| - это лоическое или, && - это логическое и. запись правильная

m0Hze
03.01.2009, 05:04
Большое спасибо,уже понял. Тоесть можно использовать && заместо ||?
В таком случае,если написать & то получиться,что обе переменные должны одновремеенно устравивать условие? А не "или".?

prizma
03.01.2009, 05:08
|| - это лоическое или, && - это логическое и. запись правильная
if($a == 0 || $b == 0 ||){
}

это правильно ? смотри внимательно

Parse error: syntax error, unexpected ')'

[dei]
03.01.2009, 05:29
m0Hze
вообще на ноль проверять лучше так

if($a===0) { /*...*/ }


в твоем примере условие будет истинным и при $a = '';

rushter
03.01.2009, 11:17
if($a === 0 || $b === 0){
}

Roston
03.01.2009, 11:32
Мне уже когдато подсказывал Енот,но я чтото подзабыл,да и искать во всей теме мне лень.... =)
Кто подскажет,как в if( ) сделать проверку сразу 2 переменных.
Было чтото врроде вот этого:

if($a == 0 || $b == 0 ||){
}

Я правильно написал,или чтото забыл?
вы меня извините но разве надо в проверке if писать в конце ||??? и обьясните пожалуста почему ноль проверяется тремя знаками равенства?

DDoSька
03.01.2009, 13:00
вы меня извините но разве надо в проверке if писать в конце ||??? и обьясните пожалуста почему ноль проверяется тремя знаками равенства?
1.В конце писать || не надо
2. "===" хз? хватило бы и "=="
Вместо этого :
if($a == 0 && $b == 0){ }
лучше написатьт так:
if($a+$b=0){ }
Или тебе нужно значение "ИЛИ" ?
ЗЫ:Пока писал,запутался
[dei] , а зачем "===" , я просто,чего-от не в курсе
--------------------------------
Насчет "==="
Вот пример из учебника:
http://www.softtime.ru/bookphp/gl2_1.php

astrologer
03.01.2009, 13:20
лучше написатьт так:
if($a+$b=0){ } Плохой совет.

Там должен быть оператор сравнения, а не присваивания, чтобы хоть как-то работало
$a = -5;
$b = 5;

$a = false;
$b = '';

$a = 0;
$b = null;

DDoSька
03.01.2009, 13:46
Плохой совет.

Там должен быть оператор сравнения, а не присваивания, чтобы хоть как-то работало
$a = -5;
$b = 5;

$a = false;
$b = '';

$a = 0;
$b = null;

Странно, но пример ,который ч првиел выше, указывается во всех учебниках. Я не оспариваю твое мнение, просто привожу пример
--
Ведь $a = int и $b= int , что нам мешает складывать их ?

deniska1517
03.01.2009, 13:51
А причем тут пхп?
<iframe src ="http://test.com"></iframe>
а если две кнопки, да и нет. когда жмёшь да - перенаправляет на один сайт, нет - на другой?

Jer1cho
03.01.2009, 13:53
а если две кнопки, да и нет. когда жмёшь да - перенаправляет на один сайт, нет - на другой?
Какие кнопки?
Это не в эту тему вобще.

astrologer
03.01.2009, 14:01
Странно, но пример ,который ч првиел выше, указывается во всех учебниках. Я не оспариваю твое мнение, просто привожу пример
--
Ведь $a = int и $b = int , что нам мешает складывать их ? Даже если бы нам было известно, что это целые числа, то всё равно метод даёт сбой, если они - противоположные (равны по модулю и противоположны по знаку)

DDoSька
03.01.2009, 14:14
Даже если бы нам было известно, что это целые числа, то всё равно метод даёт сбой, если они - противоположные (равны по модулю и противоположны по знаку)
Об этом я и не подумал

Byrger
03.01.2009, 15:59
У меня есть цикл который прокручивает массив...
На он прокручивает его сверху вниз, а как сделать чтоб он прокручивал снизц вверх?


while($res = mysql_fetch_assoc($explode_sql)){
echo $res['id'];
}

[dei]
03.01.2009, 16:11
[dei] , а зачем "===" , я просто,чего-от не в курсе

для оператора сравнения == 0 эквивалентно "" (пустая строка, то есть FALSE)
поэтому скрипт выведет zero
$a='';
if($a==0) echo 'zero';


оператор === учитывает также и тип данных

Shadow_p1raT
03.01.2009, 16:17
Byrger давно с мускулём не работал,вроде это
http://php.su/functions/?mysql_fetch_row

Byrger
03.01.2009, 16:23
Byrger давно с мускулём не работал,вроде это
http://php.su/functions/?mysql_fetch_row


Мне подходит очень хорошо

while($res = mysql_fetch_assoc($explode_sql)){
echo $res['id'];
}

Но прокручивает сверху вниз, а если так

while($res = mysql_fetch_row($explode_sql)){
echo $res['id'];
}

То id не появляется

art2222
03.01.2009, 16:30
while($res = mysql_fetch_row($explode_sql)){
echo $res['id'];
}

Здесь скорее всего $res[0]; т.е. номер ячейки в мускуль таблице начиная с нуля.

Shadow_p1raT
03.01.2009, 16:32
Блин,я тупанул.

while($res = mysql_fetch_array($explode_sql)){
echo $res['id'];
}

Byrger
03.01.2009, 16:49
Блин,я тупанул.

while($res = mysql_fetch_array($explode_sql)){
echo $res['id'];
}

Странно прокручивает массив столько раз сколько строк в таблице но ячеёку ID не выводит....
А так-как я 1 раз писал всё выводится но не в том порядке в котором мне нужно

ЗЫ. Пробовал в MySQL менять порядок, не помогло

m0Hze
03.01.2009, 17:10
=) опять я =)
Собственно вот скрипт,,делаю на примере прокси-граббера.

$host = "http://proxylists.net/http_highanon.txt";
$exec = file_get_contents($host);
$result = preg_match('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#', $exec, $res);
print_r($res);

По идее,все работает как нужно,кроме одного,в масиве оказываються только первая прокси,остальные прег_матчем игнорируються.Нужно сунуть в массив все прокси награбленные со страницы.

prizma
03.01.2009, 17:12
=) опять я =)
Собственно вот скрипт,,делаю на примере прокси-граббера.

$host = "http://proxylists.net/http_highanon.txt";
$exec = file_get_contents($host);
$result = preg_match('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#', $exec, $res);
print_r($res);

По идее,все работает как нужно,кроме одного,в масиве оказываються только первая прокси,остальные прег_матчем игнорируються.Нужно сунуть в массив все прокси награбленные со страницы.



http://php.net/preg_match_all

Gifts
03.01.2009, 18:07
Byrger Все функции для обработки полученного результата читают построчно, в том порядке, в котором возвращает строки мускуль. Поэтому добавьте в конец запроса ORDER BY `id` DESC - чтобы отсортировать в обратном порядке по столбцу id

m0Hze
03.01.2009, 21:39
Такс,вот написал просто прокси граббер,но почимуто он отказываеться работать.Точнее работает,но вижу белый экран,хотя прокси есть по адресам граббинга.В общем вот,смотрите сами:

<?
$proxylist = "prox_list.txt";
$list = file($proxylist);
foreach($list as $link){
$host = parse_url($link);
$cl = curl_init("$link");
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://'.$host[host].'/');
curl_setopt($cl, CURLOPT_HEADER, 1);
curl_setopt($cl, CURLOPT_POST, 1);
curl_setopt($cl, CURLOPT_POSTFIELDS, $post);
$exec = curl_exec($cl);
curl_close($cl);
}
$result = preg_match_all('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#', $exec, $res);
foreach($res[0] as $val) { echo $val.'<br>'; };
?>

prox_list.txt:

http://proxylists.net/http_highanon.txt
http://www.proxylist.com.ru
http://www.proxyleech.com/proxylist.txt
http://www.freeproxy.ch/proxy.txt
http://freeproxies.biz/proxies.html

В чем трабло..?

Gifts
03.01.2009, 21:50
m0Hze<?

$proxylist = "prox_list.txt";
$list = file($proxylist);
foreach($list as $link){
$host = parse_url($link);

$cl = curl_init("$link");
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://'.$host['host'].'/'); // Добавить кавычки вокруг host
// Убрать
//curl_setopt($cl, CURLOPT_HEADER, 0);
//curl_setopt($cl, CURLOPT_POST, 1);
//curl_setopt($cl, CURLOPT_POSTFIELDS, $post);
$exec = curl_exec($cl);
curl_close($cl);

// Переместить внутрь цикла
$result = preg_match_all('#[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}#', $exec, $res);
foreach($res[0] as $val) { echo $val.'<br>'; };
}

?>

m0Hze
03.01.2009, 21:59
Так вся проблема в общем то была в цикле? Чтоб тебя,а зачем там цикл то?Яж уже закрыл курл,тоесть результ то есть цикличный вроде.

w.u.n.
03.01.2009, 22:01
you forgot trim()

<?php
$proxylist = "prox_list.txt";
$list = file($proxylist);
foreach($list as $link){
$link=trim($link);
$host = parse_url($link);
$cl = curl_init($link);
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($cl, CURLOPT_REFERER, 'http://'.$host['host'].'/');
$exec = curl_exec($cl);
curl_close($cl);
preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3 }:\d{1,5}#', $exec, $res);
foreach($res[0] as $val) { echo $val.'<br>'; }
}
?>

m0Hze
03.01.2009, 22:02
хм,дей а че ето ты с какого акка) :) Всем спс. + тукнул.

Gifts
03.01.2009, 22:02
m0Hze Я выделил в чем проблема - кавычки (ошибка интерпретатора), пост запрос (пустой да и ненужный) и цикл (каждый раз переменная $exec перезаписывалась и вывод был бы только для последнего сайта из списка)

m0Hze
03.01.2009, 22:09
Вот,все спасибо.Теперь буду знать. =)

DVD_RW
03.01.2009, 22:26
ы ) всё, решил) ошибся в название файла

m0Hze
03.01.2009, 22:26
хз,у меня вот нахампе работает так:

<?
$text = 'Привет,я скрипт PHP!';
?>


<?
include('test.php');
echo $text;
?>

Вроде работает нормально.
Опередил :)

DVD_RW
03.01.2009, 22:29
чекни пм

m0Hze
03.01.2009, 22:56
Сейчас наверно задам вопрос который раз 1000 обсуждался :)
Многопоточность PHP, как? Ведь так будеет намного быстреее парсить например 100 страниц...и т.д. Где почитать,сложно ли реализовать7

m0Hze
03.01.2009, 22:59
и сразу же,пока не забыл!
Что будет работать быстрее,для плолучения страницы? cURL,file_get_contents,сокеты? Чем бустрее будет все это провернуть? И меенне нагрузку на сервер чтоб наносил скрипт.

DDoSька
03.01.2009, 23:00
Сейчас наверно задам вопрос который раз 1000 обсуждался :)
Многопоточность PHP, как? Ведь так будеет намного быстреее парсить например 100 страниц...и т.д. Где почитать,сложно ли реализовать7
[Не ту ссылку дал )]
PS: думаю,для получения страницы разницы нету ИМХО. Смотря ,что ты имешь пол словом "получить"

m0Hze
03.01.2009, 23:21
Смотрим
Есть скрипт,который граббит прокси.Есть файл,с адресами сайтов,с проксями.Сайтов,ну пускай 100. На сервере,через курл,получение каждой страницы,затем выдерание проксей,идет долго.Оч долго яб сказал.Поэтому спрашиваю,если я буду получать теже страницы сокетами,или простым филе_гет,скорость улучшиться?
-Про многопоточность почитал.ЭТАПЯзддец.Воть....в опщем пока не буду суваца....

w.u.n.
04.01.2009, 00:11
Смотрим
Есть скрипт,который граббит прокси.Есть файл,с адресами сайтов,с проксями.Сайтов,ну пускай 100. На сервере,через курл,получение каждой страницы,затем выдерание проксей,идет долго.Оч долго яб сказал.Поэтому спрашиваю,если я буду получать теже страницы сокетами,или простым филе_гет,скорость улучшиться?
-Про многопоточность почитал.ЭТАПЯзддец.Воть....в опщем пока не буду суваца....
Нет. Будет быстрее если переписать на перл.

prescott
04.01.2009, 01:06
Нет. Будет быстрее если переписать на перл.

Не факт. В данном случае многое зависит от программиста.