思行勤业分享 http://blog.sciencenet.cn/u/xiangxing 记录心路历程,探索科研领地,交流学习经验,分享知识,结识友朋。

博文

[原创]PHP+TXT的随机引文实现

已有 6741 次阅读 2010-4-14 16:06 |个人分类:PHP学习实践|系统分类:科研笔记|关键词:学者| 文本文件, 随机函数, php, TXT, 随机引文

研究PHP有一段时间,对基础知识有了一些了解之后,逐渐开始在做一些代码集成的工作以实现自己的想法,其中一个想法是采用PHP从TXT中随机读取一行文字,刷新一次就改变成别的行的文字。具体的应用如在个人的站点中实现名人名言的随机调用而不必依赖数据库。

代码如下:

<?PHP
/*
--------------------------------------------------------------------------------
* @文件/类名File/Class Name: PHP+TXT随机引文实现;
* @日期时间Date&Time: 2010-04-14 15:52:07;
* @作者名字Author: Siqin.Hou;
* @联系方式E_mail: siqin.hou@gmail.com;
* @版权归属信息Copyright: Siqin.Hou;
--------------------------------------------------------------------------------
*/
function RandomWisdomLine($txtFile,$Num) {
    //我取名为随机智慧函数,功能:从一个文本文件中随机读取一定行数的文本。参数$txtFile,是您要打开的文本文件,参数$Num要随机显示的行数;
    $file = fopen($txtFile,"r") or die("打开文件失败");//打开文件
    $mydata=file($txtFile);//把整个文件读入到一个数组中,一行一个元素

    /*@检验文件是否成功读取到数组
    echo "<pre>";
    print_r($mydata);
    echo "</pre>";
    */

    $DataNum=count($mydata);    //计算数组一共有多少行,即文件有多少行

    /*检验是否有输出行数
    echo "共有记录:".$DataNum."条<br />";
    */
    //获取随机行
    for($i=0;$i<$Num;$i++) {
        $num=mt_rand(0,$DataNum-1);
        //$num=rand(0,$DataNum-1);
        $final[$i]=$mydata[$num];
        //shuffle($mydata);
        //echo  $final[$i]."<br />";
    }

    return $final;
    //返回数组
    //unset($mydata);释放$mydata数组
}

//使用实例,在与这个PHP文件同一路径下新建两个文本文件,分别为English.txt,Chinese.txt
            $EnglishData=RandomWisdomLine('English.txt','5');//5行英文
            $ChineseData=RandomWisdomLine('Chinese.txt','5');//5行中文
?>
<!--嵌入HTML代码-->
            <dl>
                <dt>English</dt>
     <?PHP
     for($i=0;$i<count($EnglishData);$i++) {
      echo "<dd>".$EnglishData[$i]."</dd>";
     }
     ?>
                <dt>Chinese</dt>
     <?PHP
     for($i=0;$i<count($ChineseData);$i++) {
      echo "<dd>".$ChineseData[$i]."</dd>";
     }
     ?>
            </dl>



https://m.sciencenet.cn/blog-250383-311983.html


下一篇:[原创]JDCK-1S560D多靶磁控溅射镀膜设备操作规程

0

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-20 22:19

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部