我在我的网站上有一个代码来显示远程Gravatar肖像或上传的图像。上传是好的,但我无法得到gravatar图像。用PHP获取远程图像并用GD显示它
无法使用file_get_contents因为它不允许在我的主机上。
继承人的文件
if(file_exists($arUser['imagem'][0])){
$imgPath = $arUser['imagem'][0]; //Usar a imagem enviada
}elseif(!strlen($arUser['imagem'][0]) && checkRemoteFile('http://www.gravatar.com/avatar/'.md5($arUser['email'][0]).'fs=150')){
$imgPath = 'http://www.gravatar.com/avatar/'.md5($arUser['email'][0]).'fs=150';
}else
$imgPath = '../img/social_noavatar_150.jpg'; //Temporario
开始检查所以这doesn't工作:
$imgData = getimagesize($imgPath);
$src = imagecreatefromwhatever($imgPath);
我知道我应该取代:
$ imgPath =的“http:/ /www.gravatar.com/avatar/'.md5($arUser['email'][0]).'fs=150' ;
与类似:
$ imgPath = GetFileData( 'http://www.gravatar.com/avatar/'.md5($ arUser [' 电子邮件“] [0]).'fs = 150' );
或
* $ imgPath =的file_get_contents( 'http://www.gravatar.com/avatar/'.md5($ arUser [' 电子邮件 '] [0])= .'fs 150' ); *
遇到错误既和我不能创建映像:
从来就搜索的答案,但别人没有fited我。
对不起,我的英语不好。 :(
注:
function imagecreatefromwhatever($image){
$info = pathinfo($image);
$extension = strtolower($info['extension']);
switch($extension) {
case "jpg":
return imagecreatefromjpeg($image);
break;
case "jpeg":
return imagecreatefromjpeg($image);
break;
case "png":
return imagecreatefrompng($image);
break;
case "gif":
return imagecreatefromgif($image);
break;
default:
return imagecreatefromjpeg($image);
}
}
的GD功能从输出选项的文件名为以便更好地适应用户的画像。它已被称为图像链接( ", false) });
相关问题