Software engineering, open source, community and passion
Cadastro de Vídeos do YouTube com PHP
Fala pessoal, beleza? Vocês já precisaram incluir um vídeo do YouTube de forma dinâmica em algum site? Sim? Então esse post é para vocês.
Hoje irei explicar como fazer um cadastro de vídeos do YouTube com PHP de forma simples e rápida.. Vamos ao tutorial!
Primeiro vamos criar a tabela videos responsável por armazenar os dados:
Feito isso, vamos criar um formulário para cadastro dos vídeos, ele irá conter os campos title e url onde serão preenchidos o título e o endereço do vídeo no YouTube respectivamente.
Observe que definimos o tipo de envio do formulário para post pois não queremos passar os dados pela url.
Agora vamos fazer a página save.php que conterá o código responsável por salvar os vídeos no banco de dados.
Primeiro incluímos o arquivo database.php responsável por fazer a conexão com o banco de dados via PDO (clique aqui para saber mais sobre PDO), depois verificamos se o formulário foi submetido e se os campos estão válidos. Por fim, salvamos o vídeo no banco, mas espera ai, na verdade salvamos apenas o id dele..
Observe que se pegarmos qualquer url de vídeo do YouTube iremos ver que ela possui um parâmetro v com um código, esse código é o id do vídeo. Ex: http://www.youtube.com/watch?v=yMLzB1fsSTc, id é yMLzB1fsSTc.
Como já conhecemos o resto da url e não precisamos dela, então salvamos só o id do vídeo, isso também nos permite criarmos uma miniatura do vídeo na listagem.
Agora que já temos o cadastro pronto, vamos para listagem dos vídeos cadastrados.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<ul id="video-list">
<?php foreach($pdo->query('SELECT * FROM videos ORDER BY id DESC') as $c): ?>
<li>
<p>
<strong>
<?php echo $c['title']; ?>
</strong>
</p>
<a title="<?php echo $c['title'] ?>" href="http://www.youtube.com/embed/<?php echo $c['video_id'] ?>?rel=0&wmode=transparent">
<img src="http://i1.ytimg.com/vi/<?php echo $c['video_id'] ?>/default.jpg" alt="<?php echo $c['title']; ?>" />
</a>
<a onclick="return confirm('Deseja mesmo excluir esse vídeo?')" href="delete.php?id=<?php echo base64_encode($c['id']); ?>">
Excluir
</a>
</li>
<?php endforeach; ?>
</ul>
Incluímos a miniatura do vídeo (tag img) dentro de um link pois usamos o atributo href desse para exibir o vídeo em uma lightbox quando clicamos sobre a imagem (caso tenha dúvida recomendo que baixe o código completo e veja funcionando).
Veja a linha 10, o YouTube nos fornece um endereço para capturarmos uma imagem de um trecho do vídeo, para isso precisamos passar apenas o id do vídeo em uma url como essa http://i1.ytimg.com/vi/yMLzB1fsSTc/default.jpg (id yMLzB1fsSTc) e teremos a miniatura em imagem.
O código acima também possui um link para excluir o vídeo, ele simplesmente nos manda para a página delete.php passando o id do registro como parâmetro:
É só isso! Agora já temos um cadastro de vídeos do YouTube.. Vocês podem conferir o código desse exemplo completo em meu GitHub.