问题标签 [fgetcsv]
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:
每次我尝试运行我的脚本时,我都会收到此错误:
任何想法如何做到这一点?
php - 如何在 php 中调试 fgetcsv 函数?
我在使用fgetcsv
功能时遇到问题。问题是确切的代码在我的本地有效,但在服务器中无效。以下是代码:
调试时, $handle 的 print_r 返回某些内容(资源 #99),但 print_r $data 什么也不返回。
这对我来说有点奇怪,因为当我在本地测试时,完全相同的代码和 .csv 文件可以工作。上传 csv 函数有效,因为我可以看到文件已上传,并且 fopen 返回正确的值。
我注意到的唯一区别是,在该页面中,实时服务器使用 https,但我认为这应该不是问题,因为文件已上传,并且 fopen 成功。
有人有想法吗?
更新 [已解决] :我找到了解决方案,因为在实时服务器中,此页面使用 https,但用于提交 csv 文件的表单 url 前面没有 https。
php - 使用 fgetcsv 写入 CSV
我的 PHP 代码遇到了一些问题。基本上我有一个 CSV 中的人员列表,我正在使用 fgetcsv 将该文件读入表中。我想要做的是让他们的名字显示为一个链接,他们点击链接,它调用 fputcsv,并在他们的名字旁边放一个 1。
目前我只有显示部分工作。我不确定从哪里开始写作部分。
任何见解将不胜感激。
非常感谢!
php - 使用 fgetcsv 读取 CSV 文件时出现 UTF-8 问题
我尝试读取 CSV 并回显内容。但内容显示字符错误。
Mäx Müstermänn -> Mäx Müstermänn
CSV 文件的编码是没有 BOM 的 UTF-8(使用 Notepad++ 检查)。
这是 CSV 文件的内容:
"Mäx";"Müstermänn"
我的 PHP 脚本
我尝试按照这里setlocale(LC_ALL, 'de_DE.utf8');
的建议使用但没有成功。内容仍然显示错误。
我错过了什么?
编辑:
Anecho mb_detect_encoding($data[$c],'UTF-8');
给了我 UTF-8 UTF-8。
echo file_get_contents("specialchars.csv");
给我"Mäx";"Müstermänn"
。
和
给我
Array ( [0] => Mäx [1] => Müstermänn )
这是什么意思?
php - 如何使用 PHP 解析 CSV 文件
假设我有一个.csv
包含以下内容的文件:
如何通过 PHP 解析内容?
php - 使用php将多个嵌套数组写入文件
我想要做的是获取我的产品的 Business Catalyst 生成的 CSV。但它总是包含很多我不需要的东西。
我有一个使用 fgetcsv() 的脚本。代码是
所有这些都是显示我想要的数据。
但是,我现在要做的是写一个新的 CSV 文件。使用 fwrite() 只会导致只写入数据的第一个条目。
有任何想法吗?
php - 使用 PHP 在 csv 文件(第一行)的顶部添加一行
需要用 php 处理大型 csv 文件。使用 fgetcsv 和性能似乎相当不错。为了更好/更快的处理,我希望 csv 文件在第一行有列名,现在缺少这些列名。
现在,我想在使用 fgetcsv 处理文件之前使用 PHP 在 csv 文件中添加一个带有列名的顶行。
有没有办法用php轻松地在文件顶部添加一行?或者这是否意味着我必须采取如下方法?
- 项目清单
- 项目清单
- 创建一个临时文件
- 将列名添加到此临时文件
- 读取原始 csv 文件内容
- 将原始 csv 内容放入临时文件中
- 删除原始文件
- 重命名临时文件
非常感谢任何有关如何以最有效的方式执行此操作的反馈。谢谢你的时间 :)
php - str_getcsv() 文件返回一个长数组中的所有行,而 fgetcsv() 仅返回顶部标题行
我有一个使用 Excel 保存为 CSV 文件的文件(我尝试从 Windows 7 和 Mac OSX 中避免任何兼容性问题)。
当我这样做时:
所有的行都变成了一行,我得到了一个只有 1 级深度的数组,并且可以连续运行到数千个键。
所以我尝试了另一种方法:
这仅返回第一行(标题行)并且不会超出它。我该如何正确地做到这一点?有数百行,每行大约有十几个数组,所以我应该得到一个二维数组。
在 CSV 中,每一行都由换行符分隔,值由逗号分隔 - 没有附件。
php - PHP - fgetcsv() 重置指针
如何使用 fgetcsv() 重置文件指针?
我有下面的循环,嵌套在另一个while循环中。但是,它从断点开始读取 CSV,而不是在第一次运行后开始读取。
php - 使用 fseek 在一定行数后开始读取 CSV
我正在使用当前代码读取 csv 文件并将其添加到数组中:
但是,当使用非常大的 CSV 时,这会在服务器上超时,或者出现内存限制错误。
我想要一种分阶段进行的方法,所以在第一条说 100 行之后它将刷新页面,从第 101 行开始。
我可能会使用元刷新和 URL 参数来执行此操作。
我只需要知道如何调整上面的代码以从我告诉它的行开始。
我已经研究过 fseek() 但我不确定如何在这里实现它。
你能帮忙吗?