我环顾四周,我找到了类似的例子并给了他们一个机会,但我不能让我的工作......
这是我的......它不起作用。我做错了什么:S? POST的类型是数组,所以我想我必须将它转换为字符串以使其工作.. 名称和数字如下所示: 数组([0] => john Hartz [1] => Cindy Cinamon [2] => Fruit Cake)数组([0] => 9058553699 [1] => 4167641345 [2] => 4167641543 )
<?php
error_reporting(-1);
$list = array (
$_POST['names'],
$_POST['numbers']
);
$fp = fopen('numbers.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
?>
以下作品......
$list = array (
array('aaa', 'bbb', 'ccc', 'dddd'),
array('"aaa"', '"bbb"')
);
$fp = fopen('file.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
?>
这是更新的版本,有点工作但不完全......
<?php
error_reporting(-1);
$name = implode(",", $_POST['names']);
$num= implode(",", $_POST['numbers']);
$list = array (
array($name, $num)
);
$fp = fopen('numbers.csv', 'w');
foreach ($list as $fields) {
fputcsv($fp, $fields);
}
fclose($fp);
?>
brady,问题不是格式化....你看到你在哪里“|”名字或数字之间....我猜测显示1个单元格和另一个单元格之间的边界....我得到的是一个整个数组进入一个单元格......所以像这样......
|"john Hartz" "Cindy Cinamon" "Fruit Cake"|
---------------------------------------
| 905855369941676413454167641543 |
答案 0 :(得分:1)
我将采取疯狂猜测并假设您的文件正在编写并且您指的是格式。我认为这就是你所拥有的
"john Hartz" | "Cindy Cinamon" | "Fruit Cake"
---------------------------------------
9058553699 | 4167641345 | 4167641543
你想要这个
"john Hartz" | 9058553699
----------------------------
"Cindy Cinamon" | 4167641345
----------------------------
"Fruit Cake" | 4167641543
如果这是问题所在,请尝试以下方法:
$_POST['names'] = array('john Hartz', 'Cindy Cinamon', 'Fruit Cake');
$_POST['numbers'] = array(9058553699 , 4167641345 ,4167641543);
$fp = fopen('file.csv', 'w');
$fields = array();
for ($i = 0; $i < count($_POST['names']); $i++) {
$fields = array($_POST['names'][$i], $_POST['numbers'][$i]);
fputcsv($fp, $fields);
}
fclose($fp);
修改强>
您是否尝试过删除foreach
循环和$list
数组并尝试此操作:
fputcsv($fp, $_POST['names']);
fputcsv($fp, $_POST['numbers']);
答案 1 :(得分:0)
旁注:尝试使用error_reporting(E_ALL)而不是-1。 error_reporting标志的值(etc)发生了一些变化。也许它会给你一个有用的警告