Qest: Если я сделаю такой запрос то к примеру будет 1млн совпадений, но он будет выполняться кучу времени,
Вы теоретик? Счего Вы взяли, что этот запрос будет долго выполняться? Я на милионах записей делал довольно быстрые выборки. Зависит от индексов и "правильности" запросов, ну память еще и т.д.
Вы запрос то пробовали делать? Если да то скажите: есть такой-то запрос, есть такая-то таблица, выполняется столько-то, как оптимизировать?
class SomeModule {
private $path = '/path/to/module';
public function somefunc($var) {
retutn $this->path . $var;
}
}
внутри класса не используй var - это php4, используй public, protected, private - это php5.
переменные внутри класса называются свойствами. в моем примере $path - это свойство. обращаться к свойствам класса можно через $this, т.е. так: $this->path.
чтобы, добавить новые функции, если я тебя правильно понял, нужно использовать наследование.
например мой класс SomeModule имеет публичную (доступную из вне) ф-цию somefunc и приватное (доступное только внутри класса) свойство $path. используя наследование мы можем сделать так:
class NewModule extends SomeModule {
public function test() {
return true;
}
}
теперь класс NewModule имеет публичную ф-цию somefunc, приватное свойство $path и публичную ф-цию test
Даже не знаю, как объяснить... Да простят меня знатоки :)
Грубо говоря, есть 2 вида аутентификации:
Basic и Digest - это один тип (их два конечно же, но они очень похожи, поэтому я их записываю в один).
Второй тип - это аутентификация, через форму на сайте. Я не знаю как он по-научному называется :) Этот тип, например, используется на этом форуме, в гугле, вконтакте и т.д.
В случае с сайтом из этого топика - это Basic auth. Это видно по окну, которое просит пароль. Если видите такое окно, знайте - это Basic auth (или Digest).
Для работы с этим типом аутентификации, у curl'а есть опция CURLOPT_USERPWD, которая принимает строку "юзер:пароль". Это работает и для Basic и для Digest, т.е. на первых порах Вам простительно не отличать эти два типа.
Если бы, Вы пытались логинится на этом форуме, Вам следовало бы использовать что-то типа curl_setopt($ch, CURLOPT_POSTFIELDS,"LOGIN=".$login."&PASSWORD=".$paswd).
По коду:
//открываем файл на запись и получаем его дескриптор/идентификатор
$f = fopen($file, 'w');
//инициализируем курл и передаем нужный нам урл
$ch = curl_init($url);
//устанавливаем данные для аутентификации
curl_setopt($ch, CURLOPT_USERPWD, $user . ":" . $pass);
//говорим курлу, что ответ не нужно выводить в браузер (кстати, я не тестил, но возможно эта строка и не нужна :)) писал по памяти
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
//говорим курлу что полученные по урлу данные хотим писать в файл и указываем дескриптор файла
curl_setopt($ch, CURLOPT_FILE, $f);
//запускаем всю эту хрень
curl_exec($process);
Как-то спутанно получилось написать, но надеюсь кому-нибудь пригодится.
Если я сделаю такой запрос то к примеру будет 1млн совпадений, но он будет выполняться кучу времени,
Вы теоретик? Счего Вы взяли, что этот запрос будет долго выполняться? Я на милионах записей делал довольно быстрые выборки. Зависит от индексов и "правильности" запросов, ну память еще и т.д.
Вы запрос то пробовали делать? Если да то скажите: есть такой-то запрос, есть такая-то таблица, выполняется столько-то, как оптимизировать?
Запрос делали? Проблема в чем?
внутри класса не используй var - это php4, используй public, protected, private - это php5.
переменные внутри класса называются свойствами. в моем примере $path - это свойство. обращаться к свойствам класса можно через $this, т.е. так: $this->path.
чтобы, добавить новые функции, если я тебя правильно понял, нужно использовать наследование.
например мой класс SomeModule имеет публичную (доступную из вне) ф-цию somefunc и приватное (доступное только внутри класса) свойство $path. используя наследование мы можем сделать так:
class NewModule extends SomeModule {
public function test() {
return true;
}
}
теперь класс NewModule имеет публичную ф-цию somefunc, приватное свойство $path и публичную ф-цию test
это в двух словах.
а вобще читай мануал - там есть все.
в php.ini попробуй написать extension=php_openssl.dll
---------- Добавлено 23.06.2012 в 10:23 ----------
и еще должно быть включено allow_url_fopen = On
SET NAMES 'utf-8'
---------- Добавлено 23.06.2012 в 00:16 ----------
A SET NAMES 'x' statement is equivalent to these three statements:
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;
Даже не знаю, как объяснить... Да простят меня знатоки :)
Грубо говоря, есть 2 вида аутентификации:
Basic и Digest - это один тип (их два конечно же, но они очень похожи, поэтому я их записываю в один).
Второй тип - это аутентификация, через форму на сайте. Я не знаю как он по-научному называется :) Этот тип, например, используется на этом форуме, в гугле, вконтакте и т.д.
В случае с сайтом из этого топика - это Basic auth. Это видно по окну, которое просит пароль. Если видите такое окно, знайте - это Basic auth (или Digest).
Для работы с этим типом аутентификации, у curl'а есть опция CURLOPT_USERPWD, которая принимает строку "юзер:пароль". Это работает и для Basic и для Digest, т.е. на первых порах Вам простительно не отличать эти два типа.
Если бы, Вы пытались логинится на этом форуме, Вам следовало бы использовать что-то типа curl_setopt($ch, CURLOPT_POSTFIELDS,"LOGIN=".$login."&PASSWORD=".$paswd).
По коду:
Как-то спутанно получилось написать, но надеюсь кому-нибудь пригодится.
посмотрел на сайт - тебе нужна базовая авторизация, а мой предыдущий пост - бред :) не слушай меня :)
---------- Добавлено 22.06.2012 в 19:57 ----------
это не нужно
ты забыл
также нужно сделать
$login = urlencode('***');
$paswd = urlencode('***');
Посмотрел обе версии. Везде ок. Таких проблем как у тебя нет.
Могу дать ссылку на шаблон, сайт закрыт щас.
Понимаешь, чтобы лечить пациента, нужен именно пациент (внезапно, да?), а не его брат, пусть даже и близнец.
Ligue-1, телепаты в отпуске. Сайт покажи, не по скрину же тебе подсказывать.
Ligue-1, поправить css