PHP 调用 txt 文本随机一行代码失败一记
本文最后更新于 294 天前,其中的信息可能已经有所发展或是发生改变。

最近想搞个随机一言,于是我就从网上搜索代码

我搜到了这么一个结果

<?php
$filename = 'data.dat';
header('Content-type: text/html; charset=utf-8');
if(!file_exists($filename)) {
    die($filename . ' 数据文件不存在');
}
$data = file_get_contents($filename);
$data = explode(PHP_EOL, $data);
$result = $data[array_rand($data)];
$result = str_replace(array("\r","\n","\r\n"), '', $result);
if($result==""){//防止获取到空值
    echo 'document.write("'."糟糕没有数据,请重新刷新一下".'");';//使用js进行调用
}else{
    echo 'document.write("'.($result).'");';//使用js进行调用
}

但是我在被调用的 txt 文件里包含 HTML 代码

两个 <p> xxx </p>

所以它前面会有 document.write

虽然效果达到了,但是前面那段文字很妨碍显示

于是我再寻找,找到一个更短的代码

<?php
$txt='filename.txt';
$a=file($txt);
$b=count($a);
$rand=rand(0,$b);
$rand_shuchu=$a[$rand];
echo $rand_shuchu
?>

这回就不显示了

代码是好了,但是我想再加一个刷新按钮,于是造成下面这种结果

https://api.azqaq.top/0/error1.php

看来直接加不行,需要另外一个页面调用

于是新建了一个 html 文件调用,但是我发现不行,后来才知道要添加下面这个代码

<?php
$f = $_GET['f'];    
echo "document.write('".$f."');";   
?>

但是我这里还是显示空白

我尝试改成 PHP,但是出现了下面情况

https://api.azqaq.top/0/get/error.php

我寻思着明明没错为什么会报错, PHP 路径也没错啊

在网络上查找之后,我才知道,要填写服务器内部的路径,例如

/www/wwwroot/xxxx/file.php   (Linux)
D:\file.php   (Windows)

最后,终于实现了随机文本的效果

https://api.azqaq.top/0/get

后来还想做一个免刷新整个页面直接重新变文本的效果,但是感觉太麻烦就不做了

本文链接:https://blog.mcneko.com/archives/82
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