php讀取文件內容
Ⅰ php如何動態讀取一個文件內容
PHP只有反復的去讀這個文件(可以讀出來和上次內容進行比較),不能設置一個機關--讓文件內容的變化的時候自動調用PHP其讀文件。
Ⅱ PHP實現在有限內存中的大文件讀取
方法一:通過yield的生成器實現有限內存中的大文件讀取
方法二:使用SPL 庫 提供的 SplFileObject 類
Ⅲ php怎樣讀取excel表格內容
常用的用PHP讀取EXCEL的方法有以下三種,各自有各自的優缺點。個人推薦用第三種方法,因為它可以跨平台使用。x0dx0ax0dx0a1. 以.csv格式讀取x0dx0ax0dx0a將.xls轉換成.csv的文本格式,然後再用PHP分析這個文件,和PHP分析文本沒有什麼區別。x0dx0ax0dx0a優點:跨平台,效率比較高、可以讀寫。x0dx0ax0dx0a缺點:只能直接使用.csv的文件,如果經常接受.xls二進制文件的話需要手工轉換,不能自動化。一個文件只有一個SHEET。x0dx0ax0dx0aPHP有自帶的分析.csv函數:fgetcsvx0dx0ax0dx0aarray fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )x0dx0ax0dx0ahandle 一個由 fopen()、popen() 或 fsockopen() 產生的有效文件指針。x0dx0ax0dx0alength (可選)必須大於 CVS 文件內最長的一行。在 PHP 5 中該參數是可選的。如果忽略(在 PHP 5.0.4 以後的版本中設為 0)該參數的話,那麼長度就沒有限制,不過可能會影響執行效率。x0dx0ax0dx0adelimiter (可選)設置欄位分界符(只允許一個字元),默認值為逗號。x0dx0ax0dx0aenclosure (可選)設置欄位環繞符(只允許一個字元),默認值為雙引號。該參數是在 PHP 4.3.0 中添加的。 和 fgets() 類似,只除了 fgetcsv() 解析讀入的行並找出 CSV 格式的欄位然後返回一個包含這些欄位的數組。x0dx0ax0dx0afgetcsv() 出錯時返回 FALSE,包括碰到文件結束時。x0dx0ax0dx0a注意: CSV 文件中的空行將被返回為一個包含有單個 null 欄位的數組,不會被當成錯誤。x0dx0ax0dx0a當然也可以自己手動分析字元串。x0dx0ax0dx0a還可以利用fputcsv函數將行格式化為 CSV 並寫入文件指針。x0dx0ax0dx0a2. ODBC鏈接數據源x0dx0ax0dx0a優點:支持多種格式,cvs, xls等。支持讀寫,使用標准SQL語言,和SQLSERVER、MYSQL資料庫幾乎完全一樣。x0dx0ax0dx0a缺點:值支持windows伺服器x0dx0ax0dx0a3. PHP自定義類x0dx0ax0dx0a優點:跨平台。某些類支持寫操作。支持.xls二進制文件x0dx0ax0dx0a常用的類有phpExcelReader、PHPExcel。其中後者支持讀寫,但是需要php5.2以上版本。x0dx0ax0dx0aphpExcelReader是專門用來讀取文件的。返回一個數組,包含表格的所有內容。x0dx0ax0dx0a該 class 使用的方法可以參考網站下載回來的壓縮檔中的 example.php。x0dx0ax0dx0a不過我下載回來的 (版本 2009-03-30),有兩點要注意:x0dx0ax0dx0areader.php 中的下面這行要修改x0dx0ax0dx0a將 require_once 『Spreadsheet/Excel/Reader/OLERead.php』;x0dx0ax0dx0a改為 require_once 『oleread.inc』;x0dx0ax0dx0aexample.php 中x0dx0ax0dx0a修改 $data->setOutputEncoding(』CP1251′);x0dx0ax0dx0a為 $data->setOutputEncoding(』CP936′);x0dx0ax0dx0aexample2.php 中x0dx0ax0dx0a修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));x0dx0ax0dx0a為 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));x0dx0ax0dx0a不然中文會有問題。x0dx0ax0dx0a繁體的話可以修改為CP950、日文是CP932,具體可參考codepage說明。x0dx0ax0dx0a修改 $data->read(』jxlrwtest.xls』) 為自己的 excel 文件名,zip 檔中附的 jxlrwtest.xls 應該是壞了。
Ⅳ php的類怎麼讀取到配置文件裡面的配置項
1、新建一個PHP文檔,該文檔的目的是檢測PHP的環境配置,示例:<?php phpinfo()。
Ⅳ PHP如何從文本中提取指定行數內容
PHP如何從文本中提取指定行數內容?在php中,通過fopen()方法打開文件,在while中使用fgets()方法獲取每行數據,每讀到一行,就使用標識記錄一次,通過累計記錄數計算出文件的行數。下面介紹實現的過程。
方法/步驟分步閱讀
1
/7
新建一個php文件,命名為handle.php,用於講解PHP怎麼獲取文件的行數。
2
/7
新建一個文本文件,命名為test.txt,在裡面輸入四行數據,分別是aaa,bbb,ccc,ddd。
3
/7
在handle.php文件里,使用fopen方法以只讀方式打開test.txt文件,代碼如下:
4
/7
在handle.php文件里,創建一個初始變數i,用於保存文件內容的行數。
5
/7
通過while()語句,使用fgets方法從文件指針中讀取一行,每讀取一行,變數i自加一,直到到達文件末尾停止while的執行。
註:!feof($handle),函數檢測是否已到達文件末尾。
6
/7
最後,使用echo輸出文件的行數,並通過fclose關閉文件資源。代碼如下:
7
/7
在瀏覽器執行handle.php文件,查看輸出的行數,執行的結果為4行。
內容僅供參考並受版權保護
Ⅵ PHP如何讀出當前目錄下所有文件
一般來說php中讀取目錄下的文件名的方式確實不少,最簡單的是scandir,具體代碼如下:x0dx0a復制代碼 代碼如下:$dir="./caxa/";x0dx0a$file=scandir($dir);x0dx0aprint_r($file);x0dx0a稍微復雜點的,來自於php手冊:x0dx0a復制代碼 代碼如下:$dir = "/etc/php5/";x0dx0a// Open a known directory, and proceed to read its contentsx0dx0aif (is_dir($dir)) {x0dx0aif ($dh = opendir($dir)) {x0dx0awhile (($file = readdir($dh)) !== false) {x0dx0aecho "filename: $file : filetype: " . filetype($dir . $file) . "\n";x0dx0a} closedir($dh);x0dx0a}x0dx0a}x0dx0a這些都只能讀取當前指定目錄下的文件,對子目錄中的文件則無法讀取。原來自己寫過一個循環刪除所有目錄的一段代碼,需要逐個子目錄刪除所有文件,包括多層。但是只需要讀出文件名,稍微復雜點,網上找到一個能用,原始代碼有錯誤提示,改了一下引用&$data的地方,如下所示:x0dx0a復制代碼 代碼如下:function searchDir($path,&$data){x0dx0aif(is_dir($path)){x0dx0a$dp=dir($path);x0dx0awhile($file=$dp->read()){x0dx0aif($file!='.'&& $file!='..'){x0dx0asearchDir($path.'/'.$file,$data);x0dx0a}x0dx0a}x0dx0a$dp->close();x0dx0a}x0dx0aif(is_file($path)){x0dx0a$data[]=$path;x0dx0a}x0dx0a}x0dx0afunction getDir($dir){x0dx0a$data=array();x0dx0asearchDir($dir,$data);x0dx0areturn $data;x0dx0a}x0dx0aprint_r(getDir('.'));x0dx0a希望本文所述對大家的PHP程序設計有所幫助。
Ⅶ PHP讀取目錄下所有文件內容並顯示
<?php
function printFile($filepath)
{
//substr(string,start,length)函數返回字元串的一部分;start規定在字元串的何處開始 ;length規定要返回的字元串長度。默認是直到字元串的結尾。
//strripos(string,find,start)查找 "php" 在字元串中最後一次出現的位置; find為規定要查找的字元;start可選。規定開始搜索的位置
//讀取文件後綴名
//$filetype = substr ( $filename, strripos ( $filename, "." ) + 1 );
//判斷是不是以txt結尾並且是文件
#if ($filetype == "txt" && is_file ( $filepath . "/" . $filename ))
if ( is_file ( $filepath))
{
$filename=iconv("gb2312","utf-8",$filepath);
echo $filename."內容如下:"."<br/>";
$fp = fopen ( $filepath, "r" );//打開文件
#while (! feof ( $f )) //一直輸出直到文件結尾
$i = 1;
while ($i < 10)
{
$line = fgets ( $fp );
echo $line."<br/>";
$i = $i +1;
}
fclose($fp);
}
}
(此處空一行)
function readFileRecursive($filepath)
{
if (is_dir ( $filepath )) //判斷是不是目錄
{
$dirhandle = opendir ( $filepath );//打開文件夾的句柄
if ($dirhandle)
{
//判斷是不是有子文件或者文件夾
while ( ($filename = readdir ( $dirhandle ))!= false )
{
if ($filename == "." or $filename == "..")
{
//echo "目錄為「.」或「..」"."<br/>";
continue;
}
//判斷是否為目錄,如果為目錄遞歸調用函數,否則直接讀取列印文件
if(is_dir ($filepath . "/" . $filename ))
{
readFileRecursive($filepath . "/" . $filename);
}
else
{
//列印文件
printFile($filepath . "/" . $filename);
echo "<br/>";
}
}
closedir ( $dirhandle );
}
}
else
{
printFile($filepath . "/" . $filename);
return;
}
}
(此處空一行)
header("content-type:text/html;charset=utf-8");
#echo "Hello World"."<br/>";
$filepath = "C:/phpStudy/PHPTutorial/WWW/test/results"; //想要讀取的目錄
readFileRecursive($filepath )
?>
(7)php讀取文件內容擴展閱讀:
php還可以讀取文件夾下所有圖片,方法如下
hostdir=dirname(__FILE__).'/data/upload/admin/20170517/'; //要讀取的文件夾
(此處空一行)
$url = '/data/upload/admin/20170517/'; //圖片所存在的目錄
(此處空一行)
$filesnames = scandir($hostdir); //得到所有的文件
(此處空一行)
// print_r($filesnames);exit;
//獲取也就是掃描文件夾內的文件及文件夾名存入數組 $filesnames
(此處空一行)
$www = 'http://www.***.com/'; //域名
(此處空一行)
foreach ($filesnames as $name) {
$aurl= "<img width='100' height='100' src='".$www.$url.$name."' alt = '".$name."'>"; //圖片
echo $aurl . "<br/>"; //輸出他
Ⅷ 用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;//輸出文件
Ⅸ 怎樣用PHP讀取一個word文檔內容並在瀏覽器中顯示出來
目前程序編譯語言有很多種,其中php是最為常見的一種編程語言。php讀取word文檔是很多朋友都想了解的,下面就由達內的老師為大家介紹一下。
?php
/*
*
必須將
php.ini
中的
com.allow_dcom
設為
TRUE
*/
function
php_Word($wordname,$htmlname,$content)
{
//獲取鏈接地址
$url
=
$_SERVER['HTTP_HOST'];
$url
=
";
$url
=
$url.$_SERVER['PHP_SELF'];
$url
=
dirname($url)."/";
//建立一個指向新COM組件的索引
$word
=
new
COM("word.application")
or
die("Unable
to
instanciate
Word");
//顯示目前正在使用的Word的版本號
echo
"Loading
Word,
v.
{$word-
Version}";
//把它的可見性設置為0(假),如果要使它在最前端打開,使用1(真)
$word->Visible
=
1;
//---------------------------------讀取Word內容操作
START-----------------------------------------
//打開一個word文檔
$word->Documents->Open($url.$wordname);
//將filename.doc轉換為html格式,並保存為html文件
$word->Documents[1]->SaveAs(dirname(__FILE__)."/".$htmlname,8);
//獲取htm文件內容並輸出到頁面
(文本的樣式不會丟失)
$content
=
file_get_contents($url.$htmlname);
echo
$content;
//獲取word文檔內容並輸出到頁面(文本的原樣式已丟失)
$content=
$word->ActiveDocument->content->Text;
echo
$content;
//關閉與COM組件之間的連接
$word->Documents->close(true);
$word->Quit();
$word
=
null;
unset($word);
//---------------------------------新建立Word文檔操作
START--------------------------------------
//建立一個空的word文檔
$word->Documents->Add();
//寫入內容到新建word
$word->Selection->TypeText("$content");
//保存新建的word文檔
$word->Documents[1]->SaveAs(dirname(__FILE__)."/".$wordname);
//關閉與COM組件之間的連接
$word->Quit();
}
php_Word("tesw.doc","filename.html","寫入word的內容");
?>
Ⅹ PHP如何寫入,讀取與替換文件內容
$content = file_get_contents($file); //讀文件
$content = $content . '正在修改'; //修改文件
file_put_contents($file, $content); //保存文件