【发布时间】:2016-09-13 17:00:45
【问题描述】:
我想做的是用 PHP 上传一个 CSV 文件。第一行是列名,下面是数据(当然)。每个列名称可以更改取决于最终用户上传。所以我们需要的主要列名可以改变点(A1或B1等......)所以假设我需要的列是B1,我需要获取B中的所有数据。不知道如何去。到目前为止,这就是我所拥有的。有什么想法吗?
ini_set("allow_url_fopen", 1);
$handle = fopen($_FILES['fileToUpload']['tmp_name'], 'r') or die ('cannot open the file');
while(!feof($handle)) {
$data[] = fgetcsv($handle);
}
var_dump($data);
fclose($handle);
我需要搜索以“SKU”开头的列标题,然后是“COST” 从那里找到这些后,我想要整个列...... B,E。但是这些列字母可能会改变,这取决于最终用户如何导出它。我不需要行,只需要列。
【问题讨论】:
-
“那么当我得到数组 [1] 时,我只需要得到列 [1] 的其余数据” – 所以,循环遍历数组,并且对于每个“行”访问具有该索引的元素......?不清楚您的实际问题是什么。
-
我更新了我在主要问题中寻找的内容。谢谢。
-
你可以删除你的代码的第一行——你不需要
allow_url_fopen来fopen()来自$_FILES的东西。 -
先在标题行搜索列名的索引(不知道的可以去查看手册中的数组函数)然后使用这些索引来获取数据的相应列。如果您需要来自多个列的值,那么首先将这些索引放在一个数组中可能是有意义的,然后您可以每次循环。