[php]jak wyświetlić pliki z youtube


(batmomobil) #1

Witam mam takie pytanko,bo mam scrypt uploudu plików(linków)wszystko działa ok(wyświetla w postaci linków), chciałbym aby można było by dodawać i wyświetlać w postaci odtwarzacza np:youtube.Jak to zrobić,proszę o jakąś odpowiedż.Mój scrypt:

if(isset($_POST['dodaj_film'])) {

   if($_POST['link']=="" || $_POST['tytul']=="" || $_POST['opis']==""){

        echo 'Prosze wypelnic wszystkie pola wymagane!';

     } else {

 $sciezka=addslashes(htmlspecialchars($_POST['link'])); $tresc=addslashes(htmlspecialchars($_POST['tytul'])); $opisujemy =addslashes(htmlspecialchars($_POST['opis'])); 

        $osoba= $user['nick'];

        if (!ereg('^(http://)?[^./]+(\.[^./]+)+/.+$', $sciezka)) {

           echo 'Wpisz poprawny link!';

        }}																				

       $zapytanie ="INSERT INTO `muzyka_mp3` (`id_muzyka`,`muz_id`,`czas_muzyka_mp3`,`link_muzyka_mp3`,`nazwa_muzyka_mp3`,`opis_muzyka_mp3`) VALUES (NULL,'$osoba',NULL,'	$sciezka','$tresc','$opisujemy')";

           $query = mysql_query($zapytanie) or die(mysql_error());}


          if($query) 

 { 

    echo 'Film zostal dodany do Bazy Danych!';

        } 

        else

 {

 echo 'Nie mozna dodac filmu do Bazy Danych!';

}

(CZiPEN) #2

Sprawa jest bardzo prosta. Fragment HTML:

[/code]

Legenda:

{SZEROKOSC} - szerokość odtwarzacza w px

{WYSOKOSC} - wysokość odtwarzacza w px

{LINK} - link do filmiku

To Ci powinno wystarczyć :smiley:


(batmomobil) #3

próbowałem i wyświetla mi puste białe pole w miejscu odtwarzacza:

[/code]
gdzie zmienna $link jest linkiem do filmu.Linki w bazie danych są zapisywane w takiej postaci:

[code]http://youtu.be/87Q5PEjmrCU
taka postać linka się nie wyświetla ,zapisywany link musi mieć taką postać:

http://www.youtube.com/v/OFsuGdGF6Nc

,jak zmienić zapisywanie do bazy aby zapisywało w takiej postaci lub odczytywać samą końcówkę linka/OFsuGdGF6Nc.CZy znajdzie się ktoś kto pomoże zmienić zapis.


(Copycona) #4

http://ideone.com/Y74YS

<?php= 'http://youtu.be/87Q5PEjmrCU';$tylkoid = substr($link, (strpos($link, '/', 7)+1));$nowylink = 'http://www.youtube.com/v/' . $tylkoid; , "\r\n", $tylkoid, "\r\n", $nowylink; [/code] 
[quote]


87Q5PEjmrCU


[/quote]

(batmomobil) #5

Dziękuję działa ,mam jeszcze jedną prośbę jak wyciągnąć z linka:

http://jorgus1972.wrzuta.pl/audio/1VvKrgSdSPJ/lady_pank_-_moj_swiat_bez_ciebie

wartość

1VvKrgSdSPJ

z tym,że linki za każdym razem mają inną postać.


(Copycona) #6

Użyteczne będą te same metody co wcześniej.

http://php.net/manual/pl/function.strpos.php

http://php.net/manual/pl/function.substr.php

W komentarzach pod funkcją strpos masz gotowe funkcje strnripos_generic, strnpos. Używając ich wyszukujesz wystąpienie znaku slash nr 4 i 5. Zamiast szukać tymi funkcjami numeru 5, możesz użyć 'czyste' strpos i znaleźć następne wystąpienie znaku po czwórce. Id audio jest pomiędzy znakami ((pozycja slash nr 4) + 1) a ((pozycja slash nr 5) - 1). Długość id to będzie ((pozycja slash nr 5) - (pozycja slash nr 4) + 1)).

<?php/*

(batmomobil) #7

Ok działa,wielkie dzięki :-D.Mam jeszcze jedno pytanie ponieważ mam listę teledysków

$tylkoid = substr($link, (strpos($link, '/', 7)+1));

$nowylink = 'http://www.youtube.com/v/'. $tylkoid; echo ("	
$nazwy:::*:::$opisuje:::

 [/code]
w postaci linków i chcę aby po kliknięciu na link dany utwór otworzył się w odtwarzaczu,jak to zrobić,jakiej funkcji użyć.

[code]


(Drobok) #8

Możesz użyć get, wysyłasz link do pliku, a potem on ci wyświetla w tym odtwarzaczu.

Możesz użyć js'a, oraz zdarzenia onclick, by wstawić do div'a odtwarzacz :slight_smile:


(batmomobil) #9

Link działa ale jest mały problem bo na moim profilu działa dobrze,ale jak chcę oglądnąć na innym profilu to się przerzuca na mój profil,co jest grane?


(Drobok) #10

Pewnie dałeś w skrypcie link do twojego profilu. Najlepiej będzie jeśli zrobisz wyświetlanie bezpośrednio w profilu na podstawie isset get. Gdzie w get będzie link do wyświetlenia. A w linku do filmu link do profilu z get linkiem do filmu.


(batmomobil) #11

Tak dałem w pliku w profilu,czyli tak:

$nazwy:::*:::$opisuje:::[/code]
i get

[code] if(!isset($_GET['lista'])) $teledysk=$_GET['lista'];

i otwarcie zmiennej w odtwarzaczu,tylko,że powyżej jest get do profilu.Co zrobiłem żle.


(Drobok) #12

Rozumiem, że link:

?id=twojprofil

Przenosi cię zawsze do profilu użytkownika ?


(batmomobil) #13

Tak,a klikając na link w innym profilu przenosi wtedy do mojego profilu z moimi linkami.


(Drobok) #14

Więc nie możesz wyświetlać filmu w taki sposób, ponieważ zawsze będzie on wysyłał cię do twojego profilu.


(batmomobil) #15

CZyli jak?.


(Drobok) #16

Musisz zrobić to tak, jak byś chciał wyświetlić linki użytkownika :slight_smile:


(batmomobil) #17

To akurat wiem czyli get odpada,jak się robi w js tak podobnie jak get możesz podać przykład


(Drobok) #18

Dlaczego get odpada ? Dajesz kod do wyświetlania linków użytkownika zamiast do twoich linków, wtedy dajesz link do profilu usera i jest git.

Co do js'a. Najprościej będzie zrobić div'a w miejscu, które ma być miejscem filmiku. A w js getElementById('id_diva').innerHTML="kod_wyświetlania"

Przy czym w kodzie wyświetlania dajesz zmienną z linkiem, którą deklarujesz w funkcji przy onclick, coś w stylu var link=this.href;


(batmomobil) #19

ok działa dzięki =D> :smiley: