【问题标题】:PHP fputcsv() in not working properlyPHP fputcsv() 无法正常工作
【发布时间】:2012-07-17 09:49:54
【问题描述】:

我想将 HTML 表单的输出放在一个 csv 文件中,该文件的标题名称为:“NAME”、“EMAIL”、“WEB”。但是下面的 PHP 代码不起作用。任何机构都可以帮忙吗?

<?php
$fp = fopen("my_file.xls", "a");

$name = $_POST['name'];
$email = $_POST['email'];
$web   = $_POST['web'];

if (!$fp) {
    print("Could not open to file");
    exit;
}

fput($fp, "NAME", "EMAIL",'WEB");
fputcsv($fp, $name, $email, $web);

print("Thanks you ");

fclose($fp);
?>

我尝试将my_file.xls 替换为my-file.csv。提交 HTML 表单后,输出为空白 CSV 文件。

预期:form 中带有标头的逗号分隔值。

请帮我定位问题。

【问题讨论】:

  • "PHP 代码不工作" -> 错误是什么?

标签: php csv xls forms http-post


【解决方案1】:

试试这个:

$fp = fopen("my_file.xls", "a");

$name = $_POST['name'];
$email = $_POST['email'];
$web   = $_POST['web'];

if (!$fp) {
    print("Could not open to file");
    exit;
}
fputs($fp, "NAME,EMAIL,WEB");        
fputcsv($fp,array($name, $email, $web));

print("Thanks you ");

fclose($fp);

fputcsv 需要一个值数组作为第二个参数,fput 应该是 fputs 并需要一个字符串作为第二个参数

【讨论】:

  • 我希望你所有的努力都能得到一个绿色的勾号。
  • @Pete 不是世界末日,如果我不这样做...我曾经很懒惰并使用框架而不是原始 PHP - 我也在这里学习...
  • @web 不 - 生成的是一个 CSV 文件 .. 因为你使用的是 fputcsv .. 如果你想要一个 XLS 文件,那是一个完全不同的任务......看看@987654323 @为此
  • 如果文件名更改为“my_file.csv”,代码仍然不起作用。在提交 HTML 表单时,会生成包含任何数据的简单 CSV 文件。
  • @web 代码不工作 ...为什么不呢?...会发生什么?你得到什么错误?请不要只是复制/粘贴并回答并运行它并期望它完全按照您的想法执行 - 花一些时间来理解答案....
猜你喜欢
  • 2015-11-15
  • 1970-01-01
  • 2019-01-13
  • 2021-08-16
  • 2012-10-28
  • 2013-10-13
  • 2012-12-06
  • 1970-01-01
  • 2016-01-19
相关资源
最近更新 更多