Вопрос о стабильной работе сайта онлайн фильмов.
Страницы: Пред. 1 2 3
Вопрос о стабильной работе сайта онлайн фильмов.
Итак, товарищи. Знаю что здесь, на CY-PR.com, есть много прекрасных программистов, поэтому требуется ваша помощь. Итак, ограничения на uCoz - php:
Код
ОБЩАЯ ИНФОРМАЦИЯПри активации услуги PHP для сайта учетная запись создается на отдельном сервере, на котором происходит исполнение всех php-скриптов. Доступ к данной учетной записи, загрузка, изменение и удаление данных осуществляется по протоколу FTP с логином и паролем (указанным при активации услуги PHP), которые можно посмотреть в панели управления сайтом.При создании аккаунта автоматически создается директория scripts, в которой должны размещаться все php-скрипты, которые вызываются на страницах сайта. Все скрипты должны иметь расширение ".php", только такие файлы доступны по прямым адресным ссылкам. Все другие файлы (их содержимое) можно получать ТОЛЬКО посредством самих php-скриптов.
Все учетные записи создаются со следующими ограничениями:максимальный объем занимаемого дискового пространства - 200Мбмаксимальное количество файлов и директорий - 10000максимальное количество файлов в директории - 500максимальное время исполнения скрипта - 15 секундКАК ИСПОЛЬЗОВАТЬИспользовать php-скрипты на страницах сайта можно в текущем домене через проксирование: 
http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM 
В шаблонах для вызова php-скрипта можно использовать функцию PHPCODE следующим образом: 
<?$PHPCODE$("http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM")?> 
где:SITE_ADDRESS - адрес сайта пользователя, на котором выполняется скриптSCRIPT_NAME - путь (относительно папки scripts) и имя скрипта, который выполняется?param0=valueA¶m1=valueB...¶mN=valueM - необязательные параметры для скрипта
Данная функция выполняет GET-запрос на указанный скрипт. Ответ для нее должен быть возвращен только в формате json, т.е. при использовании данной функции в шаблонах страниц, вызываемый ею скрипт не должен менять тип возвращаемых данных на какой-либо другой (путем установки переменной $___notjson, использования функции header('Content-type: TYPE') и т.п.). Использовать ее можно 1 раз на страницу. Для вызова методом GET нескольких скриптов на одной странице можно использовать исходный javascript код функции $PHPCODE$, изменяя идентификатор (id) тега <div id="phpdiv">. Реализовать использование POST-запросов можно через формы, iframe, другие скрипты этого домена и т.д, например: 

в файле шаблона: 
<script type="text/javascript">
    function updatepostdata(result) { $('#postdiv').html(result); }
</script>
<div id="postdiv"></div>
<iframe frameborder="0" src="http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM"></iframe> 

