Autor Tema: [FUNCIÓN] Validar video de YouTube  (Leído 3967 veces)

Desconectado GuayAngel12

  • PHPero Experto
  • *****
  • Mensajes: 894
  • Karma: 17
  • Sexo: Masculino
  • Programador PHP, CSS, HTML...
    • Ver Perfil
    • GreeBool
Re:[FUNCIÓN] Validar video de YouTube
« Respuesta #15 en: 06 de Septiembre de 2011, 17:08:51 pm »
Aunque ponga ésta dirección: http://i2.ytimg.com/vi/cacacacacac/default.jpg La imagen de default existe. Pero el video no existe.

Saludos,
Ángel Q.

Comunidad PHPeros

Re:[FUNCIÓN] Validar video de YouTube
« Respuesta #15 en: 06 de Septiembre de 2011, 17:08:51 pm »

Desconectado nmartin021

  • PHPero Avanzado
  • ****
  • Mensajes: 250
  • Karma: 9
    • Ver Perfil
Re:[FUNCIÓN] Validar video de YouTube
« Respuesta #16 en: 07 de Septiembre de 2011, 21:47:01 pm »
Ah, pues no lo sabía...

Siento mostrar una funcion que no sirve...

Saludos,
Ángel Q.
No pasa nada, todos nos equivocamos
???... Claro, porque es mucho mejor lamentar el hecho que buscarle una solución.

Bravo.
Si, tu ayuda...

La solución sería obtener los headers:

<?php
$headers 
get_headers($url);
?>

Y aquí la función:
<?php
function video_exists($id){
	
	
$d get_headers(&#39;http://i2.ytimg.com/vi/&#39;.$id.&#39;/default.jpg&#39;); //obtener cabeceras
	
	
//$d es un array, el [&#39;0&#39;] es el status (404 = not found, 403 = forbidden, 200 = OK)
	
	
if(
stristr($d[&#39;0&#39;], &#39;404 Not Found&#39;) === true){ //si es 404
	
	
	
return 
false//no existe
	
	
}elseif(
stristr($d[&#39;0&#39;], &#39;200 OK&#39;)){ //y si es 200
	
	
	
return 
true//si existe
	
	
}
	
	
return 
false//si no es ninguno de los dos de antes, no existe
	
}
?>

¿Qué hago?
1.- Obtengo los headers en la variable $d, pero sólo necesito el index 0 ($d['0']) que es el status de la petición. Devuelve HTTP/1.(version) (codigo) (estado texto). Ejemplo: HTTP/1.1 200 OK
2.- Compruebo si en el status está el código del error (404 / 200) y devuelvo false en caso de 404 y true en caso de 200 :D

Espero haber ayudado,
saludos :)

Desconectado nmartin021

  • PHPero Avanzado
  • ****
  • Mensajes: 250
  • Karma: 9
    • Ver Perfil
Re:[FUNCIÓN] Validar video de YouTube
« Respuesta #17 en: 07 de Septiembre de 2011, 22:31:25 pm »
Aunque ponga ésta dirección: http://i2.ytimg.com/vi/cacacacacac/default.jpg La imagen de default existe. Pero el video no existe.

Saludos,
Ángel Q.
Y justo por eso, siempre devuelve true.

Desconectado Physlet

  • PHPero Experto
  • *****
  • Mensajes: 822
  • Karma: 41
  • Sexo: Masculino
  • Todo es posible con esfuerzo, dedicación e interés
    • Ver Perfil
    • PanamaDev
Re:[FUNCIÓN] Validar video de YouTube
« Respuesta #18 en: 07 de Septiembre de 2011, 22:45:49 pm »
???... Claro, porque es mucho mejor lamentar el hecho que buscarle una solución.

Bravo.
Si, tu ayuda...
Su respuesta a la problemática no me motivó para nada a brindarle apoyo.



<?php
function video_exists($id){
	
	
$d get_headers(&#39;http://i2.ytimg.com/vi/&#39;.$id.&#39;/default.jpg&#39;); //obtener cabeceras
	
	
//$d es un array, el [&#39;0&#39;] es el status (404 = not found, 403 = forbidden, 200 = OK)
	
	
if(
stristr($d[&#39;0&#39;], &#39;404 Not Found&#39;) === true){ //si es 404
	
	
	
return 
false//no existe
	
	
}elseif(
stristr($d[&#39;0&#39;], &#39;200 OK&#39;)){ //y si es 200
	
	
	
return 
true//si existe
	
	
}
	
	
return 
false//si no es ninguno de los dos de antes, no existe
	
}
?>
Pienso que puedes ir directo al grano, porque el único caso en que la respuesta es verdadera es cuando trae el código 200.

function video_exists($id){
	
$d get_headers(&#39;http://i2.ytimg.com/vi/&#39;.$id.&#39;/default.jpg&#39;);
	

	
if(
stristr($d[&#39;0&#39;], &#39;200 OK&#39;))
	
	
return 
true;
	
else
	
	
return 
false;
}

Desconectado GuayAngel12

  • PHPero Experto
  • *****
  • Mensajes: 894
  • Karma: 17
  • Sexo: Masculino
  • Programador PHP, CSS, HTML...
    • Ver Perfil
    • GreeBool
Re:[FUNCIÓN] Validar video de YouTube
« Respuesta #19 en: 07 de Septiembre de 2011, 22:52:45 pm »
Bueno, muchísimas gracias tanto a nmartin021 como a Physlet.

Saludos,
Ángel Q.

Desconectado nmartin021

  • PHPero Avanzado
  • ****
  • Mensajes: 250
  • Karma: 9
    • Ver Perfil
Re:[FUNCIÓN] Validar video de YouTube
« Respuesta #20 en: 08 de Septiembre de 2011, 12:45:51 pm »
Si, tu ayuda...
Su respuesta a la problemática no me motivó para nada a brindarle apoyo.


Pienso que puedes ir directo al grano, porque el único caso en que la respuesta es verdadera es cuando trae el código 200.

function video_exists($id){
	
$d get_headers(&#39;http://i2.ytimg.com/vi/&#39;.$id.&#39;/default.jpg&#39;);
	

	
if(
stristr($d[&#39;0&#39;], &#39;200 OK&#39;))
	
	
return 
true;
	
else
	
	
return 
false;
}

K+ por la función