qqtx 发表于 2020-1-13 13:39

简单一言api无后台无需数据库版本(PHP)

本帖最后由 qqtx 于 2020-1-13 09:02 编辑

**简单的一言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

**#请求地址xxxx.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://soney.cn/api.php
https://soney.cn/api.php?encode=js

**

boy7928 发表于 2020-1-13 14:04

..这个能干嘛

开创者 发表于 2020-1-13 14:14

不错&#128076;,挺好的,感谢分享。可以博客上用
页: [1]
查看完整版本: 简单一言api无后台无需数据库版本(PHP)