當前位置:首頁 » 編程語言 » php如何讀取文件

php如何讀取文件

發布時間: 2025-08-23 02:15:33

php如何獲取文件內容

PHP 中的file_get_contents() 函數可以實現

file_get_contents() 函數把整個文件讀入一個字元串中。

和 file() 一樣,不同的是 file_get_contents() 把文件讀入一個字元串。

file_get_contents() 函數是用於將文件的內容讀入到一個字元串中的首選方法。如果操作系統支持,還會使用內存映射技術來增強性能。

例如:

<?php
echo file_get_contents("test.txt");
?>

Ⅱ PHP如何實現讀取指定文件內的某些內容

PHP的 fgets(從文件指針中讀指定內容)

語法:
fgets(filepointer)

filepointer,要讀取的文件指針。如果成功,從文件中讀取一行並返回字元串,如果失敗,返回 FALSE。

示例:

<?php
$fp=fopen("test.txt","r");
if($fp)
{
for($i=1;!feof($fp);$i++)
{
echo"行".$i.":".fgets($fp)."<br/>";
}
}
else
{
echo"打開文件失敗";
}
fclose($fp);
?>

假設test.txt的內容為:

hello world
hello cnblogs
hello heihaozi
hello everyone
頁面輸出的結果為:

行1 : hello world
行2 : hello cnblogs
行3 : hello heihaozi
行4 : hello everyone

Ⅲ php 怎樣讀取excel表格內容 - 技術問答

常用的用PHP讀取EXCEL的方法有以下三種,各自有各自的優缺點。個人推薦用第三種方法,因為它可以跨平台使用。

1. 以.csv格式讀取

將.xls轉換成.csv的文本格式,然後再用PHP分析這個文件,和PHP分析文本沒有什麼區別。

優點:跨平台,效率比較高、可以讀寫。

缺點:只能直接使用.csv的文件,如果經常接受.xls二進制文件的話需要手工轉換,不能自動化。一個文件只有一個SHEET。

PHP有自帶的分析.csv函數:fgetcsv

array fgetcsv ( int $handle [, int $length [, string $delimiter [, string $enclosure]]] )

handle 一個由 fopen()、popen() 或 fsockopen() 產生的有效文件指針。

length (可選)必須大於 CVS 文件內最長的一行。在 PHP 5 中該參數是可選的。如果忽略(在 PHP 5.0.4 以後的版本中設為 0)該參數的話,那麼長度就沒有限制,不過可能會影響執行效率。

delimiter (可選)設置欄位分界符(只允許一個字元),默認值為逗號。

enclosure (可選)設置欄位環繞符(只允許一個字元),默認值為雙引號。該參數是在 PHP 4.3.0 中添加的。 和 fgets() 類似,只除了 fgetcsv() 解析讀入的行並找出 CSV 格式的欄位然後返回一個包含這些欄位的數組。

fgetcsv() 出錯時返回 FALSE,包括碰到文件結束時。

注意: CSV 文件中的空行將被返回為一個包含有單個 null 欄位的數組,不會被當成錯誤。

當然也可以自己手動分析字元串。

還可以利用fputcsv函數將行格式化為 CSV 並寫入文件指針。

2. ODBC鏈接數據源

優點:支持多種格式,cvs, xls等。支持讀寫,使用標准SQL語言,和SQLSERVER、MYSQL資料庫幾乎完全一樣。

缺點:值支持windows伺服器

3. PHP自定義類

優點:跨平台。某些類支持寫操作。支持.xls二進制文件

常用的類有phpExcelReader、PHPExcel。其中後者支持讀寫,但是需要php5.2以上版本。

phpExcelReader是專門用來讀取文件的。返回一個數組,包含表格的所有內容。

該 class 使用的方法可以參考網站下載回來的壓縮檔中的 example.php。

不過我下載回來的 (版本 2009-03-30),有兩點要注意:

reader.php 中的下面這行要修改

將 require_once 『Spreadsheet/Excel/Reader/OLERead.php』;

改為 require_once 『oleread.inc』;

example.php 中

修改 $data->setOutputEncoding(』CP1251′);

為 $data->setOutputEncoding(』CP936′);

example2.php 中

修改 nl2br(htmlentities($data->sheets[$sheet]['cells'][$row][$col]));

為 $table_output[$sheet] .= nl2br(htmlspecialchars($data->sheets[$sheet]['cells'][$row][$col]));

不然中文會有問題。

繁體的話可以修改為CP950、日文是CP932,具體可參考codepage說明。

修改 $data->read(』jxlrwtest.xls』) 為自己的 excel 文件名,zip 檔中附的 jxlrwtest.xls 應該是壞了。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:585
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:881
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:574
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:761
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:677
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1005
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:249
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:108
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:799
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:705