亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用PHP生成Csv——輸出不必要的引號

用PHP生成Csv——輸出不必要的引號

PHP
侃侃爾雅 2023-04-21 13:35:25
我正在通過 PHP 生成和導出 CSV,經過我的團隊的一些修改,現在結果是在列內生成了雙引號。我通過使用 CakePHP 控制臺執行此 Shell 腳本,通過我的終端生成它。/var/www/mysite.new/trunk/app/Console/cake Csv mysite.uk問題是我已經嘗試了很多技術來剝離它們,例如:stripslashes(), str_replace(), trim()在我最后的修改中,我嘗試應用 str_replace 函數。   foreach ($persons_csv as $person_csv){       /* The part where I get the data for stripping off the quotation marks */        $mail = $person_csv['Person']['email'];        $name = str_replace('"', '', $person_csv['Person']['name']);        $surname = str_replace('"', '', $person_csv['Person']['surname']);         /* REST OF THE CODE */    }然而,它只發生在姓氏和名字中有一個以上的單詞,其中正在生成引號。一個字組成的姓氏和名字,看起來還可以。不過,名稱中可能存在一些異常,其中包含空格,因此會再次生成雙引號。我不太清楚為什么會這樣。我可以附上兩個屏幕截圖,以便您更好地了解問題。如果您知道它可能是什么,那將非常感激。這是我生成 CSV 的其余代碼。   private function addRow($row) {            $rows_deleted = 0;         if (!empty($row)){            fputcsv($this->buffer, $row, $this->delimiter, $this->enclosure);         } else {                return false;         }    }   private function renderHeaders() {        header("Content-type:application/vnd.ms-excel");        header("Content-disposition:attachment;filename=" . $this->filename);    }   private function setFilename($filename) {        $this->filename = $filename;        if (strtolower(substr($this->filename,   -4)) != '.csv') {            $this->filename .= '.csv';        }    }  private function render($filename = true, $to_encoding = null, $from_encoding = "auto") {    if(PAIS) {        if ($filename) {            if (is_string($filename)) {                $this->setFilename($filename);            }            $this->renderHeaders();        }        rewind($this->buffer);        $output = stream_get_contents($this->buffer);    }}
查看完整描述

1 回答

?
汪汪一只貓

TA貢獻1898條經驗 獲得超8個贊

而不是使用fputcsv,嘗試implode

更新 1:您必須確保您的價值不包含, (comma)

更新 2:如果您擔心引用的文本會成為您的 CSV 數據表的問題,那么您需要知道 CSV 的設計目的是為了在值之間有任何空格。所以你不必擔心。任何 CSV 解析器都會正確理解引用的值。


查看完整回答
反對 回復 2023-04-21
  • 1 回答
  • 0 關注
  • 147 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號