$content?=?file("test.txt");
成都創新互聯是網站建設技術企業,為成都企業提供專業的網站設計、網站建設,網站設計,網站制作,網站改版等技術服務。擁有十余年豐富建站經驗和眾多成功案例,為您定制適合企業的網站。十余年品質,值得信賴!
$randContent?=?array_rand($content,5);
echo?implode("br?/",$randContent);
第一行使用file把把整個文件讀入一個數組中
第二行使用array_rand在數組中隨機取出5個元素
第三行將取出的5個數組中間添加br?/標簽并打印出來
file
把整個文件讀入一個數組中
file?(?string?$filename?,?int?$flags?=?0?,?resource?$context?=???)?:?array
array_rand
從數組中隨機取出一個或多個隨機鍵
array_rand?(?array?$array?,?int?$num?=?1?)?:?int|string|array
implode
將一個一維數組的值轉化為字符串
implode?(?string?$glue?,?array?$pieces?)?:?string
如果直接使用file_get_contents來讀取文件,那么在文件很大的時候會很占內容,比如這個文件有1GB的時候。
這個時候使用傳統的文件操作方式就好的多,因為是查找嘛,逐行讀取匹配應該也是可以的,下面是我的一個建議,不知道是否滿足你的要求,可以看下:
//
需要查找的內容
$search
=
'bcd';
//
打開文件
$res
=
fopen('a.txt',
'r');
while
($line
=
fgets($res,
1024))
{
//
根據規則查找
if
(strpos($line,
$search)
===
0)
{
//
根據既定規則取得需要的數據
echo
substr($line,
4,
-1);
//
這里就是你想得到的
break;
}
}
//
關閉文件
fclose($res);
首先fopen讀取TXT文件,獲取一個文件指針,然后fgets獲取一行,再fgets繼續讀取下一行
官方例子:
?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);
這個前提是你的$f這個文件指針不能關閉,如果你想在不同請求的情況下實現,那就要吧$f做全局存儲了,看看存session可否(我沒做過,不確定,你試試看)
第一步,讀取txt的文件。假設為a.txt
$content = file_get_content('a.txt'); //讀取文件內容存入變量。
第二步,存入數據庫
mysql_query("insert 表名 (字段名) values('".$content."'));
Ps:文件是上傳的,上傳后的臨時文件名是:$_FILE['tmp_name']