Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Nie działa skrypt pobierania z youtube
Forum PHP.pl > Forum > Przedszkole
kakkarot
Witam wszystkich,
mam taki problem, że nie działa mi skrypt pobierania z youtube zamieszczony na mojej stronie ;(
Nie mam pojęcia dlaczego, bo wcześniej wszystko było ok.
Mam go zainstalowanego na 2 stronach i na żadnej nie działa.. Na www.pobieramyoutube.com.pl kiedy chcę pobrać filmik to niby go pobiera ale to nie jest filmik tylko plik zajmujący 2kb.
Na www.pobieraczfilmikow.pl w ogole nie pobiera tylko wyskakują jakieś błędy.
Proszę o pomoc gdyż ten skrypt kupiłem jakiś czas temu na allegro na zamówienie, a gdy wysyłałem maile do sprzedawcy to nic nie odpisywał.

Z góry dziękuję za pomoc.
pedro84
Cytat(kakkarot @ 7.04.2010, 20:40:41 ) *
Nie mam pojęcia dlaczego, bo wcześniej wszystko było ok.

My też nie. W dodatku, kule się popsuły sad.gif

Może jakiś...kod?

@down, zmiana troszeczkę wcześniej nastąpiła smile.gif
mortus
Może ma to związek z redesignem youtube'a. Możliwe, że podrasowano (zmieniono) również kod, a nie tylko wygląd. Zmiana nastąpiła kilka (2 lub 3) dni temu.
kakkarot
oto kod:

class Download {

private
$id = null,
$data = array();



public function __construct() {
$this->data = (object)$this->data;
}

public function __get($what) {
return isset($this->data->{$what}) ? $this->data->{$what} : '';
}

public function getID($url, $siteID) {
$siteID = (int)$siteID;
$url = (string)$url;

if($siteID === 1) {
preg_match('#.*?([0-9A-Za-z\-_]*)\.wrzuta\.pl/[a-z]*/([0-9A-Za-z_-]*)/?([0-9A-Za-z_,\-]*)?#', $url, $url);
unset($url[0]);
$this->id = $url;
}
if(in_array($siteID, array(2,3,4))) {
$url = parse_url(urldecode($_GET['url']));
parse_str($url['query'], $url['query']);
$this->id = $url['query']['v'];
}
unset($url, $siteID);

return empty($this->id) ? false : true;
}

public function getFile($siteID) {
$siteID = (int)$siteID;

if($siteID === 1) {
header('Location: '.$this->data->url, true, 301);
exit;
}
elseif($siteID === 2) {
header('Content-type: video/flv', true);
header('Content-Length: '.$this->data->length, true);
header('Content-Disposition: attachment; filename="'.$this->data->title.'.flv"', true);
@readfile($this->data->url);
}
elseif($siteID === 3) {
header('Content-type: video/mp4', true);
header('Content-Length: '.$this->data->length, true);
header('Content-Disposition: attachment; filename="'.$this->data->title.'.mp4"', true);
@readfile($this->data->url);
}
elseif($siteID === 4) {
header('Content-type: video/3gp', true);
header('Content-Length: '.$this->data->length, true);
header('Content-Disposition: attachment; filename="'.$this->data->title.'.3gp"', true);
@readfile($this->data->url);
}
}

public function YouTubeFLV() {
$meta = get_meta_tags('http://www.youtube.com/watch?v='.$this->id);
$code = file_get_contents('http://www.youtube.com/watch?v='.$this->id);
preg_match('#"t": "([^"]*)".*?"video_id": "([^"]*)"#', $code, $match);
$title = $meta['title'];
$this->data->title = preg_replace('#[^0-9A-Za-z\-]{1,}#', '_', $title);
$url = 'http://www.youtube.com/get_video?video_id='.$match[2].'&t='.$match[1];
unset($match, $code, $meta, $title);
$h = get_headers($url, 1);
$this->data->url = isset($h['Location']) ? (is_array($h['Location']) ? $h['Location'][count($h['Location'])-1] : $h['Location']) : $url;
$this->data->length = isset($h['Content-Length']) ? is_array($h['Content-Length']) ? (int)$h['Content-Length'][count($h['Content-Length'])-1] : (int)$h['Content-Length'] : 0;
unset($h);
}

public function YouTubeMP4() {
$meta = @get_meta_tags('http://www.youtube.com/watch?v='.$this->id);
$code = @file_get_contents('http://www.youtube.com/watch?v='.$this->id);
preg_match('#"t": "([^"]*)".*?"video_id": "([^"]*)"#', $code, $match);
$title = $meta['title'];
$this->data->title = preg_replace('#[^0-9A-Za-z\-]{1,}#', '_', $title);
$url = 'http://www.youtube.com/get_video?fmt=18&video_id='.$match[2].'&t='.$match[1];
unset($match, $code, $meta, $title);
$h = @get_headers($url, 1);
$this->data->url = isset($h['Location']) ? (is_array($h['Location']) ? $h['Location'][count($h['Location'])-1] : $h['Location']) : $url;
$this->data->length = isset($h['Content-Length']) ? is_array($h['Content-Length']) ? (int)$h['Content-Length'][count($h['Content-Length'])-1] : (int)$h['Content-Length'] : 0;
unset($url, $h);
}

public function YouTube3GP() {
$meta = @get_meta_tags('http://www.youtube.com/watch?v='.$this->id);
$code = @file_get_contents('http://www.youtube.com/watch?v='.$this->id);
preg_match('#"t": "([^"]*)".*?"video_id": "([^"]*)"#', $code, $match);
$title = $meta['title'];
$this->data->title = preg_replace('#[^0-9A-Za-z\-]{1,}#', '_', $title);
$url = 'http://www.youtube.com/get_video?fmt=17&video_id='.$match[2].'&t='.$match[1];
unset($match, $code, $meta, $title);
$h = @get_headers($url, 1);
$this->data->url = isset($h['Location']) ? (is_array($h['Location']) ? $h['Location'][count($h['Location'])-1] : $h['Location']) : $url;
$this->data->length = isset($h['Content-Length']) ? is_array($h['Content-Length']) ? (int)$h['Content-Length'][count($h['Content-Length'])-1] : (int)$h['Content-Length'] : 0;
unset($url, $h);
}

public function WrzutaFLV() {
$this->data->url = 'http://'.$this->id[1].'.wrzuta.pl/sr/v/'.$this->id[2].'/';
}

}
Spawnm
Proszę Używać BBcode!
piotrooo89
nie pomagamy łamać prawa zamykam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.