Ayuda con imagecreatefromjpeg

  • Autor Autor TaurusZDK
  • Fecha de inicio Fecha de inicio
T

TaurusZDK

Gamma
Programador
No recomendado
buenas noches gente beta, hoy terminando algo me encontre con una duda y es que no puedo abrir la foto de perfil de un usuario por medio de su ID con imagecreatefromjpeg(), e intentado lo siguiente

PHP:
imagecreatefromjpeg("https://graph.facebook.com/1671311383086951/picture")

tambien intente con imagecreatefromgif y imagecreatefrompng, pero no logre nada no se puede abrir la imagen pero pruebo con otro tipo de url u funciona correcto debe ser por que como es una url amigable no encuentra la extencion de la imagen alguien que sepa como puedo hacer?

de ante mano muchas gracias
 
Última edición:
Lo más seguro es que porque esa no es la url de la imagen, ya que al ponerla en el navegador redirige a:
Insertar CODE, HTML o PHP:
https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/v/t1.0-1/p50x50/10410278_1558061757745248_7683073270678086838_n.jpg?oh=a79a8e4d2358ed96d2b2fafe2dd25d5f&oe=56A29762&__gda__=1453228197_255525901a2c33ccfd5fdc1c9e7b2c77
 
imagecreatefromjpeg no obtiene la url si redireccionan, y facebook redirecciona a la imagen... es por eso que con curl y follow location, tienes que obtener la url real... o descargar la img con file_get_contents
 
imagecreatefromjpeg no obtiene la url si redireccionan, y facebook redirecciona a la imagen... es por eso que con curl y follow location, tienes que obtener la url real... o descargar la img con file_get_contents

e.e francamente no entendi xD me darias un ejemplo

y de file_get_contents ya lo avia probado de esta forma

PHP:
file_get_contents("https://graph.facebook.com/1671311383086951/picture")

y me tiro grandisimo error relacionado con el http algo asi no recuerdo bien
 
Usa PHP: get_headers - Manual para que obtengas la url a donde va redirigir, para que no uses librerías como curl, o la copies la imagen a tu servidor.

Enviado desde mi XT1097 mediante Tapatalk
 
intente hacer esto pero no me salio xD supongo q x q no lo se usar

PHP:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://graph.facebook.com/1671311383086951/picture");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_exec($ch);

$img = imagecreatefromjpeg($ch);
 
intente hacer esto pero no me salio xD supongo q x q no lo se usar

PHP:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://graph.facebook.com/1671311383086951/picture");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_exec($ch);

$img = imagecreatefromjpeg($ch);
Te faltó CURLOPT_FOLLOWLOCATION y curl_close

Enviado desde mi XT1097 mediante Tapatalk
 
e.e donde xD eso lo copie asi de un articulo xD nose nada de eso de curl
Igual con curl_setopt, y el curl_close abajo de curl_exec

Enviado desde mi XT1097 mediante Tapatalk
 
intente asi

PHP:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://graph.facebook.com/1671311383086951/picture");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_exec($ch);
curl_close($ch);

$img = imagecreatefromjpeg($ch);

y me devuelve este error: Warning: imagecreatefromjpeg() expects parameter 1 to be string, resource given in C:\wamp\www\imagen.php on line 9

y si ago echo a $ch me devuelve: Resource id #2

- - - Actualizado - - -

Lo más seguro es que porque esa no es la url de la imagen, ya que al ponerla en el navegador redirige a:
Insertar CODE, HTML o PHP:
https://fbcdn-profile-a.akamaihd.net/hprofile-ak-prn2/v/t1.0-1/p50x50/10410278_1558061757745248_7683073270678086838_n.jpg?oh=a79a8e4d2358ed96d2b2fafe2dd25d5f&oe=56A29762&__gda__=1453228197_255525901a2c33ccfd5fdc1c9e7b2c77

y no hay alguna forma de obtener esa direccion por medio de la original?

es decir usando https://graph.facebook.com/1671311383086951/picture y que me regrese la url de a donde se va a redirigir

- - - Actualizado - - -

imagecreatefromjpeg no obtiene la url si redireccionan, y facebook redirecciona a la imagen... es por eso que con curl y follow location, tienes que obtener la url real... o descargar la img con file_get_contents

como ago para obtener la url real con curl? e tratado pero no e podido algun ejemplo?
 
Mira [MENTION=127966]TaurusZDK[/MENTION] mejor haz esto:

PHP:
$hd = get_headers("https://graph.facebook.com/1671311383086951/picture", 1);
$img = imagecreatefromjpeg($hd['Location']);

:fatigue:
 

PHP:
	//Funcion encargada de ver la url real de la imagen del usuario
	function VerRealURL($U){
		$ch2 = curl_init();
		curl_setopt($ch2, CURLOPT_URL, $U);
		curl_setopt($ch2, CURLOPT_HEADER, true);
		curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true);
		$ZZ = curl_exec($ch2);
		curl_close($ch2);

		preg_match('/Location:(.*?)\n/', $ZZ, $matches);
		return trim(array_pop($matches));
	}

$img = imagecreatefromjpeg(VerRealURL("https://graph.facebook.com/1671311383086951/picture"));
 
Gracias Gracias y muchas mas gracias ^^ que chulada la gente de forobeta x eso me gusta tanto este foro por la atencion que le ponen lamento no aver podido responder antes pero e tenido unos problemas y apenas hoy llego probare aver que tal...

Graciass!!!!!!!!!!!!!!!!!!!!!!!!1
 
Atrás
Arriba