在DeDeBIZ、DeDeCMS、织梦BIZ、织梦CMS中,能实现API接口调用会员头像。

在织梦首页、列表页、内容页、标签页、搜索页、乃至整个织梦模板中,都能使用标签调用会员头像。为此,我想到了,使用API接口的方式,像QQ号能调用QQ头像那样的接口。

好了,你想实现吗,直接看展示效果吧。

调用标签

/user/image.php?ui=admin
/user/image.php?ui=admin&nk=100
/user/image.php?ui=admin&ng=200
/user/image.php?ui=admin&nk=300&ng=300

注意:支持4种调用方式,你喜欢哪种,那就用哪种。

标签说明

?ui=admin 默认图片大小
?ui=admin&nk=100 等比例,图片宽100px、图片高100px
?ui=admin&ng=200 等比例,图片宽200px、图片高200px
?ui=admin&nk=300&ng=300 指定宽高,图片宽300px、图片高300px

注意:参数值,不是固定的。比如,你可以任意指定图片宽高。

参数说明

ui 登录名,必须写,不然找不到用户
nk 图片宽,非必须,只设置宽,不设置高,就是图片等比例输出。
ng 图片高,非必须,设置宽,设置高,那就是固定图片大小输出。

注意:不设置图片宽,不设置图片高,就是默认的图片大小输出。

教程开始

在 DeDeBIZ 中使用:在 user 目录下,新建一个 image.php 文件,代码如下

<?php
/**
 * @version        $id:image.php 8:38 2024年8月6日 NiDeCMS $
 * @package        NiDeCMS.User
 * @copyright      Copyright (c) 2024 DedeBIZ.COM
 * @license        GNU GPL v2 http://nidecms.com/home
 * @link           http://nidecms.com/
 */
error_reporting(0);
$userid = isset($_REQUEST['ui']) ? $_REQUEST['ui'] : '';//登录名
$widtnk = isset($_REQUEST['nk']) ? $_REQUEST['nk'] : '';//图片宽
$heigng = isset($_REQUEST['ng']) ? $_REQUEST['ng'] : '';//图片高
if (empty($userid)){
	exit('参数不存在!');
}
require_once(dirname(__FILE__).'/../system/common.inc.php');
//织梦二次开发获取会员头像
$row = $dsql->GetOne("SELECT face,sex,userid FROM `#@__member` WHERE userid = '{$userid}'");
if ($row['userid'] == ''){
	exit('用户不存在!');
}
if ($row['face'] == ''){
	if ($row['sex']=="男"){
		$facea = '/ueditor/asking/img/dfboy.png';
	} elseif ($row['sex']=="女"){
		$facea = '/ueditor/asking/img/dfgirl.png';
	} else {
		$facea = '/ueditor/asking/img/face.png';
	}
} else {
	$facea = str_replace($GLOBALS['cfg_basehost'],'/', $row['face']);
}

$imagePath = dirname(__FILE__).'/..'.str_replace('//','/', $facea);

// 检查文件是否存在
if (!file_exists($imagePath)) {
    exit('图片文件不存在');
}

if ($widtnk == '' && $heigng == ''){
	header('Content-Type: image/jpeg');
	$fp = fopen($imagePath,'rb');
	fpassthru($fp);
	exit();
}

// 尝试根据文件扩展名创建图像资源
$imageInfo = getimagesize($imagePath);
$imageType = $imageInfo[2]; // 2 是索引,用于获取图片类型

switch ($imageType) {
    case IMAGETYPE_GIF:
        $image = imagecreatefromgif($imagePath);
        break;
    case IMAGETYPE_JPEG:
        $image = imagecreatefromjpeg($imagePath);
        break;
    case IMAGETYPE_PNG:
        $image = imagecreatefrompng($imagePath);
        break;
    default:
        break;
}

// 设置新的宽度和高度
if($widtnk == ''){
	$newWidth = $heigng;
	$newHeight = $heigng;
} elseif ($heigng == ''){
	$newWidth = $widtnk;
	$newHeight = $widtnk;
} else {
	$newWidth = $widtnk;
	$newHeight = $heigng;
}

// 创建新的图像资源
$newImage = imagecreatetruecolor($newWidth, $newHeight);

// 复制并调整大小
imagecopyresampled($newImage, $image, 0, 0, 0, 0, $newWidth, $newHeight, imagesx($image), imagesy($image));

header('Content-Type: image/jpeg');

// 输出图像到浏览器
imagejpeg($newImage);

// 释放内存
imagedestroy($image);
imagedestroy($newImage);
?>

这个代码,是在 DeDeBIZ 中测试的。所以,在 DeDeBIZ 中直接使用,但是,在 DeDeCMS 中,只需要改两个地方而已。下面,是在 DeDeCMS 中使用的修改方法。

1、将上面的文件剪切到 member 目录。

2、改一句代码就行了,看到第 16 行

require_once(dirname(__FILE__).'/../system/common.inc.php');

改为

