问题标签 [fputcsv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 想要将 CSV 文件中的数组值保存为两列。目前所有值都在一行中
我通过 PHP 将一个 CSV 文件值存储到另一个文件中。我想将$col_1_values_array
一列中的值保存到 CSV 文件和$col_2_values_array
另一列中。虽然我的代码将所有值显示在一行中,但我该如何纠正它?
这是我的代码
php - 将新数据附加到现有的 csv php
我正在使用下面的代码根据从 csv 文件的导入将数据添加到 csv 文件中。当我将新数据写入新的 csv 文件时,一切正常!但我想将新数据附加到新列中。我将尝试用一个例子来解释。
原始 csv 的第一列包含 Id。这些 id 用于从远程网站获取数据。此数据保存到名为 csv_array() 的数组中;:
下一步是将此数据插入到新的 .csv 文件中。
这一切都有效,但我想将新数据附加到原始 csv 的三个新列中。我尝试使用 $fp = fopen($filename, 'a'); 但这会将新数据附加到 csv 的末尾,而不是三个新列。谁能给个提示:)
php - PHP fputcsv - 没有创建或附加到文件
嗨 stackoverflow 社区!
我需要一些帮助来了解我在这里出错的地方。
情况:在我正在构建的网站上,我有一个部分,其中包含用户填写姓名、食物选择和过敏情况的表格。我在 IIS 7 上使用 php 5.5,并有一个表单提交给名为 form.php 的 PHP 页面。一旦他们填写表格并提交,它会将他们带到 php 页面,在该页面中表示感谢您提交,等待 5 秒并将它们返回到上一页。
我已经确认通过将发布的值和键输出到变量并在屏幕上回显以及使用var_dump($_POST);
这是我的表单代码:
这是我要输出到 CSV 的 PHP 代码:
没有文件被创建或写入,当我手动创建文件并将其放置在目录中时,它仍然不会写入它并且它确实具有对该文件的完全权限。我检查了服务器,也不是文件锁定问题。
任何帮助是极大的赞赏!让我知道是否还有什么我应该写的来帮助的。
提前致谢!
编辑答案:
伟大的!感谢 Darragh 推荐该is_writable()
功能。这帮助我了解我做了什么,没有权限以 php 用户(IIS 中的 IUSR)写入。
还要感谢 greg0ire 和 Spechal 提供有关使用错误日志设置进行调试的提示。
答案肯定是权限问题,因为我将 IUSR 作为文件夹根目录的读/写,但继承已关闭,因此子文件夹和文件无权访问。
除了权限问题之外,Spechal 提到在写入数据之前内爆数据是一个好问题(但不是我的目的,因为 fputcsv 完成了与逗号分隔相关的所有工作),特别是如果您想更改分隔符。
感谢大家快速而有帮助的回复!
php - 当结果来自 pdo 时,putcsv 格式错误
我正在尝试通过 pdo 从数据库导入数据并将结果输出到 csv 文件。我能够正确输出到屏幕,但 csv 中的格式是狂野的,双重名称,没有 '\n'
php - fputcsv 导致“标头已发送”错误
我正在为我的 magento 副本编写一个 PHP 导出脚本。出于某种原因,以下代码给了我一个“标头已发送”错误:
这里引起我问题的代码行是这样的:fputcsv($fp, $headerRow);
由于某种原因,当这行被注释掉时,脚本运行良好。但是,当此行与脚本一起运行时,它会触发标头已发送错误。我不明白为什么我能够在我的 foreach 循环内多次运行 fputcsv(fputcsv($fp, $row);
)但我根本无法在 foreach 循环之前运行它。
我有解决这个问题的方法,所以它不是超级关键,但我真的希望我能理解这里发生了什么导致这个问题。
谢谢你的时间!
php - 从 php 到 csv 的欧元符号显示
我在输出到带有欧元符号的 csv 文件时遇到问题。我尝试过使用不起作用的 € 和同样不起作用的 &euro。这仅在我的表格视图中有效,但在导出到 csv 时无效。
希望有人可以帮助我。
更新: 我忘了说显示的是这个符号而不是欧元符号:
php - fputcsv - 函数给出错误。
我正在尝试将我的数据导出到 csv 文件中并让用户下载它。我正在使用 fputcsv() 函数,但在文件中,数据写入单个单元格而不是相邻单元格。我不知道是什么问题。请帮我。这是我的代码
这就是文件的样子..
php - 使用标题行和每一列等格式化 fputcsv 当前都插入到第一列
我很难弄清楚如何正确格式化这些 fputcsv 行。
这是我用来将查询写入 csv 文件的代码。
这就是它写入 csv 文件的方式。类别名称应在类别名称列中,ID 应在 ID 中。如果您看一下,您会看到第一个类别名称与标题名称一起插入到第二列标题行中......
更新
感谢 Barmar 现在插入两列。但是第一个数据行仍然插入到我的标题行中。我可以跳过 1 行吗?它的出现是这样的……
php - SQL to PHP to CSV 最有效的方法
我只想仔细检查使用从数据库中检索的数据使用 PHP 写入 CSV 文件的最有效方法。
目前,在执行我的 sql 查询以检索数据后,我正在使用 while 循环将数据分配给变量,然后在该 while 循环中写入文件。像这样
我想知道将每次迭代的数据分配给 csv 格式的字符串变量是否会更快,然后在整个循环中将其连接起来。然后一旦循环完成,将该变量写入文件?那会更快吗?还是有另一种方法可以完全写入更有效的 csv 文件?
php - 如何在使用 fputcsv 时跳过数据库中的某些字段
我正在使用以下代码获取 mysql 数据库的 csv 文件。但我想跳过数据库中的一些字段,同时以 csv 格式获取它。
例如,数据库中的字段是 id、名字、姓氏、用户名、密码、电子邮件、会员日期、上次登录日期
通过 fputcsv 选项下载此数据库时,我不需要密码,我的 csv 文件中的最后登录日期。
如何做到这一点?
我当前的代码(从 csv 文件中的数据库中提取所有字段)如下: