Задать вопрос
  • Как отправлять большое количество email?

    @checky Автор вопроса
    кажется это не так просто как я думал
  • Где инструменты мерчанта в Advcash?

    @checky
    Тарас Лабяк: да, зачем вы спрашиваете очевидные вещи, просто скиньте ссылку, пожалуйста
  • Как получить данные от vk api через curl?

    @checky Автор вопроса
    Andrey Baranichenko: спасибо за ответ, но нет:
    <?php 
    function getPage($url) {
            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_HEADER, 1); // заголовк получаем тоже
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // если не 0 возвращает результат а не выводит его в браузер
            curl_setopt ($ch , CURLOPT_USERAGENT , "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7"); // каким браузером будем прикидываться
            //curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); //переход при редиректе
            //curl_setopt($ch, CURLOPT_MAXREDIRS, 3); //макс количество переходов при редиректе
            $data = curl_exec($ch);
            $response_code =  curl_getinfo($ch,CURLINFO_HTTP_CODE);
            curl_close($ch);
     ////////////////////////////////
             if(!$response_code){
    			 echo $response_code;
                return false;             
             }
            if($response_code == '301' || $response_code == '302'){
                preg_match('/Location:(.*?)\n/', $data, $matches);
                $newurl = trim(array_pop($matches));
                //curl_close ($ch);
                $this->logMessage('перенаправление  '.$url.' с  кодом ошибки '.$response_code.' на '.$newurl);
    
                $data = $this->getPage($newurl);
                
            }
    		return $data;
    }
    $pleasework = getPage('https://api.vk.com/method/wall.getById?posts=117180742_8288');
    echo $pleasework;
    ?>

    > переписал вашу часть с $this->logMessage('Не удалось получить страницу '.$url.' код оширбки '.$response_code); чтобы посмотреть код ошибки - 0, нет ответа (до этого выдавало Fatal error: Using $this when not in object context in /testcurl.php on line 15)
  • Где инструменты мерчанта в Advcash?

    @checky
    пожалуйста дай ссылку на демо магазина/ приёма платежей
  • Насколько затратно так использовать подключения к базе данных sql?

    @checky Автор вопроса
    Alex Safonov: да, спасибо, именно это я и спрашивал)
  • Насколько затратно так использовать подключения к базе данных sql?

    @checky Автор вопроса
    Алексей Уколов: да, но оно открывается только у авторизированных пользователей И ГЛАВНОЕ в другом пхп файле, который возвращает всё с задержкой (получаю их через ajax, поэтому при загрузке страницы их получить и на их основе что-то выбирать не получится)
  • Насколько затратно так использовать подключения к базе данных sql?

    @checky Автор вопроса
    Alex Safonov: дада мне лень разбираться в том js, точнее нет времени - придумал тупое, но эффективное решение по моей задаче (если интересно- посмотрите внизу :) ), всё-таки я этот вопрос больше писал исходя из общих соображений - то есть это вообще легально так использовать бд?
  • Насколько затратно так использовать подключения к базе данных sql?

    @checky Автор вопроса
    >Ну и никто не запрещает кешировать значение в сессии. - да, но у меня слишком через одно место сделанная система, так не получится, а переделывать нет времени.

    вопрос именно в том какие это спички - проблемно ли при каждой загрузке странице так подключатся к базе данных и проверять это значение если предположить что таких 100к уникальных?
  • Насколько затратно так использовать подключения к базе данных sql?

    @checky Автор вопроса
    Да, оно есть, но авторизация через vk api, ответ от вк скрипта отправляю в другой php файл через ajax (то есть только авторизированные пользователи создают нагрузку), а там как раз идут все проверки и полученную data от этого ajax отображаю на первой странице - проблема в том, что если я проведу проверку там и выведу свой слайдсет через эту data, то это всё-равно происходит через js (тк ответ от ajax) и мой слайдсет должным образом не отобразится..(

    вопрос именно в этом - проблемно ли при каждой загрузке странице так подключатся к базе данных и проверять это значение?
  • Насколько затратно так использовать подключения к базе данных sql?

    @checky Автор вопроса
    1) Да, права доступа в БД, и я совсем не против проверять их при загрузке страницы, НО именно при загрузке страницы у каждого, КАЖДЫЙ РАЗ, то есть вопрос именно в этом - проблемно ли при каждой загрузке странице так подключатся к базе данных и проверять это значение?
    (когда выбирал хостинг видел у некоторых про ограничение на одновременное подключение к базе данных ~ 100 обычно по-моему, но в любом случае решил купить свой vps/vds, хотя ни разу ещё с этим дело не имел, но мне сказали в службе поддержки что помогут всё настроить. Тогда наверное такого ограничение на одновременные подключения не будет)
    2-3) Точно, картинки то у меня на серваке, значит всё-равно на меня нагрузка идёт, хотя я их могу и допустим в гугл залить.. В общем что лучше - всем картинки раздавать и не делать подключение к базе данных по миллион раз на день ИЛИ миллион подключений к базе в день, но картинки только тем, кому нужны (~30-50% пользователей).
  • Как получить данные от vk api через curl?

    @checky Автор вопроса
    GTRxShock: тот же результат - пустая страница, без разбиения (или, к примеру с разбиением на букве r(точно есть в слове response) $data тоже ничего не показывает(
  • Как получить данные от vk api через curl?

    @checky Автор вопроса
    GTRxShock: ахах, спасибо) я просто ещё не дошёл до этого, а хочу делать всё последовательно, нужен был просто вариант который работает и возвращает то что нужно.. в любом случае сейчас уже сажусь разбираться, и последнее -
    <?php

    function curl_redir_exec($ch)
    {
    static $curl_loops = 0;
    static $curl_max_loops = 20;
    if ($curl_loops++ >= $curl_max_loops)
    {
    $curl_loops = 0;
    return FALSE;
    }
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $data = curl_exec($ch);
    list($header, $data) = explode("\n\n", $data, 2);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($http_code == 301 || $http_code == 302)
    {
    $matches = array();
    preg_match('/Location:(.*?)\n/', $header, $matches);
    $url = @parse_url(trim(array_pop($matches)));
    if (!$url)
    {
    //couldn't process the url to redirect to
    $curl_loops = 0;
    return $data;
    }
    $last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL));
    if (!$url['scheme'])
    $url['scheme'] = $last_url['scheme'];
    if (!$url['host'])
    $url['host'] = $last_url['host'];
    if (!$url['path'])
    $url['path'] = $last_url['path'];
    $new_url = $url['scheme'] . '://' . $url['host'] . $url['path'] . ($url['query']?'?'.$url['query']:'');
    curl_setopt($ch, CURLOPT_URL, $new_url);
    debug('Redirecting to', $new_url);
    return curl_redir_exec($ch);
    } else {
    $curl_loops=0;
    return $data;
    }
    }

    function getPage($url) {
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $result = curl_redir_exec($ch);
    curl_close($ch);
    return $result;
    }

    $res = getPage('https://api.vk.com/method/wall.getById?posts=11718...');
    echo $res;
    ?>

    - пустая страница
  • Как получить данные от vk api через curl?

    @checky Автор вопроса
    GTRxShock: и ещё хотел спросить - >p.s. не забываем, что это своего рода костыль, - в чём недостатки этого метода? или я неправильно понял смысл слова "костыль"
  • Как получить данные от vk api через curl?

    @checky Автор вопроса
    GTRxShock:

    <?php

    function curl_redir_exec($ch)
    {
    static $curl_loops = 0;
    static $curl_max_loops = 20;
    if ($curl_loops++ >= $curl_max_loops)
    {
    $curl_loops = 0;
    return FALSE;
    }
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    $data = curl_exec($ch);
    list($header, $data) = explode("\n\n", $data, 2);
    $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($http_code == 301 || $http_code == 302)
    {
    $matches = array();
    preg_match('/Location:(.*?)\n/', $header, $matches);
    $url = @parse_url(trim(array_pop($matches)));
    if (!$url)
    {
    //couldn't process the url to redirect to
    $curl_loops = 0;
    return $data;
    }
    $last_url = parse_url(curl_getinfo($ch, CURLINFO_EFFECTIVE_URL));
    if (!$url['scheme'])
    $url['scheme'] = $last_url['scheme'];
    if (!$url['host'])
    $url['host'] = $last_url['host'];
    if (!$url['path'])
    $url['path'] = $last_url['path'];
    $new_url = $url['scheme'] . '://' . $url['host'] . $url['path'] . ($url['query']?'?'.$url['query']:'');
    curl_setopt($ch, CURLOPT_URL, $new_url);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
    debug('Redirecting to', $new_url);
    return curl_redir_exec($ch);
    } else {
    $curl_loops=0;
    return $data;
    }
    }
    $result = curl_redir_exec('https://api.vk.com/method/wall.getById?posts=11718...');
    echo $result;
    ?>

    что я делаю не так -

    Warning: curl_setopt() expects parameter 1 to be resource, string given in /home/uXXX/public_html/test.php on line 12

    Warning: curl_exec() expects parameter 1 to be resource, string given in /home/uXXX/public_html/test.php on line 15

    Warning: curl_getinfo() expects parameter 1 to be resource, string given in /home/uXXX/public_html/test.php on line 17

    спасибо)
  • Как получить данные от vk api через curl?

    @checky Автор вопроса
    принцип кажется понял, мы так перехватываем то, куда нас перенаправляет по идее? наверное.. дело в том, что я с классами ещё никогда ничего не делал, тк прогаю как бы для себя под свои нужды и с этим не сталкивался и всего лишь когда-то месяцы назад почитал немного основной теории. сейчас это пишу только потому что безумно устал и пойду спать сейчас) как очнусь буду в этом разбираться, но если Вам не трудно - напишите немного поподробнее, или просто целый пример кода, в который я вставлю нужный урл, проверю как работает и буду построчно разбирать.. в любом случае спасибо)
  • Как обработать методы vk api через php cron?

    @checky Автор вопроса
    Андрей: Warning: file_get_contents(https://api.vk.com/method/wall.getById?posts=11718... failed to open stream: Connection refused in /home/uXXX/public_html/test.php on line 4
  • Как обработать методы vk api через php cron?

    @checky Автор вопроса
    Андрей: нет, с этим я уже разобрался и всё подготовил.. сейчас, когда начал тестить обнаружил, что file_get_contents(от httpS) выдаёт ошибку, но сейчас ещё раз перепроверил - на koding.com работает нормально, значит проблема в хостинге