Ezekiel

Ezekiel
Рейтинг
28
Регистрация
11.08.2010
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

это в двух словах.

а вобще читай мануал - там есть все.

в 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).

По коду:


//открываем файл на запись и получаем его дескриптор/идентификатор
$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);

Как-то спутанно получилось написать, но надеюсь кому-нибудь пригодится.

посмотрел на сайт - тебе нужна базовая авторизация, а мой предыдущий пост - бред :) не слушай меня :)

---------- Добавлено 22.06.2012 в 19:57 ----------

$url = 'http://api2.gifts.ru/export/catalogue/1198.46_jpg_280x280b1.jpg';

$file = '/path/to/file/saved.jpg';
$user = 'sjsjsjsjsjsjsj';
$pass = 'vnfjvnjfnvjfn';
$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);

это не нужно


curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);

ты забыл


curl_setopt($ch, CURLOPT_POST, true);

также нужно сделать

$login = urlencode('***');

$paswd = urlencode('***');

Посмотрел обе версии. Везде ок. Таких проблем как у тебя нет.

Ligue-1:
Могу дать ссылку на шаблон, сайт закрыт щас.

Понимаешь, чтобы лечить пациента, нужен именно пациент (внезапно, да?), а не его брат, пусть даже и близнец.

Ligue-1, телепаты в отпуске. Сайт покажи, не по скрину же тебе подсказывать.

Ligue-1, поправить css

Всего: 169