Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

williamfoose

Script para Baixar videos não funciona no servidor.

Recommended Posts

Estou com um script que achei num site para baixar os videos do megavideo. E também para jogar num player externo.

 

Só que o problema é que o script só funciona em localhost.

 

Tipo em localhost ele gera um link + ou - esse.

 

http://www664.megavideo.com/files/24593cdc...e91bb49a596136/

 

ae quando cliko nele. Aparece para baixar o video.

 

Mais no servidor quando cliko, não aparece o video para baixar, só uma tela branca.

 

Alquem sabe porque?

 

O script é esse abaixo.

 

<?

class Megavideo
{

			function __construct($url)
			{
					preg_match('#\?v=(.+?)$#', $url, $id);
					
					$this->id = $id[1]?$id[1]:$url;
					
						$this->getxml();
						
							$parse = array	(	'runtimehms'	=>	'duration',
												'size'			=>	'size',
												's'				=>	'server',
												'title'			=>	'title',
												'description'	=>	'description',
												'added'			=>	'added',
												'username'		=>	'username',
												'category'		=>	'category',
												'views'			=>	'views',
												'comments'		=>	'comments',
												'favorited'		=>	'favorited',
												'rating'		=>	'rating',
												'k1'			=>	'key1',
												'k2'			=>	'key2',
												'un'			=>	'str');
												
							foreach($parse as $key=>$val)
							{
								$this->parsexml($key, $val);
							}

						$this->size = round($this->size/(1024*1024));
						
			}
			
			function get($what=false)
			{
				$all = array(	"URL"			=>	"http://www".$this->server.
													".megavideo.com/files/".
													$this->decrypt($this->str, $this->key1, $this->key2)."/",
								"SIZE"			=>	$this->size,
								"TITLE"			=>	$this->title,
								"DURATION"		=>	$this->duration,
								"SERVER"		=>	$this->server,
								"DESCRIPTION"	=>  $this->description,
								"ADDED"			=>  $this->added,
								"USERNAME"		=>  $this->username,
								"CATEGORY"		=>	$this->category,
								"VIEWS"			=>	$this->views,
								"COMMENTS"		=>	$this->comments,
								"FAVORITED"		=>	$this->favorited,
								"RATING"		=>  $this->rating
							);
							
				return $what&&array_key_exists(strtoupper($what),$all)?$all[strtoupper($what)]:$all;
			}
			
			function getxml()
			{
					$this->xml = file_get_contents("http://www.megavideo.com/xml/videolink.php?v=".$this->id."&id=".time()) or
									die("Error!\n");		
			}
			
			
			function parsexml($attribute, $name)
			{
					preg_match("#\s$attribute=\"(.+?)\"#", $this->xml, $tmp);
					list(,$this->$name) = $tmp;
			}
			
			function decrypt($str, $key1, $key2)
			{ 
				$reg1 = array();
				
					for($reg3=0; $reg3<strlen($str); $reg3++)
					{
						$reg0 = $str[$reg3];
							
							switch($reg0)
							{
								case '0': $reg1[] = '0000'; break;
								case '1': $reg1[] = '0001'; break;
								case '2': $reg1[] = '0010'; break;
								case '3': $reg1[] = '0011'; break;
								case '4': $reg1[] = '0100'; break;
								case '5': $reg1[] = '0101'; break;
								case '6': $reg1[] = '0110'; break;
								case '7': $reg1[] = '0111'; break;
								case '8': $reg1[] = '1000'; break;
								case '9': $reg1[] = '1001'; break;
								case 'a': $reg1[] = '1010'; break;
								case 'b': $reg1[] = '1011'; break;
								case 'c': $reg1[] = '1100'; break;
								case 'd': $reg1[] = '1101'; break;
								case 'e': $reg1[] = '1110'; break;
								case 'f': $reg1[] = '1111'; break;
							}
					}
					
					$reg1 = join($reg1);
					$reg6 = array();
					
					for($reg3=0; $reg3<384; $reg3++)
					{
						$key1 = ($key1 * 11 + 77213) % 81371;
						$key2 = ($key2 * 17 + 92717) % 192811;
						$reg6[] = ($key1 + $key2) % 128;
					}
					
					for($reg3=256; $reg3>=0; $reg3--)
					{
						$reg5 = $reg6[$reg3];
						$reg4 = $reg3 % 128;
						$reg8 = $reg1[$reg5];
						$reg1[$reg5] = $reg1[$reg4];
						$reg1[$reg4] = $reg8;
					}
					
					for($reg3=0; $reg3<128; $reg3++)
					{
						$reg1[$reg3] = $reg1[$reg3] ^ ($reg6[$reg3+256] & 1);	
					}
					
					$reg12 = $reg1;
					$reg7 = array();
					
					for($reg3=0; $reg3<strlen($reg12); $reg3+=4)
					{
						$reg9 = substr($reg12, $reg3, 4);
						$reg7[] = $reg9;
					}
					
					$reg2 = array();
					
					for($reg3=0; $reg3<count($reg7); $reg3++)
					{
						$reg0 = $reg7[$reg3];
						
							switch($reg0)
							{
								case '0000': $reg2[] = '0'; break;
								case '0001': $reg2[] = '1'; break;
								case '0010': $reg2[] = '2'; break;
								case '0011': $reg2[] = '3'; break;
								case '0100': $reg2[] = '4'; break;
								case '0101': $reg2[] = '5'; break;
								case '0110': $reg2[] = '6'; break;
								case '0111': $reg2[] = '7'; break;
								case '1000': $reg2[] = '8'; break;
								case '1001': $reg2[] = '9'; break;
								case '1010': $reg2[] = 'a'; break;
								case '1011': $reg2[] = 'b'; break;
								case '1100': $reg2[] = 'c'; break;
								case '1101': $reg2[] = 'd'; break;
								case '1110': $reg2[] = 'e'; break;
								case '1111': $reg2[] = 'f'; break;
							}
					}
				
				return join($reg2);
							
			}

}



	$obj = new Megavideo('WZ8C6SAO'); // ID DO VIDEO OU URL
	echo '<a href="'.$obj->get(url).'">'.$obj->get(url).'</a>';

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.