【问题标题】:PHP process form, writing to CSV file from HTML form via POSTPHP 处理表单,通过 POST 从 HTML 表单写入 CSV 文件
【发布时间】:2020-11-15 15:37:40
【问题描述】:

所以我正在尝试将我的 HTML 表单中的输入写入 CSV 文件。我能够将内容写入 csv 文件,但是进程脚本将作为 foreach 循环中的数组写入 csv 文件。我希望在文件中写入一次输出。我尝试通过 'implode()' 转换为字符串,但它似乎不起作用,因为我刚刚收到来自 PHP 的错误。

这是我得到的输出(D 列没有输出,所以这不是问题):

CSV file where each line output is repeated and one further column is filled, until all items in array are reached

这是我的流程表格:

<?php 
$list = array (
$quote = $_POST['quote'],
$source = $_POST['source'],
$dob = $_POST['dob'],
$dod = $_POST['dod'],
$wplink = $_POST['wplink'],
$wpimg = $_POST['wpimg'],
$category = $_POST['category']
);

$fp = fopen('trial.csv', 'w');

foreach ($list as $fields[]){
fputcsv($fp, $fields);
}

fclose($fp);

谢谢!

【问题讨论】:

  • 你要foreach ($list as $fields){,否则是多维的。虽然$list 反正只有一项,还是都是字段数组?

标签: php csv fputcsv


【解决方案1】:
<?php 
// Input prepared for multiple lines CSV file
$list = array (
    // And other error was here, you defined VARIABLES in your array, not key => value pairs (key name identify the column)
    array(
        "quote" => $_POST['quote'],
        "source" => $_POST['source'],
        "dob" => $_POST['dob'],
        "dod" => $_POST['dod'],
        "wplink" => $_POST['wplink'],
        "wpimg" => $_POST['wpimg'],
        "category" => $_POST['category']
    ),
    array(
        "quote 2",
        "source 2",
        "dob 2",
        "dod 2",
        "wplink 2",
        "wpimg 2",
        "category 2"
    )
);

$fp = fopen('trial.csv', 'w');

// The problem is founded here, an unexpected square brackets in foreach header
foreach ($list as $fields){
fputcsv($fp, $fields);
}

fclose($fp);

?>

【讨论】:

    猜你喜欢
    • 2015-03-15
    • 2023-04-09
    • 1970-01-01
    • 2018-12-13
    • 2019-03-23
    • 2011-05-12
    • 1970-01-01
    • 2013-03-16
    • 1970-01-01
    相关资源
    最近更新 更多