php读取txt文件 然后写入数据库

<?php
$file_dir="1.txt";
$fp=fopen($file_dir,"r");
$content=fread($fp,filesize($file_dir));//读文件
fclose($fp);

function replaces($str)//为各字段添加''
{
foreach($str as $k=>$v)
{
$str[$k]="'".trim($v)."'";
}
return $str;
}

function Get_item($tmp1,$tmp2,$cont,$sq)//取得sql语句;tmp1为记录分割点,tmp2为字段分割点
{
$tmp_rows=explode($tmp1,$cont);
foreach($tmp_rows as $key=>$value)
{
$tmp_rows2[$key]=replaces(explode($tmp2,trim($value)));
$sql[$key]=$sq.implode(",",$tmp_rows2[$key]).")\"";
}
return $sql;
}
$sq="\"insert into table1 (a1,a2,a3) values (";//sql的前半部分,要完善!
$sql=array();
$sql=Get_item("-"," ",$content,$sq);
//$db=mysql_connect("localhost","root","abc");//联接mysql,自己加
//mysql_select_db(....
foreach($sql as $v)
{
mysql_query($v);//执行sql;
}
//mysql_close($db);
?>

或者生成一个1.sql文件,再把它导入mysql;

㈡ 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>';//这个是原格式

㈢ PHP+TXT读取文本内容并输出

PHP+TXT读取文本内容并输出

a.txt内容如下:
123
145
单攻厕纪丿慌搽苇敞俩189
325
.
N行
求用PHP读取a.txt内容并输出回(要求每答3秒输出20行,直至读完为止)

liulongevity?5-25 16:28

//在命令行cmd中运行,能看到3秒的效果$content = file_get_contents('a.txt');$arr = explode("\n", $content);$count = cei单攻厕纪丿慌搽苇敞俩l(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); echo PHP_EOL;}//有看不懂的步骤,可以追问

㈣ PHP 如何读取本地TXT文件并写入数据库

如在客户端的话, 那需要上传!
file ('c:\123.txt');
读取的是服务器上硬盘C区中的123.txt
而不是访问者电脑的硬盘上的文件!

无论什么服务器端脚本, 在用户未上传本地文件的情况下, 都是不可能读取到客户端上的文件的!

㈤ 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内容

<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);
?>

㈦ php读取txt内容数组

想要把一批文件读入内存对服务器可能负担太重,内存占用太多,甚至会造成内存不足、操作系统自动使用硬盘来扩充虚拟内存,而对硬盘虚拟出来的内存的操作会比实际内存的操作慢1000倍以上,因为硬盘读写是机械运动的速度,内存读写是电的速度、光的速度,不如用循环内一次只读入一个文件来处理。一次只读入一个文件时你可以用“ $lines = file('被读的文件名'); ”函数把一个文件读成内存中的一个数组 $lines,其中的每一个元素对应于文件的一行。有了数组 $lines 以后你再逐行循环,用“ $elements=explode( '\t', $lines ); ”函数把 已经体现为一个字符串的 $lines 中的每一行 剖分成一个数组 $elements ,其中,'\t' 是假定你的 txt 文件行内各个数据是用 '\t' (Tab键)隔开的,如果你用其它形式的分隔符(如:空格、逗号、斜杠等)就将该分隔符 代替 '\t' 内的 \t 。
通过这两重的循环,你可以访问到你需要访问的那个数据,服务器的压力也不会太大。

㈧ 如何用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");

㈨ php 读取txt文件内容

  1. 打开文件的模式有错误,改为下列的方式


  2. <?php

  3. $filepath="num.txt";

  4. $file = fopen($filepath,"r");

  5. $idsum=fgets($file);

  6. fclose($file);

  7. $file2 = fopen($filepath,"w");

  8. $idsum1=(integer)$idsum+1;

  9. echo "idsum的值为".(integer)$idsum."; idsum1的值为".$idsum1;

  10. fwrite($file2,$idsum1);

  11. fclose($file2);

  12. ?>


㈩ 怎样将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>";
}

附个运行图:(左上方为代码,右上方为用得输入数据,下方为输出结果),如果要添加多个字段的话,同理可以实现的,只要保证所使用的分隔符不会出现在所需要输出的数据中就行。