Взимане на клип от vbox7.com

tahys

Registered
Използвам този код за да намеря къде е клипа на сървъра на vbox7
Код:
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$number = explode(":", $adres);
            $img = 'http://i47.vbox7.com/p/'.$number[2].'3.jpg';
			$i = substr($number[2],0 ,2);
			if(fopen("http://media.vbox7.com/s/$i/$number[2].flv","r")) {
				$url = "http://media.vbox7.com/s/$i/$number[2].flv";
			} else {
			for($ii = 2; $ii <= 20; $ii++) {
			if($ii < 10) {
			if(fopen("http://media0$ii.vbox7.com/s/$i/$number[2].flv", "r")) {
				$url = "http://media0$ii.vbox7.com/s/$i/$number[2].flv";
			}
			} else {
			if(fopen("http://media$ii.vbox7.com/s/$i/$number[2].flv", "r")) {
				$url = "http://media$ii.vbox7.com/s/$i/$number[2].flv";
			}
			}   
			}
			}

На локалният работи перф... а на ICN на сървъра винаги ми взима media.vbox7 ... for-a изобщо не тръгва.. от къде може да е проблема?
 
tahys каза:
Използвам този код за да намеря къде е клипа на сървъра на vbox7
Код:
error_reporting(E_ALL ^ E_WARNING ^ E_NOTICE);
$number = explode(":", $adres);
            $img = 'http://i47.vbox7.com/p/'.$number[2].'3.jpg';
			$i = substr($number[2],0 ,2);
			if(fopen("http://media.vbox7.com/s/$i/$number[2].flv","r")) {
				$url = "http://media.vbox7.com/s/$i/$number[2].flv";
			} else {
			for($ii = 2; $ii <= 20; $ii++) {
			if($ii < 10) {
			if(fopen("http://media0$ii.vbox7.com/s/$i/$number[2].flv", "r")) {
				$url = "http://media0$ii.vbox7.com/s/$i/$number[2].flv";
			}
			} else {
			if(fopen("http://media$ii.vbox7.com/s/$i/$number[2].flv", "r")) {
				$url = "http://media$ii.vbox7.com/s/$i/$number[2].flv";
			}
			}   
			}
			}

На локалният работи перф... а на ICN на сървъра винаги ми взима media.vbox7 ... for-a изобщо не тръгва.. от къде може да е проблема?


Извинявам се ама немога дати помогна ама мога дати дам код приател

Код:
<html> 
   <head> 
      <title>vbox7 downloader</title> 
            <meta http-equiv="Content-Type" content="text/html;charset=windows-1251"/> 
   </head> 
<body> 
<form method="post" action=""> 
<input type="text" name="link" size="35" value=""><br> 
<input type="submit" name="submit" value="Дай ми линк"> 
</form><br /> 
<?php 
if(isset($_POST['submit'])){ 
$link = $_POST['link']; 
$number = explode(":", $link); 
$i = substr($number[2],0 ,2); 
if(@fopen("http://media.vbox7.com/s/$i/$number[2].flv","r")){ 
$link = "http://media.vbox7.com/s/$i/$number[2].flv"; 
} 
else { 
for($serverID = 1; $serverID <= 21; $serverID++) { 
if($serverID < 17) { 
if(@fopen("http://media0$serverID.vbox7.com/s/$i/$number[2].flv", "r")) { 
$link = "http://media0$serverID.vbox7.com/s/$i/$number[2].flv"; 
}} 
else { 
if(@fopen("http://media$serverID.vbox7.com/s/$i/$number[2].flv", "r")) { 
$link = "http://media$serverID.vbox7.com/s/$i/$number[2].flv"; 
}}}} 
echo "Натисни <a href="$link">тук</a>, за да свалиш файла!"; 
} 
?> 
</body> 
</html>

Незнам дали ще помогне :)
 
Виж в конфигурацията на сървъра, дали имаш пуснат allow_url_fopen. Виж дали поддържа и cURL.
Има и по-лесен начин:
Код:
$c = curl_init( 'http://www.vbox7.com/play/magare.do' );
$vid = '47d4e934'; // ID на видеото !
$p = array(
    CURLOPT_HEADER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => 'onLoad=[type Function]&vid=' . $vid
);
curl_setopt_array( $c, $p );
$return = curl_exec( $c );
curl_close( $c );

$return = preg_replace( '/&videoFile=(.*)&/', '$1', $return );
echo $return;
За да тръгне кода ти трябва псунат cURL. Ако нямаш, кажи и ще ти го пренапиша да използва fopen :)
 
Код:
<?php
function send_load_post($Host, $Uri, $SendVars) {

	$Result = array();
	$ContentLength = strlen($SendVars);
	$ReqHeader =
	"POST $Uri HTTP/1.1\n".
	"Host: $Host\n".
	"Content-Type: application/x-www-form-urlencoded\n".
	"Content-Length: $ContentLength\n\n".
	"$SendVars\n";
	$socket = fsockopen($Host, 80, &$errno, &$errstr);
	if (!$socket) {
		$Result["errno"] = $errno;
		$Result["errstr"] = $errstr;
		return false;
	}
	$idx = 0;
	fputs($socket, $ReqHeader);
	while (!feof($socket)) {
		$Result[$idx++] = fgets($socket, 128);
	}
	return $Result;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Download</title>
</head>
<body>
<?php
if(isset($_POST['submit'])) {
	$Content = $_POST['vid'];
	$filename = explode(":", $Content);
	$id = substr($filename[2],0 ,2);
	$image = "http://i47.vbox7.com/p/".$filename[2]."3.jpg"; 
	if ($filename) {
		$Post = send_load_post('www.vbox7.com', 'http://www.vbox7.com/play/magare.do', 'vid='.$filename[2]);
		foreach($Post as $Row) {
			if (strpos($Row, 'videoFile=') > 0) {
				$DownloadUrl = str_replace('&', '', $Row);
				$DownloadUrl = str_replace('videoFile=', '', $DownloadUrl);
			}
		}
		if (!$DownloadUrl) echo('Error communicating with vbox7 server');
	} else {
		echo('Error extracting needed information (It this vbox7 movie?)');
	}

if($DownloadUrl) {
	echo "<a href=\"$DownloadUrl\">$DownloadUrl</a>";
	echo "<br /><br /><img src=\"".$image."\">";
}
} else {
?>
<form method="post">
<input type="text" name="vid" tabindex="2" />
<input type="submit" name="submit" value="Get address" tabindex="2" />
</form>
<?php
}
?>
</body>
</html>
 
F1r3Fl3x каза:
Виж в конфигурацията на сървъра, дали имаш пуснат allow_url_fopen. Виж дали поддържа и cURL.
Има и по-лесен начин:
Код:
$c = curl_init( 'http://www.vbox7.com/play/magare.do' );
$vid = '47d4e934'; // ID на видеото !
$p = array(
    CURLOPT_HEADER => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_POSTFIELDS => 'onLoad=[type Function]&vid=' . $vid
);
curl_setopt_array( $c, $p );
$return = curl_exec( $c );
curl_close( $c );

$return = preg_replace( '/&videoFile=(.*)&/', '$1', $return );
echo $return;
За да тръгне кода ти трябва псунат cURL. Ако нямаш, кажи и ще ти го пренапиша да използва fopen :)

Благодаря много! ще ползвам твоят код!
 

Back
Горе