require_once(dirname(__FILE__).'/../include/common.inc.php');

这样就行了。

无需登录,使用接口的方式,优雅的接口,适合高配置、高需求、高追求的站长。

温馨提示

内容由用户共同创建和维护,并不代表织梦爱好者论坛立场!
建议您独自对内容进行评估,核实并咨询相关的专业人士!

点击登录

您尚未登录,请登录后查看。
如已经登录,请刷新当前页面。
与博客互通,请在《全民博客》登录
如已在博客登录,请刷新当前页面。

1 个回复 | 最后更新于 2024-08-06
snh102
2024-08-06  沙发

友情提示:看到第24行、26行、28行代码,当会员未上传头像时,是根据性别男、女、保密等判断,所以,你要准备这三张图片,路径改为自己的就行了。

登录后方可回帖

snh102

「功能上新」全民博客和织梦论坛均支持邮箱登录啦

什么?忘记密码?不记得登录名?别怕,这次上新来了,加支持邮箱登录功能啦! 说实话,网站首页,有找回密码、有免密登录,只支持登录名,就有点局限性了! 功能上新,这次上线,新增邮箱登录、无...

网站公告 snh102 • 2024-09-17
snh102

织梦DeDeBIZ栏目列表分页首页与第一页重复的解决方法

在上一篇《 DeDeBIZ假伪静态短链优化织梦教程 》教程中,实现了织梦BIZ的高级玩法,但是由于列表页重复,不得不再次出一篇解决教程。 默认页的名称重复 前置条件: 当后台-系统设置-核心设置- 栏目生成目...

DeDeBIZ 织梦BIZ 织梦列表 snh102 • 2024-07-25
从白走到黑

织梦封面模板不支持dede:arclist的解决办法

织梦封面频道、织梦封面栏目、织梦封面页面,封面栏目模板,不支持dede:arclist标签调用,这就有点新奇了,下面直接上调用代码。 不支持调用 {dede:arclistrow=10orderby=pubdateidlist=}...省略代码{/dede:arclist} 这个调...

织梦教程 DeDeCMS 织梦CMS 从白走到黑 • 2024-03-10 • 最后回复来自 从白走到黑
1
snh102

「功能上新」帖子内容页支持网址和签名啦

新功能上线,本站又上新功能!很多人经常会用到,一个利于引流的外链功能! 此外,本站近期还新增了“积分查看”功能。 新增登录后查看和需积分查看功能! 在发帖、回帖中点击“模板”-“需积分查看...

网站公告 snh102 • 25 天前
snh102

织梦网站后台被收录的解决办法

有坛友问我呀。这个《 史诗级织梦安全设置教程 》是怎么做的,她说织梦后台被收录了。我想了下,发现我以前写的代码,写的有点幼稚,还有点特别的搞笑,不仅麻烦还没有作用。 未按教程操作之前:人...

DeDeBIZ DeDeCMS 织梦后台 snh102 • 2024-08-02
snh102

DeDeBIZ每日投稿数量限制的方法

织梦限制会员每天投稿数量的方法。在织梦BIZ中,会员投稿,只能永久投稿1篇。确实少了,下面,教大家修改,限制会员投稿每日能投稿10篇的方法。 一、先开启开发模式,织梦BIZ不太人性化,想改点东西,...

织梦教程 DeDeV6 snh102 • 2024-04-27
snh102

DeDeBIZ假伪静态短链优化织梦教程

网站优化分为站内优化和站外优化,站外优化就是买友链、发外链等,而站内优化就是代码优化和链接优化。 今天,我要说的,就是短链优化。短链的好处是易收录,而伪静态是出了名的短链,静态的链接是...

DeDeBIZ 织梦BIZ 织梦伪静态 snh102 • 2024-07-25 • 最后回复来自 snh102
1
snh102

新增仅自己查看和管理员查看功能

这是一篇演示文章,测试本站新增的功能,仅自己查看和管理员查看功能! 我听说呀!提高了DedeCMS的安全性,建议所有官方原版程序搭建的站点都进行安装! 第一段:登录后查看 该部分是隐藏区 这里登录...

织梦BIZ 织梦CMS 织梦开发 snh102 • 2024-08-13
snh102

织梦修改全站.html文档的默认命名规则

用织梦做的网站,基本都是 .html 文件后缀的,有的站长就在想,怎么样改为其它后缀的形式,下面,小编附上修改方法。 打开 /include/common.inc.php 搜索 $art_shortname=$cfg_df_ext=.html; 改为 $art_shortname=$cfg_df_ext=.sh...

织梦教程 织梦文档 织梦CMS snh102 • 2024-05-17 • 最后回复来自 snh103
5
snh102

DeDeBIZ程序开发实现API接口调用织梦会员头像

在DeDeBIZ、DeDeCMS、织梦BIZ、织梦CMS中,能实现API接口调用会员头像。 在织梦首页、列表页、内容页、标签页、搜索页、乃至整个织梦模板中,都能使用标签调用会员头像。为此,我想到了,使用API接口的方式...

