Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中从文本文件中随机抽取多行_Php_Text Files - Fatal编程技术网

在PHP中从文本文件中随机抽取多行

在PHP中从文本文件中随机抽取多行,php,text-files,Php,Text Files,所以目前我有一个名为“flatfile.txt”的文本文件,它有大约50行不同的行,所有的网站;e、 g或类似的东西。我想让PHP打开文本文件,拉出一行,然后再做一次,大约30次 <?php $one = $url; $httprefix = array("http://", "https://"); $trunclink1 = str_replace($httprefix, '', $one); ?> <div class="view link"> <img

所以目前我有一个名为“flatfile.txt”的文本文件,它有大约50行不同的行,所有的网站;e、 g或类似的东西。我想让PHP打开文本文件,拉出一行,然后再做一次,大约30次

<?php
$one = $url;
$httprefix = array("http://", "https://");
$trunclink1 = str_replace($httprefix, '', $one);
?>
<div class="view link">
   <img src="http://immediatenet.com/t/l?Size=1024x768&amp;URL=<? echo $one;?>" height="200px" width="300px" />
   <div class="mask">
        <h2><? echo $trunclink1;?></h2>
        <p><? echo $description; ?></p>
        <a href="#" class="info">Read Comments</a>
   </div>
</div>

“height=“200px”width=“300px”/>

所以$url是PHP从文本文件中取出的内容的输出,所以当我得到$2时,我希望$url给出另一个随机行,也许
我对PHP很陌生,所以我可能会有一些新手错误,但任何帮助都会很棒。我认为这是一个foreach循环,是需要的,但不确定。

你想让行以随机顺序排列吗?你能重复以前使用过的行吗?更像是,PHP进入文件时会拉出一个随机行,将其推入$url变量,然后下次在类似情况下调用时,PHP会返回文本文件并随机选择另一个文本文件,该过程将重做大约30次。此外,是的,没有重复:您提出的数据是不够的。您或者需要将整个文件读入一行数组中(对于大型文件,内存密集型),或提前计算文件中有多少行,以及每行的偏移量(需要第二次传递)。原因是您不能重复,因此您的应用程序必须有一种跟踪可用内容的方法。Hmmm。我想,由于这只是一个媒体研究课程的学校项目,而不是一个实时站点,我可以将整个文件加载到一个带有“$lines=file('mainbase.txt',file_IGNORE_NEW_line | file_SKIP_EMPTY_line)”的数组中'然后洗牌,然后使用array_rand。这有多重要?文件无论如何都不会很大。这正是我对较小文件的建议。如果你有1000行或更少,就去做。你想让这些行以随机顺序排列吗?你能重复以前使用过的行吗?更像是,PHP进入文件时拉出一个随机行,将其推入into$url变量,下次在类似情况下调用它时,PHP会返回文本文件并随机选择另一个,该过程会重复大约30次。此外,是的,没有重复:您提出的数据是不够的。您或者需要将整个文件读入一行数组中(对于大型文件,内存密集型),或提前计算文件中有多少行,以及每行的偏移量(需要第二次传递)。原因是您不能重复,因此您的应用程序必须有一种跟踪可用内容的方法。Hmmm。我想,由于这只是一个媒体研究课程的学校项目,而不是一个实时站点,我可以将整个文件加载到一个带有“$lines=file('mainbase.txt',file_IGNORE_NEW_line | file_SKIP_EMPTY_line)”的数组中'然后将其洗牌,然后使用数组_rand。这有多重要?文件无论如何都不会太大。这正是我对较小文件的建议。如果您有1000行或更少行,请尝试。
<?php
foreach (array_rand(file('flatfile.txt'), 30) as $line) {
    echo $line;
}