в скрипте SCRIPT_NAME.php: 
<?
$___notjson=1;
if ($_POST)
{
    $ret="POST OK:<br>";
    foreach ($_POST as $i => $val) $ret.="$i=$val<br>";
    echo "<script type=\"text/javascript\">
    window.parent.updatepostdata(\"$ret\");
    </script>";
}
echo "<form action=\"http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM\" method=\"POST\">
<input type=\"hidden\" name=\"field0\" value=\"test_".rand()."\">
<input type=\"submit\" value=\"Go\">
</form>";
?> 

ИЛИ

в файле шаблона: 
<script type="text/javascript">
    function updatepostdata(result) { $('#postdiv').html(result); }
</script>
<div id="postdiv"></div>
<iframe frameborder="0">
    <form action=\"http://SITE_ADDRESS/php/SCRIPT_NAME.php?param0=valueA¶m1=valueB...¶mN=valueM\" method=\"POST\">
     <input type=\"hidden\" name=\"field0\" value=\"test_".rand()."\">
     <input type=\"submit\" value=\"Go\">
    </form>
</iframe>

в скрипте SCRIPT_NAME.php: 
<?
$___notjson=1;
if ($_POST)
{
    $ret="POST OK:<br>";
    foreach ($_POST as $i => $val) $ret.="$i=$val<br>";
    echo "<script type=\"text/javascript\">
    window.parent.updatepostdata(\"$ret\");
    </script>";
}
else echo "No data<br>";
?> 

Есть несколько параметров, которыми можно управлять в скрипте:$___notjson=1 - если данная переменная установлена в единицу, то результат работы скрипта возвращается в том виде, в каком его сформировал скрипт, иначе (по умолчанию) результат возвращается в json формате$___retval - результат работы скрипта (возвращенные им данные), может быть установлена в скрипте пользователя и будет использоваться, как результат работы$___error - используется как описание ошибки в случае, если скрипт должен ее вернуть

НЕ ИСПОЛЬЗУЙТЕ __FILE__, т.к. скрипты выполняются через wrapper, и данная переменная определена как название wrapper-скрипта.

Внимание!
1. Любые попытки использовать PHP-скрипты для злонамеренных действий, в частности для отправки большого числа HTTP-запросов куда-либо, наказываются удалением сайта!
2. По умолчанию результат работы скрипта возвращается В ФОРМАТЕ JSON.ОГРАНИЧЕНИЯ PHPВ данной реализации запрещено использование следующих функций языка:системные вызовы (proc_open, proc_terminate, shell_exec, system и т.д.)низкоуровневые функции по работе с файловой системой (dio_fcntl, dio_open, dio_read, dio_seek и т.д.)posix функцииshared memory функцииMySQL функции: mysql_stat, mysql_pconnectБолее практичные примеры использования скриптов можно посмотреть на phpexample.ucoz.net.
Хронологию изменений и дополнений можно посмотреть на phpexample.ucoz.net/manual.
 
 Код, который я нашёл в сети (парсер видео ВК)

Код
 <?php

if( ! defined( 'DATALIFEENGINE' ) ) {
   die( "Hacking attempt!" );
}

$nameacc = "qwerty@mail.ru"; //e-mail от вконтакте
$passacc = "4566464"; //пароль от вконтакте

function strip_data($text) {
   $quotes = array ("\x27", "\x22", "\x60", "\t", "\n", "\r", "'", "/", "¬", ";", "@", "~", "[", "]", "{", "}", "=", ")", "(", "*", "&", "^", "%", "$", "<", ">", "?", "!", '"' );
   $goodquotes = array ("-", "+", "#" );
   $repquotes = array ("\-", "\+", "\#" );
   $text = stripslashes( $text );
   $text = trim( strip_tags( $text ) );
   $text = str_replace( $quotes, '', $text );
   $text = str_replace( $goodquotes, $repquotes, $text );
   return $text;
}

function auth($email, $pass) {
    $cookies = '';
    $email = urlencode($email);
    $pass = urlencode($pass);

$auth_c = dle_cache("auth_c", $config['skin']);
if( !$auth_c ) {

$context = stream_context_create(
array(
        'http'=>array(
                        'header' => "Content-type: text/html\r\nAccept-Charset: windows-1251\r\nAccept-Language: ru-ru\r\nUser-Agent: Mozilla/4.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20036725 Firefox/2.0.0.1\r\nConnection: Close\r\n\r\n",
                        'method' => 'GET'
                     )
    )
);

    $temp = array();
    $temp['first'] = array();
    $temp['second'] = array();
    $temp['html'] = file_get_contents("http://vkontakte.ru/login.php?email=".$email."&pass=".$pass, false, $context);
    $temp['headers'] = $http_response_header;

    foreach($temp['headers'] as &$value){
        if(substr($value, 0, 11)=='Set-Cookie:'){
            $temp['parts'] = explode(';', substr($value, 12));
            array_push($temp['first'], $temp['parts'][0]);
        }
    }
    $temp['second'] = array_unique($temp['first']);
    foreach($temp['second'] as &$value){
        $cookies .= $value.';';
    }
    unset($temp);

$auth_c = substr($cookies, 0, -1);

   create_cache( "auth_c", $auth_c, $config['skin'] );
}

 return $auth_c;
}

function search_video($cookies, $query){
    $query = urlencode($query);
  $cl = curl_init();
  curl_setopt($cl, CURLOPT_URL, 'http://vkontakte.ru/gsearch.php');
  curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($cl, CURLOPT_HEADER, 0);
  curl_setopt($cl, CURLOPT_COOKIE, $cookies);
  curl_setopt($cl, CURLOPT_FOLLOWLOCATION, 0);
  curl_setopt($cl, CURLOPT_USERAGENT, 'Mozilla/4.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20036725 Firefox/2.0.0.1');
  curl_setopt($cl, CURLOPT_CONNECTTIMEOUT, 10); // таймаут соединения
  curl_setopt($cl, CURLOPT_TIMEOUT, 10);        // таймаут ответа
  curl_setopt($cl, CURLOPT_REFERER, 'http://vkontakte.ru/index.php'); // Подделываем значение - откуда пришли данные.
  if ($query) {
      curl_setopt($cl, CURLOPT_POST, 1);
      curl_setopt($cl, CURLOPT_POSTFIELDS, 'c[section]=video&c[q]='.$query.'&c[noiphone]=1');
  }
  $result = curl_exec($cl);
  curl_close($cl);

$find2 = "";
if($result==!""){
    preg_match_all('|\"vid\":\"(\d+)\",\"oid\":\"(\w+)\",.*\"md_title\":\"(.*)\",.*\"hash2\":\"(\w+)\"|U', $result, $find);

$count = intval(count($find['1']));
if($count>20) $count = 20; // максимальное выводимое количество видео роликов

$i = 0;
while ($i<$count-1) {
$i++;
$find['4'][$i] = str_replace('\\','',$find['4'][$i]);
$find['3'][$i] = iconv('utf-8', 'windows-1251', urldecode($find['3'][$i]));

$find2 .= <<<HTML
<table width="100%" cellspacing="0" cellpadding="5"><tr valign="top"><td style="color: #333333;font-size:14px;font-family: Arial;line-height:normal;"><b>{$find['3'][$i]}</b></td></tr>
<tr valign="top"><td>
<iframe src="http://vkontakte.ru/video_ext.php?oid={$find['2'][$i]}&id={$find['1'][$i]}&hash={$find['4'][$i]}&hd=1" width="600" height="361" frameborder="0"></iframe>
</td></tr><tr valign="top"><td>
<div>Код плеера:&#160;<input value='<iframe src="http://vkontakte.ru/video_ext.php?oid={$find['2'][$i]}&id={$find['1'][$i]}&hash={$find['4'][$i]}" width="600" height="361" frameborder="0"></iframe>' onclick="this.focus();this.select();" type="text" class="news" style="width:300px;"></div>
</td></tr></table><hr><br>
HTML;

}
}

if( !$find2 or $find2=="" ) $finds = "Ни одного видео-ролика не найдено."; else $finds = $find2;

    return ($finds);

}



$story = substr( trim( strip_tags( strip_data( $_REQUEST['q'] ) ) ), 0, 40 );

if( strlen( $story ) > 3 ) {
$search = $story;
$cookies = auth($nameacc, $passacc);

if(!$cookies or $cookies == ""){
} else $results = search_video($cookies, $search);

} else $results = "";


$form = <<<HTML
<style>
.vklist input {display:inline-block;font-size: 8pt;background:#ffffff;border:#dcdcdc 1px solid;padding:4px 5px;color:#535353;}
.vklist hr {color:#cccccc;border: 0px none;border-top: 1px solid;width: 100%;height: 0;}
.vklist {margin-left:10px;}
</style>
<h3 style="color: #333333;font-size:16px;font-family: Arial;line-height:normal;margin-left:10px;">Видео архив</h3>
<div class="vklist"><form action='' method='post' name='route'>
<table cellspacing=0>
   <tr><td style="padding:3px 3px 3px 0px;">
   <b style="color:#333333;">название</b><br>
        <input type='text' style="width: 180px;" name='q' value='{$story}' size='40' />
   </td><td style="padding:3px;"><br>
        <input type='submit' value='Поиск' class='button'>
   </td></tr>
</table>
</form></div><br><br>
HTML;


$box = <<<HTML
<div class="vklist">{$results}</div>
HTML;


$tpl->load_template( 'vkvideo.tpl' );
   $tpl->set( '{vkvideotable}', "<br>".$box );
   $tpl->set( '{vkvideobox}', $form );
   $tpl->compile('content');
   $tpl->clear();

?>


 Что по идее нужно:
1. Скрипт берёт со страницы параметр $ENTRY_TITLE$ 
2. Авторизуется вконтакте
3. Начинает поиск по фразе $ENTRY_TITLE$
4. Находит случайный видеоролик
5. Отдаёт его пользователю
 
 Как уже сказал знаний в PHP - 0, но возможно кто-то сможет такое реализовать тем более, что выше преведён скрипт аналогичного действия но для другого движка.
Продать сайт за дорого или купить прибыльный проект можно здесь
Страницы: Пред. 1 2 3
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
15:05 Gambling Craft - гемблинг по белому 
19:35 Парсят сай до ddos 
16:02 DreamCash.tl - заработок на онлайн-видео. До 95% отчислений, отличный конверт! 
11:51 Ходяга(АнтиМинусинск) - программа для проклика ссылок, генерации поискового и соц.трафика, улучшения ПФ 
14:39 AviTool - мощный инструмент для автоматизации работы с Avito 
11:36 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
00:53 Доработка сайта 
16:21 Мобильные прокси Германия, Польша и Беларусь | БЕСПЛАТНЫЙ ТЕСТ | ЛУЧШИЕ ЦЕНЫ И УСЛОВИЯ 
12:06 BestX24 - быстрый и безопасный обменник криптовалют и электронных денежных средств 
11:28 ProtonPlus.co - выгодный и быстрый обмен, работаем круглосуточно 
04:15 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
20:12 Sectormoney.com - быстрый и удобный обменник 
19:47 24ATM - Мультивалютная платформа обмена цифровой валюты 
19:38 Sapfirex.com - Современный сервис обмена криптовалют 
04:15 Точные прогнозы на футбол 
20:09 Сколько сейчас стоит наполнение ИМ? 
12:43 Куплю проигрышные букмекерские аккаунты 
04:33 Половина скидок на распродажах — фейк 
07:53 НейроБабушка наказывает мошенников 
19:59 Осталось 3-5 месяцев до блокировки YouTube в России, — заявил Клименко 
19:57 Пятница 13-ое: VK принял радикальное решение и закрыл доступ к порно контенту