note 116077 added to function.fgetcsv
| From: | quickshiftin at gmail dot com | Date: | Thu, 06 Nov 2014 16:34:23 +0000 |
| Subject: | note 116077 added to function.fgetcsv | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-200801@lists.php.net to get a copy of this message | ||
Following up on Tim Henderson's note; I stumbled into this the hard way as well myself. Seems
fputcsv is pretty broken in that fgetcsv accepts an $escape parameter, but fputcsv does not.
You're left to roll your own (horribly slow) $escape handler in userspace code to properly
implement fputcsv...
/**
* int fputcsv ( resource $handle , array $fields [, string $delimiter = "," [, string
$enclosure = '"', [, string $escape = "\\" ]]] )
*/
function not_broken_fputcsv($handle, array $fields, $delimiter=',',
$enclosure='"', $escape='\\')
{
foreach($fields as &$sField)
if($sField == $escape)
$sField = $escape . $sField;
return fputcsv($handle, $fields, $delimiter, $enclosure, $escape);
}
----
Server IP: 72.52.91.14
Probable Submitter: 50.155.174.115
----
Manual Page -- http://php.net/manual/en/function.fgetcsv.php
Edit -- https://master.php.net/note/edit/116077
Del: integrated -- https://master.php.net/note/delete/116077/integrated
Del: useless -- https://master.php.net/note/delete/116077/useless
Del: bad code -- https://master.php.net/note/delete/116077/bad+code
Del: spam -- https://master.php.net/note/delete/116077/spam
Del: non-english -- https://master.php.net/note/delete/116077/non-english
Del: in docs -- https://master.php.net/note/delete/116077/in+docs
Del: other reasons-- https://master.php.net/note/delete/116077
Reject -- https://master.php.net/note/reject/116077
Search -- https://master.php.net/manage/user-notes.php