導航:首頁 > 編程語言 > php讀取txt

php讀取txt

發布時間:2022-01-12 03:02:42

1. php讀取txt內容數組

想要把一批文件讀入內存對伺服器可能負擔太重,內存佔用太多,甚至會造成內存不足、操作系統自動使用硬碟來擴充虛擬內存,而對硬碟虛擬出來的內存的操作會比實際內存的操作慢1000倍以上,因為硬碟讀寫是機械運動的速度,內存讀寫是電的速度、光的速度,不如用循環內一次只讀入一個文件來處理。一次只讀入一個文件時你可以用「 $lines = file('被讀的文件名'); 」函數把一個文件讀成內存中的一個數組 $lines,其中的每一個元素對應於文件的一行。有了數組 $lines 以後你再逐行循環,用「 $elements=explode( '\t', $lines ); 」函數把 已經體現為一個字元串的 $lines 中的每一行 剖分成一個數組 $elements ,其中,'\t' 是假定你的 txt 文件行內各個數據是用 '\t' (Tab鍵)隔開的,如果你用其它形式的分隔符(如:空格、逗號、斜杠等)就將該分隔符 代替 '\t' 內的 \t 。
通過這兩重的循環,你可以訪問到你需要訪問的那個數據,伺服器的壓力也不會太大。

2. PHP 如何讀取本地TXT文件並寫入資料庫

如在客戶端的話, 那需要上傳!
file ('c:\123.txt');
讀取的是伺服器上硬碟C區中的123.txt
而不是訪問者電腦的硬碟上的文件!

無論什麼伺服器端腳本, 在用戶未上傳本地文件的情況下, 都是不可能讀取到客戶端上的文件的!

3. 如何用PHP讀取TXT文件並且修改

/**
*讀文件
**/
functionread_file($filename)
{
$fp=fopen($filename,"r")ordie("couldn'topen$filename");
$read=fread($fp,filesize($filename));
fclose($fp);
return$read;
}
/**
*寫文件
**/
functionwrite_file($filename,$buffer)
{
$fp=fopen($filename,"w")ordie("couldn'topen$filename");
flock($fp,LOCK_EX);
$write=fputs($fp,$buffer);
flock($fp,LOCK_UN);
fclose($fp);
returntrue;
}
/**
*修改(只是追加內容)
**/
functionappend_to_file($filename,$buffer)
{
$fp=fopen($filename,"a")ordie("couldn'topen$filename");
flock($fp,LOCK_EX);
fputs($fp,$buffer);
flock($fp,LOCK_UN);
fclose($fp);
returntrue;
}
/**
*測試
**/
$str=read_file('test.txt');
echo$str;
write_file('test2.txt',$str);
append_to_file('test2.txt',"ABCD");

4. 怎樣將txt文件當做小型資料庫,並用php讀取txt文件,分別讀取出來

$file='id.txt';
$content=file_get_contents($file);
$array=explode(" ",$content);
//各個系統下的換行符可能會有所不同,不過用得比較多的好像是" "
for($i=0;$i<count($array);$i++){
//讀取一行的信息,如:"29384733----2013-12-2919:57:20"
$temp=$array[$i];
$items=split("----",$temp);
//假設如題設中的以"----"為不同欄位之間的分隔符,如果是其他的,相應修改即可,視具體分隔符而定
echo"id:".$record[0]."timestamp:".$record[1]."<br>";
}

附個運行圖:(左上方為代碼,右上方為用得輸入數據,下方為輸出結果),如果要添加多個欄位的話,同理可以實現的,只要保證所使用的分隔符不會出現在所需要輸出的數據中就行。

5. PHP+TXT讀取文本內容並輸出

//在命令行cmd中運行,能看到3秒的效果

$content=file_get_contents('a.txt');
$arr=explode(" ",$content);
$count=ceil(count($arr)/20);
for($i=0;$i<$count;$i++){
$k=$i*20+20;
for($j=$i*20;$j<$k;$j++){
if(!empty($arr[$j])){
echo$arr[$j].PHP_EOL;
}

}
sleep(3);
echoPHP_EOL;
}

//有看不懂的步驟,可以追問

6. php讀取txt內容

<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 "";}
}
//關閉文件
fclose($file);
?>

7. 用php讀取txt內容

$file
=
"t.txt";//要讀的文本
$fp
=
@fopen($file,
'r');//以直讀(r)方式打開文件【注意,是r不是a,具體參考手冊fopen函數】
$content
=
@fread($fp,
filesize($file));//讀取全部(filesize($file))內容
fclose($fp);//關閉文件
$content
=
preg_replace('/[\n\r]/is',
'<br/>',
$content);//將換行符換成HTML標簽的換行
//你上例中的123456789會換成123<br/>456<br/>789
echo
$content;//輸出文件

8. php 讀取txt 顯示

推薦使用file_get_content函數讀取,再一次性echo

<?php
$file='welcome.txt';
$content='';
if(is_file($file)){
$content=file_get_content($file);//一次性取完
}


//echo$content;//這個是直接echo,一般文字會擠在一起,推薦用下面的
echo'<pre>'.htmlspecialchars($content).'</pre>';//這個是原格式

9. php讀取文本文件內容~

示例代碼1: 用file_get_contents 以get方式獲取內容
代碼如下:
<?php
$url='';
$html=file_get_contents($url);
//print_r($http_response_header);
ec($html);
printhr();
printarr($http_response_header);
printhr();
?>

