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,你可以试试看