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>";
}

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