當前位置:首頁 » 編程語言 » phpfgetcsv

phpfgetcsv

發布時間: 2022-08-08 12:42:54

A. php通過fgetcsv讀取csv並寫入mysql的問題。

php通過fgetc功能,選擇csv格式

B. PHP里fgetcsv這個函數讀出來是一個二維數組

//從手冊里摘出來的.
while ($data = fgetcsv($handle, 1000, ",")) {
$num = count($data);

//行中某個欄位是對象外的也不需要,看不懂這句.但我想既然是csv,那結構肯定是一定的.假定要判斷第三個欄位是否是對象外的.
if($data[2] == '對象外') continue;//我不知道你說的對象外怎麼判斷.你改成自己的判斷條件.如果,則跳過.
$row++;
$info_list[] = $data;

}
=============
最後的數組包含了第一行.你可以直接unset($info_list[0]);然後
$info_list = array_values($info_list);重置一下數組下標.

C. 我用php的fgetcsv將csv導入mysql,用NOW()導入時間,提示Fatal error: Call to undefined function NOW()

('". NOW()."',' NOW() 比如要放在 引號里,他是mysql的函數,你如果放在引號外面,php就認為 NOW() 是一個 php 的函數,而實際上,php 沒有這個函數,你自己又沒有定義這么一個函數,當然會提示 Call to undefined function NOW() (意思就是未定義的函數)

D. php中用fgetcsv方法讀取excel可以指定起始行嗎

讀到一個數組里,再把不想要的行去掉應該就可以了吧,第一行,用array_shift就可以了
或者在保存到數組之前就做判斷
while是用一個變數控制的,比如$row,初值是0
那if(0 == $row) continue;跳過第一行
大概思路,呵呵

----------------------------

樓主,我不太明白你什麼意思,為什麼一定要用for
$name不是你想要的結果么?

----------------------------

for($i = 0;;$i++) {
$data[$i] = fgetcsv($fp);
if(feof($fp)) break;
}
是這個意思?中間判斷某一行都為空再判斷就可以了

E. php有辦法統計csv文件行數嗎

網路錯誤的答案也照推不誤,唉!

沒找到答案,好像沒有直接的函數,只好曲線救國了。

$file = fopen('xxx.csv','r');
$row = 0;
while ($data = fgetcsv($file)) {

$row++;

}

;$row 就是總行數了

F. php手冊中fgetcsv函數中的$row有什麼意義

1.返回引用的行號
2.如果 reference 為一個單元格區域,並且函數 ROW 作為垂直數組輸入,則函數 ROW 將 reference 的行號以垂直數組的形式返回

ROW函數為返回引用單元格的行號或單元格區域。
語法:ROW(reference),舉個例子:
=row(a15),返回值為15;
=row(),返回值為公式所在單元格的行號;
還可以引用數組。

=row(a1)
返回a1的行號,=1
=row(1:1)
返回第一行的行號,=1
=row(a:a)
返回A列行號,={1,2,3,...256},用於數組公式。
與ROW()函數息息相關的是COLUMN(),其功能是返回當前單元格所在的列的序號。

G. 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 應該是壞了。

H. php fputcsv 如何設置單元格寬度

您好,這樣的:
定義和用法
fputcsv() 函數將行格式化為 CSV 並寫入一個打開的文件。
該函數返回寫入字元串的長度。若出錯,則返回 false。。
語法
fputcsv(file,fields,seperator,enclosure)

參數
描述

file 必需。規定要寫入的打開文件。
fields 必需。規定要從中獲得數據的數組。
seperator 可選。規定欄位分隔符的字元。默認是逗號 (,)。
enclosure 可選。規定欄位環繞符的字元。默認是雙引號 "。
說明
fputcsv() 將一行(用 fields 數組傳遞)格式化為 CSV 格式並寫入由 file 指定的文件。
提示和注釋
提示:參見 fgetcsv() 函數。
例子
<?php
$list = array
(
"George,John,Thomas,USA",
"James,Adrew,Martin,USA",
);

$file = fopen("contacts.csv","w");

foreach ($list as $line)
{
fputcsv($file,split(',',$line));
}

fclose($file);
?>

以上代碼執行後,CSV 文件會類似這樣:
George,John,Thomas,USA
James,Adrew,Martin,USA

熱點內容
表格VB腳本 發布:2024-04-19 15:13:07 瀏覽:778
python生成器表達式 發布:2024-04-19 15:12:10 瀏覽:745
獲取文件夾文件名 發布:2024-04-19 14:45:51 瀏覽:247
嗶咔本地緩存怎麼看 發布:2024-04-19 14:36:00 瀏覽:105
linux的alarm 發布:2024-04-19 14:26:22 瀏覽:333
松江麻將源碼 發布:2024-04-19 14:06:06 瀏覽:958
明日之後怎麼實名認證安卓 發布:2024-04-19 13:35:55 瀏覽:936
數據加密解密演算法 發布:2024-04-19 13:25:52 瀏覽:945
安卓平板存儲空間不知道用在哪裡 發布:2024-04-19 12:58:57 瀏覽:765
出售lol腳本防封判幾年 發布:2024-04-19 12:45:14 瀏覽:188