操作txt的问题,狂送分 $file = '';$line = file($file);print_r($line); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <?$f = fopen("XXXX.txt","r");$msg = fread($f,filesize("XXXX.txt"));fclose($f);print "$msg";?> $msg = file("file.txt");asort ($msg);reset ($msg);foreach($msg as $key=>$val){ echo "$val";}给出的是按=前的字母排序。若是要用=后的数字来排序那么就要对$msg作一些处理了。 <?php$ar = parse_ini_file("txt.txt");asort($ar);print_r($ar);?>txt.txta=3b=6c=5d=9输出Array( [a] => 3 [c] => 5 [b] => 6 [d] => 9) <?class TxtFile{ var $file; //var $tmpfile1 = "tmp/tmp200301.txt"; var $tmpfile1 = "Localtmp200301.txt"; //tmpfile for local //var $tmpfile2 = "tmp/tmp200302.txt"; var $tmpfile1 = "Localtmp200302.txt"; //tmpfile for local;/*构造函数,传入file文件名字*/function TxtFile($URLFile=NULL){ $this->file = $URLFile; return $this->file; }function StringFormat($Sting){ $halfChop=chr(9); $chop=chr(32); $Sting = str_replace($halfChop,$chop,$Sting); $String=trim($Sting); $iCount = 0; for(;$iCount<=10;$iCount++) $Sting=ereg_replace(" "," ",$Sting); return $Sting;} function null_write($new) { $f=fopen($this->file,"w"); flock($f,LOCK_EX); fputs($f,$new); fclose($f); } // 添加数据记录到文件末端 function add_write($new) { $f=fopen($this->file,"a"); flock($f,LOCK_EX); fputs($f,$new); fclose($f); } // 配合readfile()的返回一起使用,把一行数据转换为一维数组 function make_array($line) { $array = explode(" ",$line); return $array; } //把为一维数组转换一行数据 function join_array($line) { $array = join(" ",$line); return $array; } // 返回数据文件的总行数 function getlines() { $f=file($this->file); return count($f); } // 返回下一行的数据记录(备用) function next_line() { $this->index=$this->index++; return $this->get(); } // 返回上一行的数据记录(备用) function prev_line() { $this->index=$this->index--; return $this->get(); } // 返回当前行的数据记录数据较小 function get() { $f=fopen($this->file,"r"); flock($f,LOCK_SH); for($i=0;$i<=$this->index;$i++) { $rec=fgets($f,1024); } $line=explode(" ",$rec); fclose($f); return $line; } // 返回当前行的数据记录数据较大 function get_big_file() { $f=fopen($this->file,"r"); flock($f,LOCK_SH); for($i=0;$i<=$this->index;$i++) { $rec=fgets($f,1024*5); } $line=explode(" ",$rec); fclose($f); return $line; } // 打开数据文件---以一维数组返回文件内容 function read_file() { if (file_exists($this->file)) { $line =file($this->file); } return $line; } // 打开数据文件---以二维数组返回文件内容 function openFile() { if (file_exists($this->file)) { $f =file($this->file); $lines = array(); foreach ($f as $rawline) { $tmpline = explode(" ",$rawline); array_push($lines, $tmpline); } } return $lines; } // 传入一个数组,合并成一行数据,重写整个文件 function overwrite($array){ $newline = implode(" ",$array); $f = fopen($this->file,"w"); flock($f,LOCK_EX); fputs($f,$newline); fclose($f); } // 添加一行数据记录到文件末端 function add_line($array,$check_n=1) { $s=implode(" ",$array); $f=fopen($this->file,"a"); flock($f,LOCK_EX); fputs($f,$s); if ($check_n==1) fputs($f,"\n"); fclose($f); } // 插入一行数据记录到文件最前面 function insert_line($array) { $newfile = implode(" ",$array); $f = fopen($this->file,"r"); flock($f,LOCK_SH); while ($line = fgets($f,1024)) { $newfile .= $line; } fclose($f); $f = fopen($this->file,"w"); flock($f,LOCK_EX); fputs($f,$newfile); fclose($f); } // 更新所有符合条件的数据记录,适用于每行字节数据较大的情况 function update($column,$query_string,$update_array) { $update_string = implode(" ",$update_array); $newfile = ""; $fc=file($this->file); $f=fopen($this->file,"r"); flock($f,LOCK_SH); for ($i=0;$i<count($fc);$i++) { $list = explode(" ",$fc[$i]); if ($list[$column] != $query_string) { $newfile = $newfile.chop($fc[$i])."\n"; } else { $newfile = $newfile.$update_string; } } fclose($f); $f=fopen($this->file,"w"); flock($f,LOCK_EX); fputs($f,$newfile); fclose($f); } // 更新所有符合条件的数据记录,适用于每行字节数据较小的情况 function update2($column,$query_string,$update_array) { $newline = implode(" ",$update_array); $newfile = ""; $f = fopen($this->file,"r"); flock($f,LOCK_SH); while ($line = fgets($f,1024)) { $tmpLine = explode(" ",$line); if ($tmpLine[$column] == $query_string) { $newfile .= $newline; } else { $newfile .= $line; } } fclose($f); $f = fopen($this->file,"w"); flock($f,LOCK_EX); fputs($f,$newfile); fclose($f); } // 删除所有符合条件的数据记录,适用于每行字节数据较大的情况 function delete($column,$query_string) { $newfile = ""; $fc=file($this->file); $f=fopen($this->file,"r"); flock($f,LOCK_SH); for ($i=0;$i<count($fc);$i++) { $list = explode(" ",$fc[$i]); if ($list[$column]!= $query_string) { $newfile = $newfile.chop($fc[$i])."\n"; } } fclose($f); $f=fopen($this->file,"w"); flock($f,LOCK_EX); fputs($f,$newfile); fclose($f); } // 删除所有符合条件的数据记录,适用于每行字节数据较小的情况 function delete2($column,$query_string){ $newfile = ""; $f = fopen($this->file,"r"); flock($f,LOCK_SH); while ($line = fgets($f,1024)) { $tmpLine = explode(" ",$line); if ($tmpLine[$column] != $query_string) { $newfile .= $line; } } fclose($f); $f = fopen($this->file,"w"); flock($f,LOCK_EX); fputs($f,$newfile); fclose($f); } //取得一个文件里某个字段的最大值 function get_max_value($column) { $tlines = file($this->file); for ($i=0;$i<=count($tlines);$i++) { $line=explode(" ",$tlines[$i]); $get_value[]=$line[$column]; } $get_max_value = max($get_value); return $get_max_value; } // 根据数据文件的某个字段是否包含$query_string进行查询,以二维数组返回所有符合条件的数据 function select($column, $query_string) { $tline = $this->openfile(); $lines = array(); foreach ($tline as $line) { if ($line[$column] == $query_string) { array_push($lines, $line); } } return $lines; } // 功能与function select()一样,速度可能略有提升 function select2($column, $query_string) { if (file_exists($this->file)) { $tline = $this->read_file(); foreach ($tline as $tmpLine) { $line = $this->make_array($tmpLine); if ($line[$column] == $query_string) { $lines[]=$tmpLine; return $lines; } } } } // 根据数据文件的某个字段是否包含$query_string进行查询,以一维数组返回第一个符合条件的数据 function select_line($column, $query_string) { $tline = $this->read_file(); foreach ($tline as $tmpLine) { $line = $this->make_array($tmpLine); if ($line[$column] == $query_string) { return $line; break; } } } // select next/prev line(next_prev ==> 1/next, 2/prev) by cx function select_next_prev_line($column, $query_string, $next_prev) { $tline = $this->read_file(); $line_key_end = count($tline) - 1; $line_key = -1; foreach ($tline as $tmpLine) { $line_key++; $line = $this->make_array($tmpLine); if ($next_prev == 1) { // next? if ($line[$column] == $query_string) { if ($line_key == 0) { return 0; } else { $line_key_up = $line_key - 1; return $up_line; } } else { $up_line = $line; } } elseif ($next_prev == 2) { // prev? if ($line[$column] == $query_string) { if ($line_key == $line_key_end) { return 0; } else { $line_key_down = $line_key + 1; break; } } } else { return 0; } } $down_line = $this->make_array($tline[$line_key_down]); return $down_line; }}$test = new TxtFile;$test->TxtFile("test.txt");//$test->DeleteRow(2);//$test->delete(1,"liuyong1");$pieces = $test->select2(2,"wanmq");echo $pieces[0];?> 怎么查一个表有多少字段 php中foreach循环问题 想用php写一个调用客户端exe的东西 如何通过脚本能限制打印网页的URL地址 php中 == 和 === 有什么区别? 自定义函数问题 接收url参数的两种方法 "select ip_addr,indate,sum(view_count) as $all from cnt_info_ciji where......" 在php中怎么注册一个组件. 从MSSSQL里读出来的DATETIME类型的字段怎么正常表示出来? 在线等待,请帮忙,preg_match的问题 哪位可提供用PHP+MYSQL作好的进销存系统??小妹紧急求助
$f = fopen("XXXX.txt","r");
$msg = fread($f,filesize("XXXX.txt"));
fclose($f);
print "$msg";
?>
asort ($msg);
reset ($msg);
foreach($msg as $key=>$val)
{
echo "$val";
}
给出的是按=前的字母排序。
若是要用=后的数字来排序那么就要对$msg作一些处理了。
$ar = parse_ini_file("txt.txt");
asort($ar);
print_r($ar);
?>txt.txt
a=3
b=6
c=5
d=9输出
Array
(
[a] => 3
[c] => 5
[b] => 6
[d] => 9
)
class TxtFile{
var $file;
//var $tmpfile1 = "tmp/tmp200301.txt";
var $tmpfile1 = "Localtmp200301.txt"; //tmpfile for local
//var $tmpfile2 = "tmp/tmp200302.txt";
var $tmpfile1 = "Localtmp200302.txt"; //tmpfile for local;
/*构造函数,传入file文件名字*/
function TxtFile($URLFile=NULL){
$this->file = $URLFile;
return $this->file;
}
function StringFormat($Sting){
$halfChop=chr(9);
$chop=chr(32);
$Sting = str_replace($halfChop,$chop,$Sting);
$String=trim($Sting);
$iCount = 0;
for(;$iCount<=10;$iCount++)
$Sting=ereg_replace(" "," ",$Sting);
return $Sting;
}
function null_write($new)
{
$f=fopen($this->file,"w");
flock($f,LOCK_EX);
fputs($f,$new);
fclose($f);
}
// 添加数据记录到文件末端
function add_write($new) {
$f=fopen($this->file,"a");
flock($f,LOCK_EX);
fputs($f,$new);
fclose($f);
}
// 配合readfile()的返回一起使用,把一行数据转换为一维数组
function make_array($line) {
$array = explode(" ",$line);
return $array;
}
//把为一维数组转换一行数据
function join_array($line) {
$array = join(" ",$line);
return $array;
}
// 返回数据文件的总行数
function getlines() {
$f=file($this->file);
return count($f);
}
// 返回下一行的数据记录(备用)
function next_line() {
$this->index=$this->index++;
return $this->get();
} // 返回上一行的数据记录(备用)
function prev_line() {
$this->index=$this->index--;
return $this->get();
}
// 返回当前行的数据记录数据较小
function get() {
$f=fopen($this->file,"r");
flock($f,LOCK_SH);
for($i=0;$i<=$this->index;$i++) {
$rec=fgets($f,1024);
}
$line=explode(" ",$rec);
fclose($f);
return $line;
}
// 返回当前行的数据记录数据较大
function get_big_file() {
$f=fopen($this->file,"r");
flock($f,LOCK_SH);
for($i=0;$i<=$this->index;$i++) {
$rec=fgets($f,1024*5);
}
$line=explode(" ",$rec);
fclose($f);
return $line;
}
// 打开数据文件---以一维数组返回文件内容
function read_file() {
if (file_exists($this->file)) {
$line =file($this->file);
}
return $line;
}
// 打开数据文件---以二维数组返回文件内容
function openFile() {
if (file_exists($this->file)) {
$f =file($this->file);
$lines = array();
foreach ($f as $rawline) {
$tmpline = explode(" ",$rawline);
array_push($lines, $tmpline);
}
}
return $lines;
}
// 传入一个数组,合并成一行数据,重写整个文件
function overwrite($array){
$newline = implode(" ",$array);
$f = fopen($this->file,"w");
flock($f,LOCK_EX);
fputs($f,$newline);
fclose($f);
}
// 添加一行数据记录到文件末端
function add_line($array,$check_n=1) {
$s=implode(" ",$array);
$f=fopen($this->file,"a");
flock($f,LOCK_EX);
fputs($f,$s);
if ($check_n==1) fputs($f,"\n");
fclose($f);
} // 插入一行数据记录到文件最前面
function insert_line($array) {
$newfile = implode(" ",$array);
$f = fopen($this->file,"r");
flock($f,LOCK_SH);
while ($line = fgets($f,1024)) {
$newfile .= $line;
}
fclose($f);
$f = fopen($this->file,"w");
flock($f,LOCK_EX);
fputs($f,$newfile);
fclose($f);
} // 更新所有符合条件的数据记录,适用于每行字节数据较大的情况
function update($column,$query_string,$update_array) {
$update_string = implode(" ",$update_array);
$newfile = "";
$fc=file($this->file);
$f=fopen($this->file,"r");
flock($f,LOCK_SH);
for ($i=0;$i<count($fc);$i++) {
$list = explode(" ",$fc[$i]);
if ($list[$column] != $query_string) {
$newfile = $newfile.chop($fc[$i])."\n";
} else {
$newfile = $newfile.$update_string;
}
}
fclose($f);
$f=fopen($this->file,"w");
flock($f,LOCK_EX);
fputs($f,$newfile);
fclose($f);
} // 更新所有符合条件的数据记录,适用于每行字节数据较小的情况
function update2($column,$query_string,$update_array) {
$newline = implode(" ",$update_array);
$newfile = "";
$f = fopen($this->file,"r");
flock($f,LOCK_SH);
while ($line = fgets($f,1024)) {
$tmpLine = explode(" ",$line);
if ($tmpLine[$column] == $query_string) {
$newfile .= $newline;
} else {
$newfile .= $line;
}
}
fclose($f);
$f = fopen($this->file,"w");
flock($f,LOCK_EX);
fputs($f,$newfile);
fclose($f);
} // 删除所有符合条件的数据记录,适用于每行字节数据较大的情况
function delete($column,$query_string) {
$newfile = "";
$fc=file($this->file);
$f=fopen($this->file,"r");
flock($f,LOCK_SH);
for ($i=0;$i<count($fc);$i++) {
$list = explode(" ",$fc[$i]);
if ($list[$column]!= $query_string) {
$newfile = $newfile.chop($fc[$i])."\n";
}
}
fclose($f);
$f=fopen($this->file,"w");
flock($f,LOCK_EX);
fputs($f,$newfile);
fclose($f);
} // 删除所有符合条件的数据记录,适用于每行字节数据较小的情况
function delete2($column,$query_string){
$newfile = "";
$f = fopen($this->file,"r");
flock($f,LOCK_SH);
while ($line = fgets($f,1024)) {
$tmpLine = explode(" ",$line);
if ($tmpLine[$column] != $query_string) {
$newfile .= $line;
}
}
fclose($f);
$f = fopen($this->file,"w");
flock($f,LOCK_EX);
fputs($f,$newfile);
fclose($f);
} //取得一个文件里某个字段的最大值
function get_max_value($column) {
$tlines = file($this->file);
for ($i=0;$i<=count($tlines);$i++) {
$line=explode(" ",$tlines[$i]);
$get_value[]=$line[$column];
}
$get_max_value = max($get_value);
return $get_max_value;
}
// 根据数据文件的某个字段是否包含$query_string进行查询,以二维数组返回所有符合条件的数据
function select($column, $query_string) {
$tline = $this->openfile();
$lines = array();
foreach ($tline as $line) {
if ($line[$column] == $query_string) {
array_push($lines, $line);
}
}
return $lines;
} // 功能与function select()一样,速度可能略有提升
function select2($column, $query_string) {
if (file_exists($this->file)) {
$tline = $this->read_file();
foreach ($tline as $tmpLine) {
$line = $this->make_array($tmpLine);
if ($line[$column] == $query_string) {
$lines[]=$tmpLine;
return $lines;
}
}
}
} // 根据数据文件的某个字段是否包含$query_string进行查询,以一维数组返回第一个符合条件的数据
function select_line($column, $query_string) {
$tline = $this->read_file();
foreach ($tline as $tmpLine) {
$line = $this->make_array($tmpLine);
if ($line[$column] == $query_string) {
return $line;
break;
}
}
}
// select next/prev line(next_prev ==> 1/next, 2/prev) by cx
function select_next_prev_line($column, $query_string, $next_prev) {
$tline = $this->read_file();
$line_key_end = count($tline) - 1;
$line_key = -1;
foreach ($tline as $tmpLine) {
$line_key++;
$line = $this->make_array($tmpLine);
if ($next_prev == 1) { // next?
if ($line[$column] == $query_string) {
if ($line_key == 0) {
return 0;
} else {
$line_key_up = $line_key - 1;
return $up_line;
}
} else {
$up_line = $line;
}
} elseif ($next_prev == 2) { // prev?
if ($line[$column] == $query_string) {
if ($line_key == $line_key_end) {
return 0;
} else {
$line_key_down = $line_key + 1;
break;
}
}
} else {
return 0;
}
}
$down_line = $this->make_array($tline[$line_key_down]);
return $down_line;
}
}
$test = new TxtFile;
$test->TxtFile("test.txt");
//$test->DeleteRow(2);
//$test->delete(1,"liuyong1");
$pieces = $test->select2(2,"wanmq");
echo $pieces[0];
?>