Скрипт проверки видео vk com на доступность.
|
|
[1] Axse [24.05.2013, 01:16] |
В соц сети vk в последние время начали в плотную удалять фильмы и вот понадобился такой скрипт, пришлось заказывать. Может кому пригодится. Хорошая вещь но глючит иногда. Нужно делать что бы хранилось все в базе данных.
В корень сайта файл vk_check_video_data.csv и vk_check_video.php На vk_check_video_data.csv права 666 Содержание vk_check_video.php Код <?php class VK_check_video {
public $data = array(); public $csv_filename = 'vk_check_video_data.csv'; public $csv_delimiter = ";"; public $cache_time = 86400;
public function load() { $this->loadCSV(); return TRUE; }
public function save() { $this->saveCSV(); return TRUE; }
public function getContent($url) { return file_get_contents($url); }
public function issetData($src_page, $url_video) {
foreach($this->data as $data) { $time = time() - (int)$data[2]; if($data[0] == $src_page && $data[1] == $url_video && $time > $this->cache_time) { return TRUE; } } return FALSE; }
public function checkVideo($src_page, $url_video) { if($this->issetData($src_page, $url_video)) { return FALSE; }
$content = $this->getContent($url_video);
$check_result = preg_match('/< *object[^>]/i',$content);
$this->data[]=array($src_page, $url_video, $check_result, time());
return TRUE; }
public function loadCSV() { if (($handle = fopen($this->csv_filename, "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, $this->csv_delimiter)) !== FALSE) { $this->data[] = $data; } return fclose($handle); } else { return FALSE; } }
public function saveCSV() { if(!$fp = fopen($this->csv_filename, 'w')) { return FALSE; } foreach ($this->data as $data) { fputcsv($fp, $data, $this->csv_delimiter); } return fclose($fp); }
public function getBadVideo() { $return_data = array(); foreach($this->data as $data) { if($data[2] == 0 ) { $return_data[] = $data; } } return $return_data; } }
$VK_cv =new VK_check_video; $VK_cv->load();
if(isset($_GET['url']) && isset($_GET['src']) && count($_GET['src']) > 0) { foreach($_GET['src'] as $video) { $VK_cv->checkVideo($_GET['url'], $video); } $VK_cv->save(); die('check_ok'); }
?> <table style="font-size: 11px;">
<thead> <tr> <!--<th>VK(URL)</th>--> <th>PAGE(URL)</th> <th>LAST CHECK</th> </tr> </thead> <tbody> <?php foreach($VK_cv->getBadVideo() as $bad_video): ?> <tr> <!--<td><a href="<?php echo $bad_video[1]; ?>"><?php echo $bad_video[1]; ?></a></td>--> <td><a href="<?php echo $bad_video[0]; ?>" target="_blank"><b><?php echo $bad_video[0]; ?></b></a></td> <td><?php echo date('d.m.Y H:i',$bad_video[3]); ?></td> </tr> <?php endforeach; ?> </tbody> </table>
А эту часть в тело где размещается сам iframe Код <script type="text/javascript">
var vk_videos = [];
$("iframe").each(function() { var src = $(this).attr('src'); if(src.indexOf('vk.com') !== -1) { vk_videos.push(src) } }); if(vk_videos.length > 0 ) { $.get("/vk_check_video.php", { 'url': document.location.href, 'src[]': vk_videos }); }
</script>
Смотрим тут http://сайт.ru/vk_check_video.php Или добавляем в htaccess Код RewriteRule ^chek_vk.html$ vk_check_video.php [L] и уже смотрим тут http://сайт.ru/chek_vk.html |
|
[2] likbezz [25.05.2013, 08:41] |
Axse, Скрипт хорош, но не тем.. Его переделать под другое, убрать лишнее и отдавать свой плеер + кнопку скачать, со ссылкой на исходный видеофайл. Не через фрейм, а кодом, или просто ссылку на файл, типа:
Код <object type="application/x-shockwave-flash" data="/uppod.swf" width="400" height="300"> <param name="movie" value="/uppod.swf" /> <param name="flashvars" value="file=/vk_check_video.php?url=сылка_на_страницу_с_фильмом" /> </object> |
|
[3] Axse [26.05.2013, 00:56] |
отдавать свой плеер + кнопку скачать
У меня была идея отдавать через свой плеер, пробовал в uppod и ютубовский и вк транслировать , но начинают многие жаловаться что не работает плеер. Хотя во всех браузерах тестил все ок. И еще один момент, если свой флэш плеер то получается весь видео поток будет проходить через мой сервер? а это если да то не хорошо, безлимитного сколько искал не нашел. Многие как бы и говорят что безлимиты но если обговорить что будет траф терабайты то сразу отнекиваются, да вроди и канал тогда нужен приличный, уж легче на свой сервер заливать в таком случае и платить бешеные деньги = ) |
|
[4] likbezz [26.05.2013, 12:10] |
Axse, пробовал в uppod и ютубовский и вк транслировать , но начинают многие жаловаться что не работает плеер. Хотя во всех браузерах тестил все ок А у меня наоборот, на некоторых типа “официальных” видео сервисах не пашет.. Смотря как вставлял, в смысле кода плеера.
И еще один момент, если свой флэш плеер то получается весь видео поток будет проходить через мой сервер? а это если да то не хорошо, Зачем? просто перебрасывать поток на источник через location. |
|
[5] Axse [26.05.2013, 13:30] |
Это я не понимать = )
Вот кстати код Код <object data="http://st.kset.kz/pl/pl.swf?v=5" type="application/x-shockwave-flash" width="640" height="380" name="flash_object" id="flash_object"><param name="bgcolor" value="#ffffff" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="movie" value="http://st.kset.kz/pl/pl.swf" /><param name="flashvars" value="st=http://kset.kz/v.php?id=8744441" /></object>
Работает во всех браузерах кроме мозилы. А вот как узнать какая ошибка выдается?Добавлено (26.05.2013, 13:30) --------------------------------------------- белый экран, и по жалобам на уппод у меня на сайте у них тоже белый экран. Это может в версии плеера, хз, как вывести ошибку |
|
[6] likbezz [26.05.2013, 14:12] |
Axse, Вот кстати код Работает во всех браузерах кроме мозилы. А вот как узнать какая ошибка выдается? У меня работает ) Скопировал один-в-один.
...
А вот как узнать какая ошибка выдается? Смотря какая.. если требуется какая-то версия флеш преера, то проверять какая установлена и выводить если меньше,
|
|
[7] Axse [27.05.2013, 01:04] |
страно, мне жаловался сосед, что типа неработает, я писал ему что это мозг у тебя не работает, скачал мозилу и у меня не работает :D... мозг ... |
|
[8] likbezz [27.05.2013, 02:49] |
Axse, скачал мозилу и у меня не работает Во первых, смотря что скачал. Могла просто стоять блокировка подобного контента. Во-вторых, требуется свежий установленный плагин флеш плеера. по умолчанию я без понятия какой там. Ну и в третьих, проверять всегда надо на чистых страницах, где ничего кроме плеера нет. У меня например флеш облако, даже системное, не кажет на сайте. А вот на чистой странице без проблем. Где-то конфликт стилей.. |
|
[9] Axse [29.05.2013, 00:51] |
да вроде с оф сайта |
|
[10] likbezz [29.05.2013, 01:18] |
Axse, Тогда смотри настройки. По любому, если не отображается лишь у одного/3 - это одно, а если у большинства - это другое. У меня отображается. Включая ИЕ6,7 с настройками по умолчанию. |
|
[11] satanbass [14.09.2013, 16:22] |
Не получается. По ссылке m-movies.ru/vk_check_video.php - показывает только:
Код PAGE(URL) LAST CHECK 01.01.1970 03:00
Все сделал по инструкции...Добавлено (14.09.2013, 16:22) --------------------------------------------- likbezz, помогите, если вас не затруднит с данным скриптом. |
|