『壹』 想通過php實現讀取txt文本每次刷新網頁隨機獲取5行數據並輸出
如果文件不是太大的話,可以這樣寫:
<?php
$arr=file('a.txt'); //文本文件,請修改合適的名字和位置
$n=count($arr);
for ($i=0;$i<5;$i++) echo $arr[rand(0,$n)]."<br>';
?>
『貳』 php寫本地txt文件
PHP是在伺服器上運行的,用PHP寫的程序,只能在伺服器上建立TXT文件,無法在客戶電腦建立文件。
如果是寫在伺服器上,xx.php的代碼可以是這樣:
<?php
file_put_contents('a.txt', $_REQUEST['a']??'');
?>
如果你是PHP7之前的版本,上面的??''會導致語法錯誤,需要刪除。
『叄』 php輸出隨機txt文本內容的時候,把txt的行數帶上
<?php
$f='tang.txt'; //文件名
$a=file_get_contents($f); //讀取文件
$allline = explode("\n",$a); //按行數分割文件
$n=count($allline); //獲得總行數
if(isset($_GET['line'])){
$rnd = intval($_GET['line']); //指定行號
}else{
$rnd = rand(,$n-1); //隨機行號
}
//其實獲取到的 $rnd 就是行號了 後續程序可以使用這個變數
$rnd_line=$rnd.":".trim($allline[$rnd]); //輸出 行號:隨機行內容
date_default_timezone_set('PRC');
$tit = date('m 月 d 日')." - star";
?>
『肆』 php讀取txt文本輸出時亂碼如何解決
$text = file_get_contents($filePath);
//$encodType = mb_detect_encoding($text);
define('UTF32_BIG_ENDIAN_BOM', chr(0x00) . chr(0x00) . chr(0xFE) . chr(0xFF));
define('UTF32_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE) . chr(0x00) . chr(0x00));
define('UTF16_BIG_ENDIAN_BOM', chr(0xFE) . chr(0xFF));
define('UTF16_LITTLE_ENDIAN_BOM', chr(0xFF) . chr(0xFE));
define('UTF8_BOM', chr(0xEF) . chr(0xBB) . chr(0xBF));
$first2 = substr($text, 0, 2);
$first3 = substr($text, 0, 3);
$first4 = substr($text, 0, 3);
$encodType = "";
if ($first3 == UTF8_BOM)
$encodType = 'UTF-8 BOM';
else if ($first4 == UTF32_BIG_ENDIAN_BOM)
$encodType = 'UTF-32BE';
else if ($first4 == UTF32_LITTLE_ENDIAN_BOM)
$encodType = 'UTF-32LE';
else if ($first2 == UTF16_BIG_ENDIAN_BOM)
$encodType = 'UTF-16BE';
else if ($first2 == UTF16_LITTLE_ENDIAN_BOM)
$encodType = 'UTF-16LE';
//下面的判斷主要還是判斷ANSI編碼的·
if ($encodType == '') {//即默認創建的txt文本-ANSI編碼的
$content = iconv("GBK", "UTF-8", $text);
} else if ($encodType == 'UTF-8 BOM') {//本來就是UTF-8不用轉換
$content = $text;
} else {//其他的格式都轉化為UTF-8就可以了
$content = iconv($encodType, "UTF-8", $text);
}
『伍』 php遍歷輸出文件夾下所有txt文件
可以,使用glob函數可以非常容易搞定,支持通配符。
<?php
header('Content-type:text/html;charset=utf-8');
$i=1;
foreach(glob('/file/*.txt')as$txt)
{
echo'第'.$i.'個文件'.basename($txt).'的內容是:';
echofile_get_contents($txt);
$i++;
echo'<hr/>';
}