示例代碼2: 用fopen打開url, 以get方式獲取內容
代碼如下:
<?
$fp=fopen($url,'r');
printarr(stream_get_meta_data($fp));
printhr();
while(!feof($fp)){
$result.=fgets($fp,1024);
}
echo"url body:$result";
printhr();
fclose($fp);
?>

示例代碼3:用file_get_contents函數,以post方式獲取url
代碼如下:
<?php
$data=array('foo'=>'bar');
$data=http_build_query($data);
$opts=array(
'http'=>array(
'method'=>'POST',
'header'=>"Content-type: application/x-www-form-urlencodedrn".
"Content-Length: ".strlen($data)."rn",
'content'=>$data
),
);
$context=stream_context_create($opts);
$html=file_get_contents('',false,$context);
echo$html;
?>

示例代碼4:用fsockopen函數打開url,以get方式獲取完整的數據,包括header和body
代碼如下:
<?
functionget_url($url,$cookie=false){
$url=parse_url($url);
$query=$url[path]."?".$url[query];
ec("Query:".$query);
$fp=fsockopen($url[host],$url[port]?$url[port]:80,$errno,$errstr,30);
if(!$fp){
returnfalse;
}else{
$request="GET$queryHTTP/1.1rn";
$request.="Host:$url[host]rn";
$request.="Connection: Closern";
if($cookie)$request.="Cookie:$cookien";
$request.="rn";
fwrite($fp,$request);
while(!@feof($fp)){
$result.=@fgets($fp,1024);
}
fclose($fp);
return$result;
}
}
//獲取url的html部分,去掉header
functionGetUrlHTML($url,$cookie=false){
$rowdata=get_url($url,$cookie);
if($rowdata)
{
$body=stristr($rowdata,"rnrn");
$body=substr($body,4,strlen($body));
return$body;
}
returnfalse;
}
?>

示例代碼5:用fsockopen函數打開url,以POST方式獲取完整的數據,包括header和body
代碼如下:
<?
functionHTTP_Post($URL,$data,$cookie,$referrer=""){
// parsing the given URL
$URL_Info=parse_url($URL);
// Building referrer
if($referrer=="")// if not given use this script. as referrer
$referrer="111";
// making string from $data
foreach($dataas$key=>$value)
$values[]="$key=".urlencode($value);
$data_string=implode("&",$values);
// Find out which port is needed - if not given use standard (=80)
if(!isset($URL_Info["port"]))
$URL_Info["port"]=80;
// building POST-request:
$request.="POST ".$URL_Info["path"]." HTTP/1.1n";
$request.="Host: ".$URL_Info["host"]."n";
$request.="Referer:$referern";
$request.="Content-type: application/x-www-form-urlencodedn";
$request.="Content-length: ".strlen($data_string)."n";
$request.="Connection: closen";
$request.="Cookie:$cookien";
$request.="n";
$request.=$data_string."n";
$fp=fsockopen($URL_Info["host"],$URL_Info["port"]);
fputs($fp,$request);
while(!feof($fp)){
$result.=fgets($fp,1024);
}
fclose($fp);
return$result;
}
printhr();
?>

示例代碼6:使用curl庫,使用curl庫之前,你可能需要查看一下php.ini,查看是否已經打開了curl擴展
代碼如下:
<?
$ch = curl_init();
$timeout = 5;
curl_setopt ($ch, CURLOPT_URL, '');
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close($ch);
echo $file_contents;
?>

關於curl庫:
curl官方網站
curl 是使用URL語法的傳送文件工具,支持FTP、FTPS、HTTP HTPPS SCP SFTP TFTP TELNET DICT FILE和LDAP。curl 支持SSL證書、HTTP POST、HTTP PUT 、FTP 上傳,kerberos、基於HTT格式的上傳、代理、cookie、用戶+口令證明、文件傳送恢復、http代理通道和大量其他有用的技巧
代碼如下:
<?
functionprintarr(array$arr)
{
echo"<br> Row field count: ".count($arr)."<br>";
foreach($arras$key=>$value)
{
echo"$key=$value <br>";
}
}
?>

10. php按條件讀取txt文件!讀取txt文本內容

$handle = @fopen("inputfile.txt", "r");
if ($handle) {
while (($buffer = fgets($handle, 4096)) !== false) {
$arr = explode(' ',trim($buffer));
if ($arr[0] == $num) {
echo $buffer;
}
}
if (!feof($handle)) {
echo "Error: unexpected fgets() fail\n";
}
fclose($handle);
}

----
只是小小改動了一下manual,並沒有test,你可以試試看

閱讀全文

與php讀取txt相關的資料

熱點內容
精品php源碼 瀏覽:960
自己編寫雲伺服器搶紅包 瀏覽:203
java解壓縮文件加密 瀏覽:887
dlink列印伺服器默認地址 瀏覽:353
php休眠函數 瀏覽:372
金蝶如何打開伺服器 瀏覽:766
e4a手游輔助源碼 瀏覽:777
什麼app可以實時直播 瀏覽:106
蘋果13的app閃退什麼原因 瀏覽:775
尾盤選股源碼公式 瀏覽:450
php日期運算 瀏覽:931
天龍八部長歌伺服器什麼時候開的 瀏覽:199
鬼泣4模型在那個文件夾 瀏覽:229
單片機的串列口 瀏覽:58
phpjson轉化為數組 瀏覽:268
pdf導入excel 瀏覽:428
蘋果xsmax信任app在哪裡設置 瀏覽:53
自動外鏈php源碼 瀏覽:245
我的世界新手獎勵箱命令 瀏覽:146
linux更新vim 瀏覽:998