繁体   English   中英

php保存到csv文件

[英]php save to csv file

我想从一个表单框中存储基本数据,并且已经创建了该php代码库,但是它似乎无法正常工作。 有人可以看一眼,看看是否有什么原因令它行不通。 编辑:csv文件永远不会更新为新数据

if (isset($_POST["submit"])) 
{ 
    $name = $_POST["name"]; 
    date_default_timezone_set('America/New_York');
    $date = date('Y-m-d H:i:s');

    if (empty($name)) 
    { 
        echo "ERROR MESSAGE"; 
        die; 
    } 
    $cvsData ='"$name","$date"'.PHP_EOL; 
    $cvsData .= "\"$name\",\"$date\"".PHP_EOL; 
    $fp = fopen("emailAddressses.csv", "a");

    if ($fp) 
    { 
        fwrite($fp,$cvsData); // Write information to the file 
        fclose($fp); // Close the file 
    }
}

在php中使用更好的方法: fputcsv

否则,您需要进行大量错误处理才能实现。

$list = array (
    array('First Name', 'Last Name', 'Age'),
    array('Angelina ', 'Jolie', '37'),
    array('Tom', 'Cruise', '50')
);

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

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

fclose($fp);

您应该研究fputcsv 这会将CSV添加到您的文件中,并注意字段和行尾。

fputcsv($fp,array(array($name,$date)));

如果需要,还可以指定定界符等。

这部分的行为不会像您期望的那样,在单引号内时不会评估变量:

$cvsData ='"$name","$date"'.PHP_EOL;

您将需要使用双引号:

$cvsData ="\"$name\",\"$date\"".PHP_EOL; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM