
01.09.2009, 19:40
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
С нами:
10269701
Репутация:
58
|
|
Сообщение от FireFenix
echo $main->config['bd']['login'];
ты сути не понял...
смотри мы создаем функцию у нас создается локаьлная область видимости переменных, что бы видны были глобальные переменные мы делаем вот так...
PHP код:
function main() {
global $var;
....код...
}
я хочу нечто такое же для класса. чтобы в классе подгружались некие "глобальные" переменные
|
|
|

01.09.2009, 19:57
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами:
8915117
Репутация:
389
|
|
никак.... создай базовый класс и в нём всё храни... либо класс контейнер
|
|
|

01.09.2009, 20:01
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
С нами:
10269701
Репутация:
58
|
|
Сообщение от FireFenix
никак.... создай базовый класс и в нём всё храни... либо класс контейнер
что подразумется под класс-контейнер?
тупо все перменные залить туда?
|
|
|

01.09.2009, 20:02
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами:
8915117
Репутация:
389
|
|
Сообщение от RedBull@12
что подразумется под класс-контейнер?
тупо все перменные залить туда?
тада
ну не все.....а к которым кросс доступ нужен
|
|
|

01.09.2009, 20:10
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
С нами:
10269701
Репутация:
58
|
|
Сообщение от FireFenix
тада
ну не все.....а к которым кросс доступ нужен
не это как-то не по-гиковски...я предлагаю как вариант...пропарсить инклудный файл, конструктором автостарта регуярками....сейачс напишу....посмотрим что получится=)
|
|
|

01.09.2009, 20:25
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
С нами:
8915117
Репутация:
389
|
|
Сообщение от RedBull@12
не это как-то не по-гиковски...я предлагаю как вариант...пропарсить инклудный файл, конструктором автостарта регуярками....сейачс напишу....посмотрим что получится=)
Это индусский код - передавать глоабльные переменные через подключаемый файл...... для каждого нового класса
|
|
|

01.09.2009, 21:58
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
С нами:
10269701
Репутация:
58
|
|
ЭВРИКА!
Ура!
2FireFenix,элементарно все оказалось!
PHP код:
<?php
class base {
public $vars;
function __construct() {
require_once("vars.php");
$this->vars = $__VARS;
print_r($this->vars);
}
}
$base = new base;
?>
Последний раз редактировалось RedBull@12; 01.09.2009 в 22:01..
|
|
|

02.09.2009, 02:31
|
|
Участник форума
Регистрация: 12.03.2008
Сообщений: 159
С нами:
9559919
Репутация:
137
|
|
PHP код:
<?
$method="POST";
$addr="/login.php"; //адрес относительно корня сервера,
$target="127.0.0.1"; //ip адрес сервера, или прокси сервера, через который оправить запрос
$targetport=80; //порт сервера или прокси
$postvars="op=a_login_attempt&email=zzz@mail.ru&pass=zzzzzz&expire=0";
$len=strlen($postvars);
$in=
"$method $addr HTTP/1.1\r\n".
"Host: vkontakte.ru\r\n".
"User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2\r\n".
"Accept: */*\r\n".
"Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n".
"Accept-Encoding: gzip,deflate\r\n".
"Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n".
"Keep-Alive: 300\r\n".
"Connection: keep-alive\r\n".
"Content-Length: $len\r\n\r\n".
$postvars;
echo $in;
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
$result = socket_connect ($socket, $target, $targetport);
socket_write($socket, $in, strlen($in));
$o="";
while ($out = socket_read ($socket, 2048)) {
$o.=$out;
}
echo $o;
?>
Однако при тесте показывает 404 страница хостера вместо ответа от сервера =( можно как-то проще сделать, а не через сокет?
Последний раз редактировалось zavra; 02.09.2009 в 02:34..
|
|
|

02.09.2009, 02:50
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
С нами:
10269701
Репутация:
58
|
|
Сообщение от zavra
PHP код:
<?
$method="POST";
$addr="/login.php"; //адрес относительно корня сервера,
$target="127.0.0.1"; //ip адрес сервера, или прокси сервера, через который оправить запрос
$targetport=80; //порт сервера или прокси
$postvars="op=a_login_attempt&email=zzz@mail.ru&pass=zzzzzz&expire=0";
$len=strlen($postvars);
$in=
"$method $addr HTTP/1.1\r\n".
"Host: vkontakte.ru\r\n".
"User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; ru; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2\r\n".
"Accept: */*\r\n".
"Accept-Language: ru,en-us;q=0.7,en;q=0.3\r\n".
"Accept-Encoding: gzip,deflate\r\n".
"Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n".
"Keep-Alive: 300\r\n".
"Connection: keep-alive\r\n".
"Content-Length: $len\r\n\r\n".
$postvars;
echo $in;
$socket = socket_create (AF_INET, SOCK_STREAM, 0);
$result = socket_connect ($socket, $target, $targetport);
socket_write($socket, $in, strlen($in));
$o="";
while ($out = socket_read ($socket, 2048)) {
$o.=$out;
}
echo $o;
?>
Однако при тесте показывает 404 страница хостера вместо ответа от сервера =( можно как-то проще сделать, а не через сокет?
так у вас адрес локальный, а хост в запросе порписан vkontakte.ru...
можно через cURL
PHP код:
$c = curl_init();
curl_setopt($c, CURLOPT_URL, "http://vkontakte.ru/");
curl_setopt($c, CURLOPT_REFERER, "http://vkontakte.ru/");
curl_setopt($c, CURLOPT_USERAGENT, "9.60 beta под Windows XP — Opera/9.60 (Windows NT 5.1; U; en) Presto/2.1.1");
curl_setopt($c, CURLOPT_HEADER, 1);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
$body = curl_exec($c);
curl_close($c);
//это обычный гет
PHP код:
$c = curl_init();
curl_setopt($c, CURLOPT_URL, "http://vkontakte.ru");
curl_setopt($c, CURLOPT_REFERER, "http://vkontakte.ru");
curl_setopt($c, CURLOPT_USERAGENT, "9.60 beta под Windows XP — Opera/9.60 (Windows NT 5.1; U; en) Presto/2.1.1");
curl_setopt($c, CURLOPT_HEADER, 1);
curl_setopt($c, CURLOPT_POST, 1);
curl_setopt($c, CURLOPT_POSTFIELDS, $post);
curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($c, CURLOPT_COOKIE, $cookies);
$body = curl_exec($c);
curl_close($c);
//это пост
http://www.php.su/functions/?cat=curl здесь подробно описао какие ключи что значат. икак пользоваться...
PHP код:
preg_match_all('|Set-Cookie: (.*);|U', $body, $results);
$cookies = implode(';', $results[1]);
регулярка для выдерания куков из пришедших хедеров
Последний раз редактировалось RedBull@12; 02.09.2009 в 03:01..
|
|
|

02.09.2009, 03:20
|
|
Участник форума
Регистрация: 12.03.2008
Сообщений: 159
С нами:
9559919
Репутация:
137
|
|
прописал в хост http://vkontakte.ru, выдает 400 Bad Request
через curl для меня еще сложнее( но такой вариант тоже попробую, спс. с сокетами хочется до конца разобраться
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|