梦殇国际

标题: 使用PHP玩耍一言API [打印本页]

作者: 幻梦    时间: 2015-7-6 12:31
标题: 使用PHP玩耍一言API
什么是一言API呢?
简单来说,一言(ヒトコト)指的是就是一句话,可以是动漫中的台词,可以是小说中的语句,也可以是网络上的各种小段子。
或是感动,或是开心,又或是单纯的回忆,来到这里,留下你所喜欢的那一句句话,与大家分享,这就是一言存在的目的。——摘自一言官网的描述
那么幻梦为什么要改这段代码呢?

闲的无聊,正好想玩玩PHP

幻梦对这个源码改造成什么样了呢?

添加各种注释,并添加了各种GET方式的if,判断value参数为什么的时候输出什么。


那么下面发出代码:
  1. <?php
  2. //Code by 幻梦  
  3. //不是很会PHP,所以代码很渣,只会照葫芦画瓢,你得知道这个代码我也是改的
  4. //所以不喜勿喷
  5. //博客:http://www.ihuanmeng.com/
  6. //一言API官网:http://hitokoto.us/api.html

  7. $url = 'http://api.hitokoto.us/rand'; //定义CURL要抓取的URL
  8. $ch = curl_init(); //初始化CURL
  9. curl_setopt($ch, CURLOPT_URL, $url);
  10. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  11. curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
  12. //curl_setopt函数是php中一个重要的函数,它可以模仿用户的一些行为,如模仿用户登录,注册等等一些用户可操作的行为哦。curl_setopt()函数将为一个CURL会话设置选项。option参数是你想要的设置,value是这个选项给定的值。——摘自PHP100

  13. $json = curl_exec($ch); //JSON定值
  14. curl_close($ch);
  15. $array = json_decode($json, true); // array参数定值
  16. $hitokoto = $array[hitokoto]; //取hitokoto值
  17. $id = $array[id]; //取这一句话的id值
  18. $cat = $array[cat]; //取分类代码
  19. $author = $array[author]; //取投稿人
  20. $source = $array[source]; //取出处
  21. $like = $array[like]; //取喜欢的人数
  22. $date = $array[date]; //取投稿日期

  23. if ($_GET['value'] == 'id') {
  24. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  25.     echo $id ;
  26.     die;
  27. } //如果value参数为id则输出变量名为id的值
  28. if ($_GET['value'] == 'cat') {
  29. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  30.     echo $cat ;
  31.     die;
  32. } //如果value参数为cat则输出变量名为cat的值
  33. //既然cat是分类代码,这里应该给大家科普下一言的分类代码所代表的意思:
  34. //a - Anime - 动画
  35. //b - Comic - 漫画
  36. //c - Game - 游戏
  37. //d - Novel - 小说
  38. //e - 原创
  39. //f - 来自网络
  40. //g - 其他
  41. if ($_GET['value'] == 'hitokoto') {
  42. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  43.     echo $hitokoto ;
  44.     die;
  45. } //如果value参数为hitokoto则输出变量名为hitokoto的值
  46. if ($_GET['value'] == 'author') {
  47. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  48.     echo $author ;
  49.     die;
  50. } //如果value参数为author则输出变量名为author的值
  51. if ($_GET['value'] == 'source') {
  52. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  53.     echo $source ;
  54.     die;
  55. } //如果value参数为source则输出变量名为source的值
  56. if ($_GET['value'] == 'like') {
  57. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  58.     echo $like ;
  59.     die;
  60. } //如果value参数为like则输出变量名为like的值
  61. if ($_GET['value'] == 'date') {
  62. header('Content-Type: text/html; charset=UTF-8');//定义网页编码,防止输出中文的时候乱码
  63.     echo $date ;
  64.     die;
  65. } //如果value参数为date则输出变量名为date的值
  66. else {
  67.     header('Content-Type:text/html;charset=utf-8');
  68.     echo '{document.write("' . $hitokoto . '");}';
  69.     die;
  70. }//如果不在URL中确定输出值,则默认输出JavaScript语法的hitokoto值

  71. ?>
复制代码

具体会输出什么?自己运行去吧!23333


建议大家直接到我的博客查看原文:http://www.ihuanmeng.com/1607.shtml


作者: 9号好人啊    时间: 2015-7-6 12:52
没有学习编程

作者: 伞    时间: 2015-7-6 12:56
看不懂





欢迎光临 梦殇国际 (https://714.hk/) Powered by Discuz! X3.4