當前位置:首頁 » 編程語言 » php的cvs

php的cvs

發布時間: 2023-09-09 09:15:32

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 中cvs有什麼用

CVS 表面上講叫做版本控制系統。

在多人合作開發一個項目時,很有可能會出現這樣的情況:一個程序員將這個頁面代碼進行了後部的更改,而這個時候,另一個程序員也在對這個頁面進行著更改,但他更改的是這個頁面的前半部分。

然後第一個程序員把文件保存好,這時,第二個程序員也做好了他的工作,對這個文件進行了保存。

你會發現什麼現象?這個時候第一個程序員的工作白做了,被第二個程序員的文件給覆蓋掉了!!

如果使用了CVS就不會出現這樣的情況。

CVS會將每個程序員的文件單獨保存,當所有的程序員完成所有頁面後,它再對最終的文件進行合成保存,完美地解決了上述可怕的問題。

可以說,CVS是團隊開發中的一個協作程序,起到了一個統籌協作的中間作用。

相信這樣講你一定可以明白了。

當然,如果一個人開發的話,CVS也可以起到備份作用的。

③ php對cvs的一個操作問題

首先有一個問題,那就是根據樓主的意思,最後的結果頁應該是1,牙膏
3,滑鼠
5,硬碟
不會有4,鍵盤;
同時,根據樓主的意思(直接把f2 (5,硬碟) 加入到f1中)得出的結果就是原f2中的內容,明顯這個邏輯關系是錯誤的,但是還是根據樓主的要求寫個代碼應該包括了樓主的需求,樓主具體想要干什麼,自己改改就好了。或者直接hi我。
完整代碼如下,經過測試完全沒有問題。
<?
//將文件中的內容生成數組。
function get_name($str){
$str_arr = explode("\n",$str);
if($str_arr){
foreach($str_arr as $str_value){
$str_value_a = explode(",",$str_value);
$str_a[$str_value_a[0]] = $str_value_a[1];
}
}
return $str_a;
}
$str1 = file_get_contents("f1.cvs");
$str2 = file_get_contents("f2.cvs");
$str_a1 = get_name($str1);
$str_a2 = get_name($str2);
$str_a3 = array_diff($str_a2,$str_a1);//得出f2中有的,f1中沒有的;
//去除f1中的數據默認隱藏,需要自己打開就可以了
/*
$str_a5 = array_diff($str_a1,$str_a2);//得出f1中有的,f2中沒有的;
foreach ($str_a5 as $key1=>$value1){

unset($str_a1[$key1]);
}
print_r($str_a1);

*/
$str_a4 = array_intersect($str_a1,$str_a2);//得出f2與f1中都有的
$str_z = $str_a4 + $str_a3;//合並數組
$outstr = "";
foreach($str_z as $key=>$value_z){
$outstr .= $key.",".$value_z."\n";
}
$outstr = substr($outstr,0,-1);//去掉最後的\n
if ($fp = fopen("f3.cvs","w")) {
fputs($fp,$outstr);
fclose($fp);
}else{
echo "<br>生成失敗";
}
?>

以上代碼中f1的內容為:

1,牙膏
2,手錶
3,滑鼠
4,鍵盤

f2的內容為:
1,牙膏
3,滑鼠
5,硬碟

④ phpadmin怎麼導入cvs文件

phpmyadmin 導入 csv 的用戶界面如下圖:

以下是相關的注意事項及說明:

1、關於 CSV 和 CSV using LOAD DATA

這兩種都可以導入CSV格式的文件數據,區別在於:當文件比較大時用 CSV 可能 script 會超時,這時就得使用 LOAD DATA。

2、列名

列名就是你在導出時打鉤的「將欄位名稱放在首行」,實際就是用分隔符分開的欄位名集合,就是填寫所有欄位名,中間用分隔欄位的字元隔開。
3、Ignore plicate rows

這個選項的作用是忽略相同的行,意為相同的行只導入一行數據。4、轉義欄位的字元是指數據裡面可能含有特殊字元串,如分隔欄位的字元、包裹欄位的字元還有SQL保留字元,這些得先轉義否則會出錯,按默認的設置是沒什麼問題的。

⑤ php操作cvs文件

給你例子你:

<?php
$row=1;
$handle=fopen("test.csv","r");
while($data=fgetcsv($handle,1000,",")){
$num=count($data);
echo"<p>$numfieldsinline$row:<br> ";
$row++;
for($c=0;$c<$num;$c++){
echo$data[$c]."<br> ";
}
}
fclose($handle);
?>

test.csv是文件名,不懂可以追問。

⑥ php使用import把cvs文件導入資料庫顯示500錯誤頁面,求助!

500一般是程序內錯誤,看下php的錯誤日誌,一般500都有錯誤日誌的,看具體的報錯對應的怎麼去解決,大概的猜測應該是 目錄路徑許可權問題,不過具體還要看日誌!

熱點內容
滑板鞋腳本視頻 發布:2025-02-02 09:48:54 瀏覽:432
群暉怎麼玩安卓模擬器 發布:2025-02-02 09:45:23 瀏覽:557
三星安卓12彩蛋怎麼玩 發布:2025-02-02 09:44:39 瀏覽:743
電腦顯示連接伺服器錯誤 發布:2025-02-02 09:24:10 瀏覽:537
瑞芯微開發板編譯 發布:2025-02-02 09:22:54 瀏覽:146
linux虛擬機用gcc編譯時顯示錯誤 發布:2025-02-02 09:14:01 瀏覽:235
java駝峰 發布:2025-02-02 09:13:26 瀏覽:651
魔獸腳本怎麼用 發布:2025-02-02 09:10:28 瀏覽:538
linuxadobe 發布:2025-02-02 09:09:43 瀏覽:212
sql2000資料庫連接 發布:2025-02-02 09:09:43 瀏覽:726