做个api接口

简单的一言 api ,无后台返回数据,只需把文字写到api.txt中让api.php调用即可。

api.php 文件

<?php
    $counter = intval(file_get_contents("counter.dat"));  
     $_SESSION['#'] = true;  
     $counter++;  
     $fp = fopen("counter.dat","w");  
     fwrite($fp, $counter);  
     fclose($fp); 
 ?>

<?php
//获取句子文件的绝对路径
$path = dirname(__FILE__);
$file = file($path."/api.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';
}

//格式化判断,输出js或纯文本
if ($_GET['encode'] === 'js') {
    echo "function api(){document.write('" . $content ."');}";
}else if($_GET['encode'] === 'json'){
    header('Content-type:text/json');
    $content = array('text'=>$content);
    echo json_encode($content, JSON_UNESCAPED_UNICODE);
}else {
    echo $content;
}

api.txt 文件

一行写一句自己的话。输出时候系统随机调用某一行。

以下备注

请求方式:Method: Get
请求地址:域名/api.php

charset//字符编码(gbk/utf-8)
encode//返回类型(text/js/json)

js调用实例:

<script src="api.php?encode=js"></script>

js输出实例:

<div><script>api()</script></div>

https://域名/api.php
https://域名/api.php?encode=js

失败

api 是做好了,但是我不会把做好的 api 链接实际调用到我想要展示的位置,项目失败。