<?<span>php </span><span>
class
</span><span> Array2csv{ </span><span>
</span> <span>
private
</span> <span>
$ext
</span> =
'csv'
<span>; </span><span>
</span> <span>
public
</span> <span>
function
</span> __construct(<span>
$filename
</span>,<span>
$ext
</span>=<span>null</span><span>){ </span><span>ob_start</span><span>(); </span><span>header</span>(
"Content-type: text/html;charset=utf-8"
<span>); </span><span>header</span>(
"Content-type: application/x-csv"
<span>); </span><span>
if
</span>(PHP_SAPI ==
'cli'
) <span>
echo
</span>
"CLI模式下不能导出csv文件\r"
<span>; </span><span>
$this
</span>->ext = <span>
$ext
</span> === <span>null</span> ? <span>
$this
</span>->ext : <span>
$ext
</span><span>; </span><span>header</span>(
"Content-Disposition: attachment;filename="
.<span>
$filename
</span>.
"."
.<span>
$this
</span>-><span>ext); </span><span>ob_flush</span><span>(); </span><span>
return
</span> <span>
$this
</span><span>;
} </span><span>
</span> <span>
public
</span> <span>
function
</span> title(<span>
$title
</span><span>){ </span><span>
$title
</span> = <span>implode</span>(
","
, <span>
$title
</span><span>); </span><span>
echo
</span> <span>
$title
</span>.
"\n"
<span>; </span><span>
return
</span> <span>
$this
</span><span>;
} </span><span>
</span> <span>
public
</span> <span>
function
</span> body(<span>
$body
</span><span>){ </span><span>
if
</span>(!<span>
is_array
</span>(<span>
$body
</span>) || <span>
empty
</span>(<span>
$body
</span><span>)) { </span><span>
return
</span> <span>false</span><span>;
} </span><span>
$body
</span> = <span>implode</span>(
","
, <span>
$body
</span><span>); </span><span>
echo
</span> <span>
$body
</span>.
"\n"
<span>; </span><span>
return
</span> <span>
$this
</span><span>;
} </span><span>
</span> <span>
public
</span> <span>
function
</span> multiBody(<span>
$bodyArr
</span><span>){ </span><span>
if
</span>(!<span>
is_array
</span>(<span>
$bodyArr
</span>) || <span>
empty
</span>(<span>
$bodyArr
</span>)) <span>
return
</span> <span>false</span><span>; </span><span>
foreach
</span> (<span>
$bodyArr
</span> <span>
as
</span> <span>
$key
</span> => <span>
$value
</span><span>) { </span><span>
if
</span>(<span>
is_array
</span>(<span>
$value
</span><span>)){ </span><span>
$value
</span> = <span>implode</span>(
","
, <span>
$value
</span><span>); </span><span>
echo
</span> <span>
$value
</span>.
"\n"
<span>;
}
} </span><span>
return
</span> <span>
$this
</span><span>;
}
} </span><span>
$test
</span> = <span>
new
</span> Array2csv(
'test'
<span>); </span><span>
$arr
</span> = <span>
array
</span><span>( </span><span>
array
</span>(
'luluyrt@163.com'
,
'奔跑的Man1'
,
'奔跑的userman'
), <span>
array
</span>(
'luluyrt@163.com'
,
'奔跑的Man2'
,
'奔跑的userman'
), <span>
array
</span>(
'luluyrt@163.com'
,
'奔跑的Man3'
,
'奔跑的userman'
), <span>
array
</span>(
'luluyrt@163.com'
,
'奔跑的Man4'
,
'奔跑的userman'
), <span>
array
</span>(
'luluyrt@163.com'
,
'奔跑的Man5'
,
'奔跑的userman'
), <span>
array
</span>(
'luluyrt@163.com'
,
'奔跑的Man6'
,
'奔跑的userman'
<span>)
); </span><span>
$test
</span>->title(<span>
array
</span>(
'测试'
,
'呵呵'
,
'哈哈'
))->body(<span>
array
</span>(
'100,sadkl'
,
'sdsas'
,
'sdvsvdd分'
))->multiBody(<span>
$arr
</span>);