powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите со скриптом скачки! Иногда результат возвращает иногда нет!
8 сообщений из 8, страница 1 из 1
Помогите со скриптом скачки! Иногда результат возвращает иногда нет!
    #38295609
GeoYouTube
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте пишу в этот раздел потому что в начинающих никто и не ответил! есть скрипт который должен генерировать ссылка для скачки с ютуба! написал на пхп форуме у знатаков тоже и 0 ответов может вы поможете!

index.php

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
<?php

if(isset($_POST['submit']))
{
$url = $_POST['down'];
parse_str( parse_url( $url, PHP_URL_QUERY ), $my_array_of_vars );
}
?>
<!DOCTYPE html>
<html>
<head>
	<title>Youtube Video Details Class Example</title>
	<style type="text/css">
	body{ background-color: #FBFBFB; font-family: Arial; font-size: 12px; color: #333; line-height: 20px; }
	.box { background-color: #fff; border: 1px solid #e2e2e2; width: 730px; padding: 10px; margin: 0px auto;}
	</style>
</head>
<body>

<div class="box">




<form action="" method="post">
<input value="<? echo $url; ?>" autocomplete="off" id="ind" type="text" name="down" style="float:left;height:50px;width:800px;border:2px solid #06bfea;font-size:20px;padding-left:10px;">


 <input type="submit" id="mb" style="background:#06bfea;
  margin-left:-1px;
font-weight:700;
font-size:15px;
width:150px;
height:56px;
color:#fff;
text-shadow:0 1px 0 #338bb1;
cursor:pointer;
-webkit-box-shadow:0 2px 5px #c5dfea;
-moz-box-shadow:0 2px 5px #c5dfea;
-moz-border-radius:0 3px 3px 0;
-webkit-border-radius:0 3px 3px 0;
-khtml-border-radius:0 3px 3px 0;
border-radius:0 3px 3px 0;
padding:7px 14px;" name="submit" value="GO !"  />
</form>



<? if($url){ 


?>


<?php


  include('curl.php');
  include('youtube.php');
  
  $tube = new youtube();
    
  $links = $tube->get('http://www.youtube.com/watch?v='.$my_array_of_vars['v']);
   
  if($links) {

	$x = 0;
    foreach($links as $key){
	echo '<a href="'.$links[$x]['url'].'">'.$links[$x]['ext'].' '.$links[$x]['type'].'</a><br>';
	$x = $x + 1;
}
  }
    
  
} else {
      echo $tube->error;

  }
  



?>




</div>
</body>
</html>



curl.php
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
<?php

class Curl {
	var $callback = false;
	var $secure = false;
	var $conn = false;

	

	function Curl($u = false) {
		$this->conn = curl_init();


	
	}


	function doRequest($method, $url, $vars) {

		$ch = $this->conn;

		$user_agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";

		curl_setopt($ch, CURLOPT_URL, $url);
		if ($this->header) {
			curl_setopt($ch, CURLOPT_HEADER, 1);
		} else {
		    curl_setopt($ch, CURLOPT_HEADER, 0);
		}
		curl_setopt($ch, CURLOPT_USERAGENT,$user_agent);
     

		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);


		$data = curl_exec($ch);



		if ($data) {
			if ($this->callback)
			{
				$callback = $this->callback;
				$this->callback = false;
				return call_user_func($callback, $data);
			} else {
				return $data;
			}
		} else {
			return false;
		}
	}

	function get($url) {
		return $this->doRequest('GET', $url, 'NULL');
	}
	

}

?>



и файл youtube.php


Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
<?php


class youtube {
    
    var $conn = false;
    var $username = "";
    var $password = "";
    var $error = false;
          
    function get($url)
    {
        $this->conn = new Curl('youtube');
        
        $html = $this->conn->get($url);

     

        if(!preg_match('/stream_map=(.[^&]*?)&/i',$html,$match))
        {
			
            $this->error = "Error Locating Downlod URL's";
            return false;
        }

        if(!preg_match('/stream_map=(.[^&]*?)(?:\\\\|&)/i',$html,$match))
        {
            return false;
        }

        $fmt_url =  urldecode($match[1]);
   
        $urls = explode(',',$fmt_url);
                
        $foundArray = array();

        foreach($urls as $url)
        {            
            if(preg_match('/itag=([0-9]+)/',$url,$tm) && preg_match('/sig=(.*?)&/', $url , $si) && preg_match('/url=(.*?)&/', $url , $um))
            {
                $u = urldecode($um[1]);
                $foundArray[$tm[1]] = $u.'&signature='.$si[1];
            }
        }
                        
        $typeMap = array();

        $typeMap[13] = array("13", "3GP", "176x144");
        $typeMap[17] = array("17", "3GP", "176x144");
        $typeMap[36] = array("36", "3GP", "320x240");
        $typeMap[5]  = array("5", "FLV", "400x226");
        $typeMap[6]  = array("6", "FLV", "640x360");
        $typeMap[34] = array("34", "FLV", "640x360");
        $typeMap[35] = array("35", "FLV", "854x480");
        $typeMap[43] = array("43", "WEBM", "640x360");
        $typeMap[44] = array("44", "WEBM", "854x480");
        $typeMap[45] = array("45", "WEBM", "1280x720");
        $typeMap[18] = array("18", "MP4", "480x360");
        $typeMap[22] = array("22", "MP4", "1280x720");
        $typeMap[37] = array("37", "MP4", "1920x1080");
        $typeMap[33] = array("38", "MP4", "4096x230");

        
        $videos = array();
        
        foreach($typeMap as $format => $meta) {
            if (isset($foundArray[$format])) {
                $videos[] = array('ext' => strtolower($meta[1]) , 'type' => $meta[2], 'url' => $foundArray[$format]);
            } 
        }
		
		
		if(empty($videos)){$this->get($url);}else{return $videos;}
		 
		

       

        
    }
	
	
    
}?>



так вот в чём проблема вбейте туда ссылку
YouTube Video
...
Рейтинг: 0 / 0
Помогите со скриптом скачки! Иногда результат возвращает иногда нет!
    #38295637
GeoYouTube
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
GeoYouTube,

ну или не знаю как написать если внутри вроде $data = curl_exec($ch);
пустая то заного отправить запрос и так пока не вернёт не пустой массив! хоть какие то варианты скажите
...
Рейтинг: 0 / 0
Помогите со скриптом скачки! Иногда результат возвращает иногда нет!
    #38295698
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Цикл. Условие выхода из цикла - массив с нужными данными.
...
Рейтинг: 0 / 0
Помогите со скриптом скачки! Иногда результат возвращает иногда нет!
    #38295708
GeoYouTube
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Извините можете написать где и как? ! правда! я не халявщик! просто настолько задолбал скрипт что и думать толком не могу!
...
Рейтинг: 0 / 0
Помогите со скриптом скачки! Иногда результат возвращает иногда нет!
    #38295728
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GeoYouTubeнастолько задолбал скрипт что и думать толком не могу!Займитесь чем-нибудь другим. На пляж сходите, попейте пивка... А потом в светлую отдохнувшую голову и мысли правильные придут.

PS: лень разбираться в коде.
...
Рейтинг: 0 / 0
Помогите со скриптом скачки! Иногда результат возвращает иногда нет!
    #38295733
GeoYouTube
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

мда уж! спасибо)

что то вроде тут но не могу условие правильное поставить!

$tube = new youtube();

$links = $tube->get('http://www.youtube.com/watch?v='.$my_array_of_vars['v']);


if(empty($links))
{

while(){$links = $tube->get('http://www.youtube.com/watch?v='.$my_array_of_vars['v']);}

}

какое условие можно?
...
Рейтинг: 0 / 0
Помогите со скриптом скачки! Иногда результат возвращает иногда нет!
    #38295738
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот это уж точно Вам виднее. var_dump() в зубы, и смотрите что возвращается в случае успеха и в случае неудачи. По полученным данным думать над способом определения успеха/неудачи.
...
Рейтинг: 0 / 0
Помогите со скриптом скачки! Иногда результат возвращает иногда нет!
    #38295782
GeoYouTube
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vkle,

Понятно! Спасибо попробую разобраться!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Помогите со скриптом скачки! Иногда результат возвращает иногда нет!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]