DeDeBIZ DeDeCMS 织梦开发 snh102 • 2024-08-06 • 最后回复来自 snh102
1
snh102

DeDeBIZ自定义表单添加验证码的办法

给DeDeBIZ织梦自定义表单添加验证码功能,DeDeBIZ织梦自定义表单添加验证码功能后,是不需要在自定义表单里添加字段的,DeDeBIZ织梦自定义表单添加验证码实现教程。 1、模板文件里加入验证码输入框 验证码...

DeDeBIZ 织梦自定义表单 织梦表单 snh102 • 2024-08-08 • 最后回复来自 snh102
2
snh102

DeDeBIZ织梦用SQL添加和删除数据库字段

在上一篇《 DeDeBIZ织梦用SQL创建和删除数据库表 》DeDeBIZ织梦教程中。 学习了,创建、删除数据库表,而这篇文章,将会讲解添加和删除数据库字段。 SQL添加 kanwo 字段 后台-系统设置-SQL命令工具-执行 什么?...

MySQL 织梦BIZ 织梦教程网 snh102 • 2024-07-25 • 最后回复来自 snh102
1
snh102

DeDeBIZ自定义表单提示数据校验不对的解决办法

在上一篇《 织梦自定义表单提示数据校验不对的解决办法 》织梦教程中,解决了DeDeCMS的表单问题,这篇织梦教程将是解决DeDeBIZ的表单问题。废话少说,直接上教程吧。 教程开始 1、打开 /apps/diy.php 搜索 $...

DeDeCMS 织梦自定义表单 织梦表单 snh102 • 2024-08-05
snh102

DeDeBIZ织梦动态TAG标签改成拼音伪静态的方法

DeDeBIZ有生成静态TAG标签功能,默认却是动态+ID链接版,生成后还有N个目录版。 在上一篇《 DeDeBIZ/DeDeV6:TAG标签改为拼音ID静态版 》DeDeV6织梦教程中,我将DeDeBIZ的TAG标签改为拼音ID静态版。但是,有站长说,...

织梦TAG标签 织梦伪静态 snh102 • 2024-07-17 • 最后回复来自 snh102
3
snh102

织梦网站被黑的原因及解决方法

织梦不安全,那可不一定。都用织梦程序,不安全是有原因的,织梦安全在于站长。 织梦被黑的原因有 1、使用原版的官网程序。 2、使用免费的织梦模板。 3、使用免费的织梦插件。 4、使用淘宝的织梦织梦...

DeDeBIZ DeDeCMS DeDeV6 snh102 • 2024-08-17
snh102

DeDeBIZ在channelartlist中嵌套channel时,子栏目currentstyle高亮无效的解决办法

DeDeBIZ中,织梦dede:channel指定typeid子栏目调用currentstyle高亮无效的解决教程。 但在channelartlist中嵌套channel时,dede:channel指定typeid时currentstyle高亮会无效。 调用代码 {dede:channelartlisttypeid=toprow=4currentstyle=display:...

DeDeBIZ 织梦BIZ 织梦开发 snh102 • 2024-08-15
snh102

DeDeBIZ二级栏目导航高亮BUG修复教程

我没用新版,DeDeBIZ又有BUG了。一句简单的标签,都能整出问题来。解决办法如下; DeDeBIZ在channelartlist中嵌套channel时,子栏目currentstyle高亮无效的解决办法。 这个问题出在 /system/taglib/channel.lib.php 文件中,...

织梦标签 织梦栏目 织梦漏洞修复 snh102 • 2024-08-17
snh102

DeDeBIZ织梦站内搜索功能制作教程

站内搜索是网站缺一不可的功能,没有站内搜索的网站是不完善的。 下面,是织梦搜索功能制作教程。也许,和你想的不太一样,因我做的太过简单。 默认代码 一般在 widget_search.htm 模板中,看看,下面是默...

DeDeBIZ 织梦BIZ 织梦搜索 snh102 • 2024-08-16
snh102

DedeBIZ软件内容模型,发布需要金币权限无效的解决办法

在DedeBIZ管理系统中,文章内容模型发布需要金币文章,动态链接是可以跳转到您没有权限浏览文档。但是,在软件内容模型发布需要金币文章设置无效,经测试,直接生成静态,动态链接也不行。下面附上...

织梦教程 织梦文档 DeDeV6 snh102 • 2024-04-28
snh102

DeDeBIZ自定义表单添加访客提交时间和访客IP+限制每天每个IP提交表单次数

被恶意提交,防止恶意提交,最有效的方法是:DeDeBIZ织梦自定义表单添加访客提交时间和访客IP+限制每天每个IP提交表单次数。 上一篇《 DeDeBIZ自定义表单提示数据校验不对的解决办法 》织梦教程中,彻底解...

DeDeBIZ 织梦自定义表单 织梦表单 snh102 • 2024-08-08 • 最后回复来自 snh102
2
Loading...