我试图从.csv接收数据。这是我到目前为止的代码:
if(($handle = fopen("test.csv", "r")) !== FALSE){
while(($data = fgetcsv($handle, 1000, ",")) !== FALSE){
}
}
但是这会将我需要的所有数据放在$ data数组的第一个条目中。我需要做的是$data[1]
,然后从第二列获取所有值。我之前已经完成了,但这次我无法工作。我该怎么做?
修改
这是我的.csv文件结构
| ID | Name |
|------|----------|etc
| 1 |Product 1 |
的屏幕截图
使用echo $data[1]
时,应该返回'产品1'
答案 0 :(得分:0)
请具体到您的问题。无论如何,这些代码将帮助您解决问题。
<?php
$csv = array();
// check there are no errors
if($_FILES['csv']['error'] == 0){
$name = $_FILES['csv']['name'];
$ext = strtolower(end(explode('.', $_FILES['csv']['name'])));
$type = $_FILES['csv']['type'];
$tmpName = $_FILES['csv']['tmp_name'];
// check the file is a csv
if($ext === 'csv'){
if(($handle = fopen($tmpName, 'r')) !== FALSE) {
// necessary if a large csv file
set_time_limit(0);
$row = 0;
while(($data = fgetcsv($handle, 1000, ',')) !== FALSE) {
// number of fields in the csv
$col_count = count($data);
// get the values from the csv
$col1 = $data[0];
$col2 = $data[1];
$col3 = $data[2];
$col4 = $data[2];
// inc the row
$row++;
}
fclose($handle);
}
}
}
?>