问题标签 [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.

0 投票
3 回答
30169 浏览

php - 在 PHP 中上传文件时如何获取完整的文件路径?

我真的很想知道当我在 PHP 中上传文件时如何获得完整的文件路径?

这是我的问题...

我在 PHP 中导入一个 csv 文件。上传文件不是问题,但用于导入 csv 文件的函数 fgetcsv() 需要 fopen。fopen 是一个让我头疼的问题,因为它需要一个确切的文件路径,这意味着该文件应该与 php 文件位于同一目录中。如果用户从不同的目录获取文件怎么办。

这是我的代码:

index.php

csv_import.php

fopen 这里只能获取变量传递的文件名$_FILES['csv_file']['name']。我试图获取任何功能以在互联网上获取 $_FILES 的完整文件路径,但找不到任何功能。

我对网络开发非常陌生,所以请耐心等待。请尽可能简单地回答...请帮助...

0 投票
4 回答
877 浏览

php - 将csv文件数据插入数组(PHP)

我正在尝试将上传文件中的数据插入一维数组。

该文件是这样的,一行有一个学生编号,如下所示:

392232、392231等
_

这是我在网上找到的最常见的方法:

但是,按照我的理解,这将为$line每一行创建一个数组()。这不是我想要的。

除此之外,我尝试了这个以查看它是否正常工作,并且我的代码在使用 ftgetcsv() 后没有打印出数组。文件上传成功。

这是我的代码:

首先,任何人都可以清楚地看到为什么至少将它们打印为单独的数据数组(每一行)是行不通的。

其次,是否可以设置它以便创建文件中所有行的一维数组?

非常感谢,

0 投票
2 回答
2906 浏览

php - 如何使用 PHP 的 fgetcsv 从 CSV 文件中消除重复项?

我正在使用 fgetcsv 解析 CSV 文件,特别是使用 $line_of_text。我想回声所有拥有共同国家的城市,但我想消除城市重复,例如,如果巴黎发生 200 次,它只会回声一次,而法国其他不同城市的回声则不管他们的实例数量。

我的预感是我需要将城市值存储在一个数组中,然后使用 array_unique 删除重复项,但不幸的是,这超出了我目前的 php 能力。任何帮助深表感谢,我已经尽我所能尝试了一切!

0 投票
3 回答
11634 浏览

php - fgetcsv( ) 和 Unicode 的问题

我有一个代码。在本地主机上,我读取 csv 文件(带有 Unicode 字符)没有问题。但是当在主机输出上上传代码时什么都没有。为什么?什么是解决方案?

0 投票
1 回答
659 浏览

php - 如何从 php 中的 CSV 转储中提取结构化数据

我正在尝试在 PHP 中加载 CSV。

我有一个 CSV 文件,有 3 列,简单的值。

我设法能够遍历每一行并输出每个值,但我需要根据唯一值和行中的某个位置有条件地获取数据。

例如,对于 a 列中的每个唯一值,我需要根据 b 列的值生成一个数据对象数组,使用 c 列作为其中一个值的条件。

我的 CSV:

我用来询问的代码:

输出

我想要实现的伪代码

编辑解决方案:

希望这是有道理的。

谢谢

0 投票
1 回答
894 浏览

php - 我需要 PHP 帮助将 CSV 文件打开到数组中,更改数据,然后用更改后的数据覆盖原始 CSV 文件

我需要从 CSV 文件中提取数据以用于报告。但是,导出软件无法将其导出为有用的格式。使用 PHP,我想获取一个包含以下数据的 CSV 文件:

并把它变成这样:

目前,我有使用 fgetcsv() 打开 CSV 文件并删除不需要的字符的代码:

这会将 CSV 文件的行存储到逗号分隔的行中,这使得 $lines 数组看起来像:

现在我需要做的是以正确的顺序将数据存储在一个或多个数组中,以便能够将其导出回 CSV 文件。

我尝试使用:

然后使用 case 语句将正确的数据放入数组中,但它挂断了,所以我一定做错了什么。(更不用说这段代码没有优化。)

关于我可以从这里去哪里的任何想法?谢谢!

0 投票
1 回答
1028 浏览

php - updating a mysql table with a large csv file in PHP

I have a CSV file which has approximately 13000 lines to be updated into a mysql database. My PHP function stops after about 5000 lines with a timeout or memory overflow.

It loops every line with fgetcsv and checks if the line exists already, which is causing the timeout i guess (SELECT/INSERT/UPDATE queries).

I can't drop the table and re-insert everything because the table still has relations with other tables. -> Then i could write a single INSERT statement with multiple value strings in blocks of e.g. 5000 lines.

I need to find a way to read the file in chunks to prevent a timeout.

Thx in advance!

Some code:

Within another function i call readFile() and loop the lines like this:

0 投票
2 回答
1069 浏览

php - 如何使用带条件的 PHP 将 csv 文件解析为 mysql DB

您如何使用 php 将 csv 文件解析为 mysql 数据库,从我从 php 文档中读取的位中,我不确定如何或是否可以将条件添加到您正在读入数据库的行中,以便只有满足的值条件被传递到数据库中。

例如,我目前有一个看起来像这样的 csv 文件

逗号之前的代码应该只是十六进制值,我想做的是排除任何不代表十六进制代码(0-9)-(AF)的行(所以十六进制值及其代码)......关于如何完成的任何想法?

0 投票
2 回答
464 浏览

php - 读取 CSV,但创建包含行的单个数组,而不是多维数组?

我有一个 CSV 文件,使用 fgetcsv 我可以愉快地将每一行生成为一个数组。

管道表示结构和细胞分裂,下面的逗号是输入的一部分,需要保留。

鉴于图中将在数据中使用逗号,最好使用管道分隔。

0 投票
3 回答
5922 浏览

php - PHP解析.dat文件

我有一个 .dat 文件,它本质上是;分隔文件,我正在尝试将其转换为制表符分隔的 .txt。我不确定的问题是新文件的每一行将是原始文件的 3 行的组合,每个原始行都有不同数量的数据。第一列仅标识分组中的每一行。最好的方法是什么?

样本原始数据:

结束输出:

有任何想法吗?