怎么使用PHP設(shè)置文件(文件讀取篇)
發(fā)表時(shí)間:2023-08-18 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]聽說要討論,朋友邀寫一下,希望大家見諒,水平有限:)現(xiàn)在很多的朋友擁有自己免費(fèi)的空間(畢竟中國窮人還是多的),而吝嗇的ISP不給提供MYSQL,于是聰明的朋友們就選擇了----(FILE文件表數(shù)據(jù)庫...
聽說要討論,朋友邀寫一下,希望大家見諒,水平有限:)
現(xiàn)在很多的朋友擁有自己免費(fèi)的空間(畢竟中國窮人還是多的),而吝嗇的ISP不給提供MYSQL,
于是聰明的朋友們就選擇了----(FILE文件表數(shù)據(jù)庫格式),其實(shí)是我自己個(gè)人這樣定義的~
Access為文件表數(shù)據(jù)庫,如果您在您的機(jī)器上只要加上個(gè)DSN就可以透過ODBC來存取您的ACCESS
內(nèi)的數(shù)據(jù)。可是在網(wǎng)絡(luò)中ISP不可能給你配置DSN的哦~,因此我們選擇了采用文件來保存數(shù)據(jù)
FILE DATA。
兼顧內(nèi)容:
1、實(shí)現(xiàn)數(shù)據(jù)庫一些功能--(別指望象數(shù)據(jù)庫那樣哦~)
2、數(shù)據(jù)安全穩(wěn)定 -- (需要程序來支持)
3、維護(hù)的便捷 -- (TOO UP)
這些內(nèi)容要是一次寫在這里,好象不太好~
先從基礎(chǔ)的說起~
首先您需要個(gè)文本來保存,可以有以下幾種方式來建立
1、 echo "info" >> File.txt
2、 fopen("file.txt","w/w+/a/a+");
3、 UPLOAD YOUR FILE.txt
第一實(shí)現(xiàn)就是
exec()--- 用之前先看看PHPINFO()里是否禁止了此函數(shù)哦~
第二
基本都支持啊,我想沒哪個(gè)ISP把這個(gè)也給disable吧!
第三
老兄,將您本地的文件傳上去吧~
建立好文件了,以下就是對(duì)文件的操作了
對(duì)文件的操作簡單的來說就是--讀/寫
其中更新/刪除全包括在里面。
一、 這里我們先說一下文件的讀取
信息保存到了數(shù)據(jù)文件內(nèi)后需要讀出來的,不讀出來,寫的再多也是無用,讀取文件PHP提供了幾種方式
1、fopen
2、file
3、fsockopen
具體的例子就摘抄一下了
1、$fp=fopen("text.txt","method");
其中METHOD為
'r' - 以只讀方式打開文件; 讀取標(biāo)志在文件第一個(gè)字符(相當(dāng)于C中的文件指針).
'r+' - 以讀/寫方式打開文件; 讀取標(biāo)志在文件第一個(gè)字符(相當(dāng)于C中的文件指針).
'w' - 以寫的方式打開文件; 將寫標(biāo)志放在首位,同時(shí)將文件大小設(shè)置為最小-0字節(jié). 如果打開的文件不存在,則建立這個(gè)文件以提供寫.
'w+' - 以讀/寫方式打開文件; 將寫標(biāo)志放在首位,同時(shí)將文件大小設(shè)置為最小-0字節(jié). 如果打開的文件不存在,則建立這個(gè)文件以提供寫
'a' - 以只寫的方式打開文件; 將標(biāo)志放在文件的EOF,所有添加的信息將在文件的最后,如果文件不存在則建立文件。
'a+' -以讀/寫的方式打開文件;將標(biāo)志放在文件的EOF,所有添加的信息將在文件的最后,如果文件不存在則建立文件。
此函數(shù)還可以打開http://,ftp://,udp://文件
其中http://,udp://應(yīng)該以讀的方式打開,否則將出錯(cuò)
對(duì)此函數(shù)有個(gè)小小的提示:請(qǐng)勿打開http://文件自身,否則會(huì)有小小麻煩~
<?
$testfile="test.txt";
$fp=fopen($testfile,'r');
$outputtext=fgets($testfile,filesize($testfile));
echo "$testfile文本內(nèi)容:".$outputtext;
fclose($fp)
?>
2、var $fp=array();
$fp=file("text.txt");
這樣的表達(dá)的含義大家一看就名白了,file()是將文件全部讀取,然后存放到一個(gè)數(shù)組中
其中文件中每出現(xiàn)一個(gè)\n(回車換行)則數(shù)組中多一個(gè)元素
file函數(shù)只有一個(gè)參數(shù)file(filename)
<?
$testfile="test.txt";
$fp=file($testfile);
while($int_a=0;$int_a<count($fp);$int_a++){
$info.=$fp[$int_a]."<br>\n";
}
print "$testfile文本內(nèi)容:\n".$info;
?>
3、
<?php//此為FSOCKOPEN打開HTTP://文件
$fp = fsockopen ("www.php.net", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br>\n";
} else {
fputs ($fp, "GET / HTTP/1.0\r\nHost: www.php.net\r\n\r\n");
while (!feof($fp)) {
echo fgets ($fp,128);
}
fclose ($fp);
}
?>
<?php//此為FSOCKOPEN打開UDP://文件
$fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br>\n";
} else {
fwrite($fp,"\n");
echo fread($fp, 26);
fclose($fp);
}
?>
文件的讀取暫時(shí)就到這里,下面該是文件的寫入了....