note 77866 added to function.fputcsv
| From: | ifunk at osu1 dot php dot net | Date: | Mon, 17 Sep 2007 01:04:35 +0000 |
| Subject: | note 77866 added to function.fputcsv | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-130546@lists.php.net to get a copy of this message | ||
I converted this from the PHP source code. This replicates PHP5 functionality exactly, whereas the
other examples here do not.
<?php
if (!function_exists('fputcsv')) {
function fputcsv(&$handle, $fields = array(), $delimiter = ',', $enclosure =
'"') {
$str = '';
$escape_char = '\\';
foreach ($fields as $value) {
if (strpos($value, $delimiter) !== false ||
strpos($value, $enclosure) !== false ||
strpos($value, "\n") !== false ||
strpos($value, "\r") !== false ||
strpos($value, "\t") !== false ||
strpos($value, ' ') !== false) {
$str2 = $enclosure;
$escaped = 0;
$len = strlen($value);
for ($i=0;$i<$len;$i++) {
if ($value[$i] == $escape_char) {
$escaped = 1;
} else if (!$escaped && $value[$i] == $enclosure) {
$str2 .= $enclosure;
} else {
$escaped = 0;
}
$str2 .= $value[$i];
}
$str2 .= $enclosure;
$str .= $str2.$delimiter;
} else {
$str .= $value.$delimiter;
}
}
$str = substr($str,0,-1);
$str .= "\n";
return fwrite($handle, $str);
}
}
?>
----
Server IP: 203.202.10.60
Probable Submitter: 220.245.180.134 (proxied: 60.242.15.172)
----
Manual Page -- http://www.php.net/manual/en/function.fputcsv.php
Edit -- https://master.php.net/note/edit/77866
Del: integrated -- https://master.php.net/note/delete/77866/integrated
Del: useless -- https://master.php.net/note/delete/77866/useless
Del: bad code -- https://master.php.net/note/delete/77866/bad+code
Del: spam -- https://master.php.net/note/delete/77866/spam
Del: non-english -- https://master.php.net/note/delete/77866/non-english
Del: in docs -- https://master.php.net/note/delete/77866/in+docs
Del: other reasons-- https://master.php.net/note/delete/77866
Reject -- https://master.php.net/note/reject/77866
Search -- https://master.php.net/manage/user-notes.php