如何写一个属于自己的随机图片API和一言hitokoto

刚接触博客看到别人的随机图片模块非常羡慕,通过一段时间的学习,终于自己也学会了,以下记录一下如何做自己的随机图片API

  1. 首先,在你网站/博客根目录新建个文件夹,命名API.
  2. 然后在此目录里创建一个img.txt和一个api.php文件。
  3. 打开img.txt文件,把图片文件的链接放入其中,每个链接占一行
  4. 编辑api.php文件,把以下代码放入其中,保存
  5. 最后,在浏览器中输入http://你的域名/api ,欣赏你的作品吧
<?php
//存有image链接的文件名img.txt
$filename = "img.txt";
if(!file_exists($filename)){
    die('文件不存在');
}
 
//从文本获取链接
$pics = [];
$fs = fopen($filename, "r");
while(!feof($fs)){
    $line=trim(fgets($fs));
    if($line!=''){
        array_push($pics, $line);
    }
}
 
//从数组随机获取链接
$pic = $pics[array_rand($pics)];
 
//返回指定格式
$type=$_GET['type'];
switch($type){
 
//JSON返回
case 'json':
    header('Content-type:text/json');
    die(json_encode(['pic'=>$pic]));
 
default:
    die(header("Location: $pic"));
}
?>

二、其次是建立自己的一言hitokoto,这个方法和随机图片API大同小异

  1. 首先,在你网站/博客根目录新建个文件夹,命名hitokoto.
  2. 然后在此目录里创建一个hitokoto.txt和一个index.php文件
  3. 打开hitokoto.tx文件,把经典的句子放进去吧,一句话一行。
  4. 编辑index.php文件,把以下代码放入其中,保存
  5. 最后,在浏览器中输入http://你的域名/hitokoto ,欣赏你的作品吧
<?php
$path = dirname(__FILE__);
$file = file($path."/hitokoto.txt");
 
//随机读取一行
$arr  = mt_rand( 0, count( $file ) - 1 );
$content  = trim($file[$arr]);
 
//编码判断,用于输出相应的响应头部编码
if (isset($_GET['charset']) && !empty($_GET['charset'])) {
    $charset = $_GET['charset'];
    if (strcasecmp($charset,"gbk") == 0 ) {
        $content = mb_convert_encoding($content,'gbk', 'utf-8');
    }
} else {
    $charset = 'utf-8';
}
header("Content-Type: text/html; charset=$charset");
 
//格式化判断,输出js或纯文本
if ($_GET['format'] === 'js') {
    echo "function hitokoto(){document.write('" . $content ."');}";
} else {
    echo $content;
}
?>

调用接口

<script type="text/javascript" src="https://填写域名/hitokoto/?format=js&charset=utf-8"></script> <div id="hitokoto"><script>hitokoto()</script></div>
    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞10赞赏 分享
    评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容