[請益] 關於寫檔案的問題

看板PHP作者 (jijikoko)時間18年前 (2007/03/14 19:29), 編輯推噓4(408)
留言12則, 3人參與, 最新討論串1/1
想要把網頁上所有的input寫進檔案.csv 每次輸入都匯寫入檔案的最後面 每筆資料都已"\n"隔開 程式碼大致如下: if($submit) { $fptr=fopen('test.csv', 'w'); fseek($fptr, 0, SEEK_END); fputs($fptr, $name); fputs($fptr, ","); fputs($fptr, $phone); fputs($fptr, "\n"); fclose($fptr); } 可是每次按下submit的按鈕時,只會剩下最後一次輸入的資料 我已經用fseek將檔案指標放到最後了 為什麼還是重寫檔案 另外,輸出的檔案所有中文文字都變成了亂碼 要如還才能改成可以正確輸出中文字 還是有辦法可以用excel或是其他編輯器看到正確的中文字 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.22.21.98

03/14 19:35, , 1F
$fptr=fopen('test.csv', 'a(a+)');
03/14 19:35, 1F

03/14 19:36, , 2F
a或a+,a+可讀取,下一行移指標就不需要了!
03/14 19:36, 2F

03/14 19:44, , 3F
感謝樓上,第一個問題已解決,卸卸
03/14 19:44, 3F

03/14 20:01, , 4F
亂碼大概是因為衝碼字的關係吧,假設你在寫入的時候
03/14 20:01, 4F

03/14 20:03, , 5F
apache有個函數有開啟會自動幫你把衝碼加\,或者你自
03/14 20:03, 5F

03/14 20:03, , 6F
己加的,那麼,在讀出的時候,必須把\去掉再output!
03/14 20:03, 6F

03/14 20:04, , 7F
stripslashes();應該是吧,沒記錯的話@@"
03/14 20:04, 7F

03/14 20:05, , 8F
阿,沒看清楚你是輸出的檔案變成亂碼= =我覺得是衝碼
03/14 20:05, 8F

03/14 20:05, , 9F
字啦,自己加addslashes("$content");
03/14 20:05, 9F

03/14 21:47, , 10F
輸出到 CSV 最好用 iconv 或 mb_conver 轉 Big5 語系...
03/14 21:47, 10F

03/14 21:51, , 11F
Excel 打開的時候才不會出現亂碼 ...如果是 UTF-8 輸出
03/14 21:51, 11F

03/14 21:52, , 12F
Excel 匯入的時候自己指定 UTF-8 打開才不會出錯...
03/14 21:52, 12F
文章代碼(AID): #15zzoiX4 (PHP)
文章代碼(AID): #15zzoiX4 (PHP)