0

我正在寻找一个简单的解决方案来解决希望是一个简单的问题。我想在笔记本电脑上设置一个离线 html 文件,该文件的格式非常短,可以提供 csv 文件。我一直在关注fputcsv()执行此操作的功能,但我不是最有才华的程序员。如果我有一个看起来像这样的简单表格:

<?php
    if(isset($_POST['submit']))
    {
        $myfile = fopen('file.csv', 'w');
        fputcsv($myfile,
            array($_POST['first-name'], $_POST['last-name'], $_POST['email']));
        fclose($myfile);
    }
?>

<article role="main">

    <header role="banner">

        <h1>Email Updates</h1> 

    </header> 

    <section>

    <form id="form1" name="form1" method="post" action="<?=$_SERVER['PHP_SELF'];?>">

        <input type="text" id="first-name" maxlength="100" autocorrect placeholder="First name" />
        <input type="text" id="last-name" maxlength="100" autocorrect placeholder="Last name" />
        <input type="text" id="email" maxlength="100" autocorrect placeholder="Email address" />

        <button type="submit" id="submit" class="oneup">Submit</button>

    </form>

    </section> 

</article>

我需要什么样的代码才能让它提供一个简单的 csv 文件?

4

3 回答 3

1

当(如果)表单(正确)提交时,请执行以下操作:

if( $fp = fopen('file.csv', 'w') )
{
  fputcsv($fp, $_POST);
}
fclose($fp);
于 2012-02-14T17:15:01.117 回答
0

提交此表单时,它将填充 $_POST 数组。

因此,您应该添加一些处理提交值的 PHP 代码。

例如:

<?php
    if(isset($_POST['submit']))
    {
        $myfile = fopen('file.csv', 'w');
        fputcsv($myfile,
            array($_POST['first-name'], $_POST['last-name'], $_POST['email']));
        fclose($myfile);
    }
?>
于 2012-02-14T17:20:19.453 回答
0

与 djot 的回答类似,我会使用这个:

if( $fp = fopen('file.csv', 'w') ){
    fputcsv($fp, print_r($_POST, true));
}
fclose($fp);

请注意带有 true 标志的 print_r,因为这使它更易于阅读。

如果您真的想将其编写为 CSV,只需使用:

$data = implode(',' $_POST);
if( $fp = fopen('file.csv', 'w') ){
    fputcsv($fp, $data);
}
fclose($fp);
于 2012-02-14T17:25:10.770 回答