Listar canal de usuário do Youtube com PHP e JSON

Olá a todos!

Depois de muito tempo, vamos a mais um post. E este é sobre recuperar os dados do canal de um usuário do youtube utilizando PHP e JSON. Felizmente isso é bem tranquilo de fazer.

O primeiro passo é identificar o endereço feed do canal do usuário. Este endereço possui o seguinte padrão:

http://gdata.youtube.com/feeds/api/users/identificadordousuario/uploads?alt=json

Feito isso, o resto é tranquilo. O código abaixo mostra como recuperar algumas informações e apresentá-las em uma simples tabela:


<?php
header ('Content-type: text/html; charset=iso-8859-1');
$JSON_Data = @json_decode(file_get_contents('http://gdata.youtube.com/feeds/api/users/id_do_usuario/uploads?alt=json'), TRUE);
?>
<html>
<head>
</head>
<body>
<table border="1">
<tr>
<td> Imagem </td>
<td> Título </td>
<td> Descrição </td>
<td> Link </td>
<td> Total de Visualizações</td>
</tr>
<?php
foreach($JSON_Data['feed']['entry'] as $item){
?>
<tr>
<td><img src="<?=$item['media$group']['media$thumbnail'][1]['url']; ?>"></td>
<td><?=utf8_decode($item['title']['$t']);?></td>
<td><?=utf8_decode($item['content']['$t']);?></td>
<td><?=$item['media$group']['media$content'][0]['url'];?></td>
<td><?=$item['yt$statistics']['viewCount'];?></td>
</tr>
<?php
}
?>
</table>
</body>
</html>

É isso pessoal! Espero que este código seja útil a vocês.

Até a próxima!

Reduzir Imagem em PHP

Olá Pessoal,

Depois de muito tempo sem postar, estou de volta! E, felizmente, com mais tempo disponível para o blog! =)

Bom, semana passada precisei de um código em PHP que reduzisse o tamanho de uma imagem. Considerando que o usuário não deveria ter o trabalho de fazer isso em um software e só depois fazer upload no sistema, pesquisei e inseri o código.


$diretorio_original = "imagem_original/";
$diretorio_pequena = "imagem_pequena/";

// Se uma imagem foi enviada
if($_FILES['txt_imagem']['name'] != ''){
$ext = explode('.',$_FILES['txt_imagem']['name']);
$ext = $ext[count($ext)-1];
// Se a extensao for de um tipo valido
if(preg_match('/(gif|jpg|jpeg|png)/i',$ext)){
$nome_original = 'original_'.$_FILES['txt_imagem']['name'];
$nome_pequena = 'pequena_'.$_FILES['txt_imagem']['name'];

$caminho_original = $diretorio_original.$nome_original;
$caminho_pequena = $diretorio_pequena.$nome_pequena;

if(move_uploaded_file($_FILES['txt_imagem']['tmp_name'], $caminho_original)){
chmod($caminho_original, 0644);

//pega os valores da largura, altura e tipo da imagem
list($largura,$altura,$tipo) = getimagesize($caminho_original);

if ($tipo == 1) // gif
$imagem = imagecreatefromgif($caminho_original);
else if ($tipo == 2) // jpeg
$imagem = imagecreatefromjpeg($caminho_original);
else if ($tipo == 3) //png
$imagem = imagecreatefrompng($caminho_original);

$thumb = imagecreatetruecolor(128, 90);

imagecopyresampled($thumb, $imagem, 0, 0, 0, 0, 128, 90, $largura,$altura);
//reduz a imagem para 128 x 90

if ($tipo == 1) // gif
imagegif($thumb,$caminho_pequena);
else if ($tipo == 2) // jpeg
imagejpeg($thumb,$caminho_pequena);
else if ($tipo == 3) //png
imagepng($thumb,$caminho_pequena);

echo "Imagem reduzida com sucesso em ".$diretorio_original." e ".$diretorio_pequena;

} else {
echo "imagem não enviada!";
}
} else{
echo "extensão inválida";
}
} else {
echo "imagem não carregada!";
}

Baixe a versão simplificada aqui! =)

Até mais!