首先f(wàn)open讀取TXT文件,獲取一個(gè)文件指針,然后fgets獲取一行,再fgets繼續(xù)讀取下一行
創(chuàng)新互聯(lián)于2013年成立,先為黃龍等服務(wù)建站,黃龍等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為黃龍企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
官方例子:
?php
$f?=?fopen?("fgetstest.php",?"r");
$ln=?0;
while?(!?feof?($f))?{
$line=?fgets?($f);
++$ln;
printf?("%2d:?",?$ln);
if?($line===FALSE)?print?("FALSE\n");
else?print?($line);
}
fclose?($f);
這個(gè)前提是你的$f這個(gè)文件指針不能關(guān)閉,如果你想在不同請(qǐng)求的情況下實(shí)現(xiàn),那就要吧$f做全局存儲(chǔ)了,看看存session可否(我沒做過(guò),不確定,你試試看)
form action='' method="post"
輸入字母:
input type="text" name="cs"
input type="submit"
/form
?php
//獲取post值
$cs = empty($_POST['cs']) ? "" : $_POST['cs'];
//post值為空直接返回
if($cs==""){return '';}
//打開diqu.txt文件資源
$file = fopen("diqu.txt", "r") or exit("未找到文件!");
//逐行查找post傳遞的字符
while(!feof($file))
{
//如果找到post傳遞的字符就返回該行的值
if($val = strstr(fgets($file),$cs)){echo str_replace($cs,'',$val);return "";}
}
//關(guān)閉文件
fclose($file);
?
$content?=?file("test.txt");
$randContent?=?array_rand($content,5);
echo?implode("br?/",$randContent);
第一行使用file把把整個(gè)文件讀入一個(gè)數(shù)組中
第二行使用array_rand在數(shù)組中隨機(jī)取出5個(gè)元素
第三行將取出的5個(gè)數(shù)組中間添加br?/標(biāo)簽并打印出來(lái)
file
把整個(gè)文件讀入一個(gè)數(shù)組中
file?(?string?$filename?,?int?$flags?=?0?,?resource?$context?=???)?:?array
array_rand
從數(shù)組中隨機(jī)取出一個(gè)或多個(gè)隨機(jī)鍵
array_rand?(?array?$array?,?int?$num?=?1?)?:?int|string|array
implode
將一個(gè)一維數(shù)組的值轉(zhuǎn)化為字符串
implode?(?string?$glue?,?array?$pieces?)?:?string