PHP教程:如何实现随机留言功能
PHP实现随机一句话留言教程:首先,创建一个包含多条留言的数组。然后,使用`rand()`函数生成一个随机索引,从数组中获取对应的留言。最后,将留言显示在网页上。以下是一个简单的示例代码: ```php <?php $messages = array( "欢迎来到我的网站!", "很高兴见到你!", "祝你一天愉快!", "请留下你的宝贵意见!" ); $random_index = rand(0, count($messages) - 1); echo $messages[$random_index]; ?> ``` 这段代码首先定义了一个包含四条留言的数组`$messages`,然后使用`rand()`函数生成一个随机索引`$random_index`,并从数组中获取对应的留言。最后,使用`echo`语句将留言显示在网页上。
很多网站都喜欢在页面中加个一言,不过一般都是调用的第三方api。其实,使用万能的php能通过短短的几行代码就实现该功能!
准备工作
首先准备一个代码编辑器,然后新建一个 php 文件,命名为 api.php,再新建一个文件,命名为 data.dat(两个文件均需采用 UTF-8 编码,否则会乱码)。
打开 data.dat,在里面贴入要随机显示出来的文本,一行一条。如果你暂时想不出什么比较好的句子的话,我这儿准备了几十条古诗名句,可以直接点我下载备用。
上代码
将下列代码复制并粘贴到 api.php 中保存,你的专属“一言” API 就搭建完成了!超简单是不是……
<?php//存储数据的文件$filename='data.dat';//指定页面编码header('Content-type:text/html;charset=utf-8');if(!file_exists($filename)){die($filename.'数据文件不存在');}$data=array();//打开文档$fh=fopen($filename,'r');//逐行读取并存入数组中while(!feof($fh)){$data[]=fgets($fh);}//关闭文档fclose($fh);//随机获取一行索引$result=$data[array_rand($data)];echo$result;
上面的代码是用fopen+fgets函数实现的,有些朋友似乎不是特别喜欢,觉得“效率低”。别急,这儿还有个file_get_contents函数实现的版本:
<?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","rn"),'',$result);echo$result;
如何在静态页面中引用
上面的代码都是直接在页面中就输出了随机的句子。如果想像一言那样在静态的网页中引用这个 api,该如何实现呢?
很简单,将最后那一行的echo $result;换成
echo'document.write("'.htmlspecialchars($result).'");';
然后在需要的位置用引入 js 的方式进行调用即可。
示例代码:
<scriptsrc="http://你的网址.cn/api.php"></script>