从TXT文件中随机抽取一行作为字符串

18

我目前正在使用下面的代码尝试从random.txt中读取一行随机文本,并将其传递为$data,但是它返回为空。每个字符串都有自己的一行,我错过了什么吗?如果不行,我该如何从文本文件中获取一行随机文本并将其用作$data字符串?

$f_contents = file("random.txt");
$line = $f_contents[array_rand($f_contents)];
$data = $line;

已解决 - CHMOD 权限问题 认为我已经仔细检查了,很抱歉要发一个问题。


2
$f_contents 是否已填充?尝试使用 print_r($f_contents) 进行打印。 - shmeeps
1
对我来说是可以正常工作的。你确定你已经正确设置了.txt文件的访问权限吗? - drudge
经过适当的chmod设置后,程序可以正常工作。一个简单的错误让我疯狂了。 - Ryan Cooper
简单的错误是我们从未想到的。每个人都会犯错! - shmeeps
2个回答

24

你的代码看起来是正确的,但你也可以尝试这种方式:

<?php
    $f_contents = file("random.txt"); 
    $line = $f_contents[rand(0, count($f_contents) - 1)];
?>

使用这个函数是否比array_rand函数更有优势? - Marty

4

请确保你的文件设置了读取权限,应该将其CHMOD为644或744。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接