PHP程序里面
URL地址相对路径:https://it0772.net/index.php
PHP文件相对路径:D:\wwwroot\yufengly\wwwroot/dayrui/App/
使用任意API查询接口,查询搜索文章标题关键字“欢歌螺韵 魅力鱼峰”,然后返回一个json数据,里面包含有文章数据
https://it0772.net/index.php?appid=2&appsecret=XXX&s=news&c=search&keyword=欢歌螺韵 魅力鱼峰
这是现在查询到的数据,我要如何获取里面的文章内容
"id": "1069",
"catid": "155",
"title": "“欢歌螺韵 魅力鱼峰”⒀:飞“阅”乡村",
"thumb": null,
"keywords": null,
"description": "梦幻新安、水山秘境、金色龙江……鱼峰区里雍。。。。",
"hits": "223",
"uid": "0",
"author": "cyberadmin",
"status": "9",
"url": "https://it0772.net/index.php?c=show&id=1069",
"link_id": "0",
"tableid": "0",
"inputip": "XXXXXXX",
"inputtime": "2020-09-29 11:37:59",
"updatetime": "2020-10-14 11:44:56",
"comments": "0",
"avgsort": "0.00",
"displayorder": "0",
"relateNews": null,
"media": "",
"newsform": "鱼峰区委宣传部",
"fabuzhe": "本站",
"thumbs": [
"4419"
],
"shzxx": null,
"fujian": [],
"zxts_total": "0",
"kfpl": "2",
"test_total": "0",
"wailian": "",
"_inputtime": "1601350679",
"_updatetime": "1602647096",
"_thumbs": "[\"4419\"]",
"_fujian": ""
},
插件版权:官方插件
插件名称:API接口
参考文档:《回调方法的定义》
打开或新建文件/dayrui/My/Library/Http.php,这个文件专门是定义回调方法的
<?php namespace My\Library; class Http extends \Phpcmf\Library\Http { //// 上面是系统自带的 /// 下面是自己加的+++++++++++ public function my_news_list_data($data) { $rt = []; // 这里根据项目的$data输出格式来定义PHP的数据写法, // 每个接口的写法几乎不一样,下面是测试例子 if ($data) { foreach ($data as $t) { $ext = \Phpcmf\Service::table_site('news_data_'.intval($t['tableid']))->get($t['id']); $rt[] = [ 'content'=> dr_ueditor_html($ext['content'], $t['title']), 'title' => $t['title'], // 标题 'id' => $t['id'], // id号 'catname' => dr_cat_value('news', $t['catid'], 'name'), // news模块的当前内容栏目名称 'thumb' => dr_thumb($t['thumb'], 200, 200), // 图片id转换为地址 'updatetime' => dr_date($t['_updatetime'], 'Y-m-d H:i:s'), // 时间转换 ]; } } return $rt; } // 上面是自己加的+++++++++++ //// 下面是系统自带的 }请求的url后缀加一个public function my_news_list_data($data) { $rt = []; // 这里根据项目的$data输出格式来定义PHP的数据写法, // 每个接口的写法几乎不一样,下面是测试例子 if ($data) { foreach ($data['list'] as $t) { $ext = \Phpcmf\Service::table_site('news_data_'.intval($t['tableid']))->get($t['id']); $rt[] = [ 'content'=> dr_ueditor_html($ext['content'], $t['title']), 'title' => $t['title'], // 标题 'id' => $t['id'], // id号 'catname' => dr_cat_value('news', $t['catid'], 'name'), // news模块的当前内容栏目名称 'thumb' => dr_thumb($t['thumb'], 200, 200), // 图片id转换为地址 'updatetime' => dr_date($t['_updatetime'], 'Y-m-d H:i:s'), // 时间转换 ]; } } return $rt; }{ "code": 1, "msg": "view", "data": { "member": [], "meta_keywords": "欢歌螺韵,魅力鱼峰", "meta_title": "欢歌螺韵魅力鱼峰_文章_柳州市鱼峰区旅游网", "meta_description": "柳州市鱼峰区旅游网", "cat": [], "top": [], "get": { "appid": "2", "appsecret": "MZSTNB9961023B977F", "keyword": "欢歌螺韵%魅力鱼峰" }, "list": [ { "id": "1069", "catid": "155", "title": "“欢歌螺韵 魅力鱼峰”⒀:飞“阅”乡村", "thumb": null, "keywords": null, "description": "梦幻新安、水山秘境、金色龙江……鱼峰区里雍、白沙两镇有着丰富的人文与自然风光。今天我们一起飞“阅”鱼峰,以全新的角度领略乡村魅力吧!青龙双洲 宣传部提供梦幻新安 蔡继青摄美丽家园 黎寒池摄立冲半岛 梁...", "hits": "223", "uid": "0", "author": "cyberadmin", "status": "9", "url": "https://it0772.net/index.php?c=show&id=1069", "link_id": "0", "tableid": "0", "inputip": "111.59.70.77", "inputtime": "2020-09-29 11:37:59", "updatetime": "2020-10-14 11:44:56", "comments": "0", "avgsort": "0.00", "displayorder": "0", "relateNews": null, "media": "", "newsform": "鱼峰区委宣传部", "fabuzhe": "本站", "thumbs": [ "4419" ], "shzxx": null, "fujian": [], "zxts_total": "0", "kfpl": "2", "test_total": "0", "wailian": "", "_inputtime": "1601350679", "_updatetime": "1602647096", "_thumbs": "[\"4419\"]", "_fujian": "" }, { "id": "1066", "catid": "155", "title": "“欢歌螺韵 魅力鱼峰”⑿潮人和吃货的打卡圣地,这些地方你一定不能错过", "thumb": null, "keywords": null, "description": "“欢歌螺韵 魅力鱼峰 ” ,柳州市的大部分风景名胜都坐落在鱼峰区,鱼峰区内不仅有国家级AAAA景区多达10个,更拥有白莲洞遗址、鲤鱼嘴遗址、胡志明旧居、昆仑关战役旧址4个全国重点文物保护单位及自治区级...", "hits": "1189", "uid": "0", "author": "cyberadmin", "status": "9", "url": "https://it0772.net/index.php?c=show&id=1066", "link_id": "0", "tableid": "0", "inputip": "111.59.70.77", "inputtime": "2020-09-25 09:09:10", "updatetime": "2020-09-27 15:22:27", "comments": "0", "avgsort": "0.00", "displayorder": "0", "relateNews": null, "media": "", "newsform": "魅力鱼峰、箭盘山街道办事处、白莲街道办事处", "fabuzhe": "本站", "thumbs": [ "4406" ], "shzxx": null, "fujian": [], "zxts_total": "0", "kfpl": "2", "test_total": "0", "wailian": "", "_inputtime": "1600996150", "_updatetime": "1601191347", "_thumbs": "[\"4406\"]", "_fujian": "" },我没改对吗,提示系统故障了<?php defined('SYSTEMPATH') || exit('No direct script access allowed'); ?> CRITICAL - 2020-10-21 15:43:46 --> Call to undefined method Phpcmf\Service::table_site() # https://it0772.net/index.php?appid=2&appsecret=MZSTNB9961023B977F&s=news&c=search&keyword=%E6%AC%A2%E6%AD%8C%E8%9E%BA%E9%9F%B5%20%E9%AD%85%E5%8A%9B%E9%B1%BC%E5%B3%B0&api_call_function=my_news_list_data # SELECT * FROM `yfly_1_news` WHERE (`yfly_1_news`.`id` IN(992,994,996,1000,1016,1039,1057,1059,1060,1061,1064,1066,1069)) ORDER BY `yfly_1_news`.`updatetime` DESC LIMIT 0,10 #0 D:\wwwroot\yufengly\wwwroot\dayrui\Fcms\Core\View.php(203): My\Library\Http->my_news_list_data(Array) #1 D:\wwwroot\yufengly\wwwroot\dayrui\Fcms\Control\Home\Module.php(363): Phpcmf\View->display('search.html') #2 D:\wwwroot\yufengly\wwwroot\dayrui\App\News\Controllers\Search.php(12): Phpcmf\Home\Module->_Search() #3 D:\wwwroot\yufengly\wwwroot\dayrui\System\CodeIgniter.php(847): Phpcmf\Controllers\Search->index() #4 D:\wwwroot\yufengly\wwwroot\dayrui\System\CodeIgniter.php(338): CodeIgniter\CodeIgniter->runController(Object(Phpcmf\Controllers\Search)) #5 D:\wwwroot\yufengly\wwwroot\dayrui\System\CodeIgniter.php(246): CodeIgniter\CodeIgniter->handleRequest(NULL, Object(Config\Cache), false) #6 D:\wwwroot\yufengly\wwwroot\dayrui\Fcms\Init.php(327): CodeIgniter\CodeIgniter->run() #7 D:\wwwroot\yufengly\wwwroot\index.php(44): require('D:\\wwwroot\\yufe...') #8 {main}1451599023
<?php namespace My\Library; class Http extends \Phpcmf\Library\Http { //// 上面是系统自带的 /// 下面是自己加的+++++++++++ public function my_news_list_data($data) { $rt = []; // 这里根据项目的$data输出格式来定义PHP的数据写法, // 每个接口的写法几乎不一样,下面是测试例子 if ($data['list']) { foreach ($data['list'] as $t) { $ext = \Phpcmf\Service::M()->table_site('news_data_'.intval($t['tableid']))->get($t['id']); $rt[] = [ 'content'=> dr_ueditor_html($ext['content'], $t['title']), 'title' => $t['title'], // 标题 'id' => $t['id'], // id号 'catname' => dr_cat_value('news', $t['catid'], 'name'), // news模块的当前内容栏目名称 'thumb' => dr_thumb($t['thumb'], 200, 200), // 图片id转换为地址 'updatetime' => dr_date($t['_updatetime'], 'Y-m-d H:i:s'), // 时间转换 ]; } } return $rt; } // 上面是自己加的+++++++++++ //// 下面是系统自带的 }2020-10-21 16:16:08 --> Error 文件: D:\wwwroot\yufengly\wwwroot\dayrui\My\Library\Http.php 行号: 54 错误: Call to undefined function My\Library\dr_ueditor_html() {"html":"<pre><code><span class=\"line\"><span class=\"number\">47<\/span> <\/span><span style=\"color: #c7c7c7\">$rt <\/span><span style=\"color: #f1ce61;\">= [];\n<span class=\"line\"><span class=\"number\">48<\/span> <\/span><span style=\"color: #767a7e; font-style: italic\">\/\/ 这里根据项目的$data输出格式来定义PHP的数据写法,\n<span class=\"line\"><span class=\"number\">49<\/span> \/\/ 每个接口的写法几乎不一样,下面是测试例子\n<span class=\"line\"><span class=\"number\">50<\/span> <\/span><span style=\"color: #f1ce61;\">if (<\/span><span style=\"color: #c7c7c7\">$data<\/span><span style=\"color: #f1ce61;\">[<\/span><span style=\"color: #869d6a\">'list'<\/span><span style=\"color: #f1ce61;\">]) {\n<span class=\"line\"><span class=\"number\">51<\/span> foreach (<\/span><span style=\"color: #c7c7c7\">$data<\/span><span style=\"color: #f1ce61;\">[<\/span><span style=\"color: #869d6a\">'list'<\/span><span style=\"color: #f1ce61;\">] as <\/span><span style=\"color: #c7c7c7\">$t<\/span><span style=\"color: #f1ce61;\">) {\n<span class=\"line\"><span class=\"number\">52<\/span> <\/span><span style=\"color: #c7c7c7\">$ext <\/span><span style=\"color: #f1ce61;\">= \\<\/span><span style=\"color: #c7c7c7\">Phpcmf<\/span><span style=\"color: #f1ce61;\">\\<\/span><span style=\"color: #c7c7c7\">Service<\/span><span style=\"color: #f1ce61;\">::<\/span><span style=\"color: #c7c7c7\">M<\/span><span style=\"color: #f1ce61;\">()-><\/span><span style=\"color: #c7c7c7\">table_site<\/span><span style=\"color: #f1ce61;\">(<\/span><span style=\"color: #869d6a\">'news_data_'<\/span><span style=\"color: #f1ce61;\">.<\/span><span style=\"color: #c7c7c7\">intval<\/span><span style=\"color: #f1ce61;\">(<\/span><span style=\"color: #c7c7c7\">$t<\/span><span style=\"color: #f1ce61;\">[<\/span><span style=\"color: #869d6a\">'tableid'<\/span><span style=\"color: #f1ce61;\">]))-><\/span><span style=\"color: #c7c7c7\">get<\/span><span style=\"color: #f1ce61;\">(<\/span><span style=\"color: #c7c7c7\">$t<\/span><span style=\"color: #f1ce61;\">[<\/span><span style=\"color: #869d6a\">'id'<\/span><span style=\"color: #f1ce61;\">]);\n<span class=\"line\"><span class=\"number\">53<\/span> <\/span><span style=\"color: #c7c7c7\">$rt<\/span><span style=\"color: #f1ce61;\">[] = [\n<span class='line highlight'><span class='number'>54<\/span> 'content'=> dr_ueditor_html($ext['content'], $t['title']),\n<\/span><\/span><span style=\"color: #869d6a\"><\/span><span style=\"color: #f1ce61;\"><\/span><span style=\"color: #c7c7c7\"><\/span><span style=\"color: #f1ce61;\"><\/span><span style=\"color: #c7c7c7\"><\/span><span style=\"color: #f1ce61;\"><\/span><span style=\"color: #869d6a\"><\/span><span style=\"color: #f1ce61;\"><\/span><span style=\"color: #c7c7c7\"><\/span><span style=\"color: #f1ce61;\"><\/span><span style=\"color: #869d6a\"><\/span><span style=\"color: #f1ce61;\"><span class=\"line\"><span class=\"number\">55<\/span> <\/span><span style=\"color: #869d6a\">'title' <\/span><span style=\"color: #f1ce61;\">=> <\/span><span style=\"color: #c7c7c7\">$t<\/span><span style=\"color: #f1ce61;\">[<\/span><span style=\"color: #869d6a\">'title'<\/span><span style=\"color: #f1ce61;\">], <\/span><span style=\"color: #767a7e; font-style: italic\">\/\/ 标题\n<span class=\"line\"><span class=\"number\">56<\/span> <\/span><span style=\"color: #869d6a\">'id' <\/span><span style=\"color: #f1ce61;\">=> <\/span><span style=\"color: #c7c7c7\">$t<\/span><span style=\"color: #f1ce61;\">[<\/span><span style=\"color: #869d6a\">'id'<\/span><span style=\"color: #f1ce61;\">], <\/span><span style=\"color: #767a7e; font-style: italic\">\/\/ id号\n<span class=\"line\"><span class=\"number\">57<\/span> <\/span><span style=\"color: #869d6a\">'catname' <\/span><span style=\"color: #f1ce61;\">=> <\/span><span style=\"color: #c7c7c7\">dr_cat_value<\/span><span style=\"color: #f1ce61;\">(<\/span><span style=\"color: #869d6a\">'news'<\/span><span style=\"color: #f1ce61;\">, <\/span><span style=\"color: #c7c7c7\">$t<\/span><span style=\"color: #f1ce61;\">[<\/span><span style=\"color: #869d6a\">'catid'<\/span><span style=\"color: #f1ce61;\">], <\/span><span style=\"color: #869d6a\">'name'<\/span><span style=\"color: #f1ce61;\">), <\/span><span style=\"color: #767a7e; font-style: italic\">\/\/ news模块的当前内容栏目名称\n<span class=\"line\"><span class=\"number\">58<\/span> <\/span><span style=\"color: #869d6a\">'thumb' <\/span><span style=\"color: #f1ce61;\">=> <\/span><span style=\"color: #c7c7c7\">dr_thumb<\/span><span style=\"color: #f1ce61;\">(<\/span><span style=\"color: #c7c7c7\">$t<\/span><span style=\"color: #f1ce61;\">[<\/span><span style=\"color: #869d6a\">'thumb'<\/span><span style=\"color: #f1ce61;\">], <\/span><span style=\"color: #c7c7c7\">200<\/span><span style=\"color: #f1ce61;\">, <\/span><span style=\"color: #c7c7c7\">200<\/span><span style=\"color: #f1ce61;\">), <\/span><span style=\"color: #767a7e; font-style: italic\">\/\/ 图片id转换为地址\n<span class=\"line\"><span class=\"number\">59<\/span> <\/span><span style=\"color: #869d6a\">'updatetime' <\/span><span style=\"color: #f1ce61;\">=> <\/span><span style=\"color: #c7c7c7\">dr_date<\/span><span style=\"color: #f1ce61;\">(<\/span><span style=\"color: #c7c7c7\">$t<\/span><span style=\"color: #f1ce61;\">[<\/span><span style=\"color: #869d6a\">'_updatetime'<\/span><span style=\"color: #f1ce61;\">], <\/span><span style=\"color: #869d6a\">'Y-m-d H:i:s'<\/span><span style=\"color: #f1ce61;\">), <\/span><span style=\"color: #767a7e; font-style: italic\">\/\/ 时间转换\n<span class=\"line\"><span class=\"number\">60<\/span> <\/span><span style=\"color: #f1ce61;\">];\n<span class=\"line\"><span class=\"number\">61<\/span> }\n<\/span><\/code><\/pre>"} 查询: SELECT * FROM `yfly_1_news_data_0` WHERE `id` = 1069 地址: https://it0772.net/index.php?appid=2&appsecret=MZSTNB9961023B977F&s=news&c=search&keyword=%E6%AC%A2%E6%AD%8C%E8%9E%BA%E9%9F%B5%20%E9%AD%85%E5%8A%9B%E9%B1%BC%E5%B3%B0&api_call_function=my_news_list_data 来源: