将 csv 文件行的每一项放入变量中
Putting each item of a csv file line into a variable
我使用以下代码打开上传的 csv 文件,然后将每一行输出到单独的一行。
if(isset($_GET['uploadfile'])) {
$file = fopen($_FILES['csvfile']['tmp_name'], 'r+');
while(! feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
}
输出如下所示:
ABC,-,-,-,-,-,-
ACR,-,-,-,-,-,-
AGL,-,1.60,-,3.25,-,6.35
AGO,-,-,-,-,-,-
AHS,-,-,4.00,-,-,-
ALC,-,1.60,-,3.00,-,6.35
ALV,-,-,4.00,-,-,-
AMG,-,-,-,-,-,-
ANF,-,-,-,-,7.95,-
ANG,-,-,-,-,-,-
ANN,-,1.60,-,3.25,-,-
ANV,0.87,1.60,-,-,-,-
APO,-,-,-,-,-,-
ARP,-,-,-,-,-,-
ARR,-,1.60,-,3.00,-,6.35
ASH,-,-,-,-,-,-
ATG,-,-,-,-,-,-
ATR,-,1.60,-,3.00,-,-
AUE,-,1.60,-,3.25,-,-
AUN,-,1.60,-,3.25,-,-
AUR,-,-,-,-,-,-
BAB,0.87,1.60,-,-,-,-
BAL,-,1.60,-,-,-,6.35
BBE,-,-,-,-,-,-
BBL,-,-,-,-,-,-
BCH,-,1.60,-,3.25,-,-
BDI,-,-,-,-,-,-
BEM,-,-,-,-,7.95,-
BEN,-,-,-,-,-,-
BGE,-,-,-,3.25,-,-
BIA,-,-,-,-,-,-
BIF,-,1.60,-,3.25,-,-
BLC,0.87,1.60,-,3.25,-,-
所以有一个产品代码,然后是 5 个 csv 单元格,每个单元格之间用逗号隔开。我想做的是在运行时为每个变量分配一个变量,所以
BLC,0.87,1.60,-,3.25,-,-
可能会变成
$productcode.$value1.$value2.$value3.$value4.$value5
对于 while 循环的每个循环。不过,我不确定到底如何将每条线分开,所以我很感激任何人对如何做到这一点的任何指示。
if(isset($_GET['uploadfile'])) {
$file = fopen($_FILES['csvfile']['tmp_name'], 'r+');
while(! feof($file))
{
$line = fgets($file);
list($productcode,$value1,$value2,$value3,$value4,$value5, $value6) = explode("," , $line);
// Store into for further proccessing, if needed, else insert into DB
//array_push($productcode_array, $productcode);
//array_push($value1_array, $value1);
// and so on for each value..
}
fclose($file);
}
if(isset($_GET['uploadfile'])) {
$file = fopen($_FILES['csvfile']['tmp_name'], 'r+');
while(! feof($file))
{
$line = fgetcsv($file);
list($productcode, $value1, $value2, $value3, $value4, $value5) = $line;
// Ready to use the variables and insert to database
}
fclose($file);
}
给你,现在你可以随意使用变量,并在列表函数完成后插入数据库,所以在我的评论中。
我使用以下代码打开上传的 csv 文件,然后将每一行输出到单独的一行。
if(isset($_GET['uploadfile'])) {
$file = fopen($_FILES['csvfile']['tmp_name'], 'r+');
while(! feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
}
输出如下所示:
ABC,-,-,-,-,-,-
ACR,-,-,-,-,-,-
AGL,-,1.60,-,3.25,-,6.35
AGO,-,-,-,-,-,-
AHS,-,-,4.00,-,-,-
ALC,-,1.60,-,3.00,-,6.35
ALV,-,-,4.00,-,-,-
AMG,-,-,-,-,-,-
ANF,-,-,-,-,7.95,-
ANG,-,-,-,-,-,-
ANN,-,1.60,-,3.25,-,-
ANV,0.87,1.60,-,-,-,-
APO,-,-,-,-,-,-
ARP,-,-,-,-,-,-
ARR,-,1.60,-,3.00,-,6.35
ASH,-,-,-,-,-,-
ATG,-,-,-,-,-,-
ATR,-,1.60,-,3.00,-,-
AUE,-,1.60,-,3.25,-,-
AUN,-,1.60,-,3.25,-,-
AUR,-,-,-,-,-,-
BAB,0.87,1.60,-,-,-,-
BAL,-,1.60,-,-,-,6.35
BBE,-,-,-,-,-,-
BBL,-,-,-,-,-,-
BCH,-,1.60,-,3.25,-,-
BDI,-,-,-,-,-,-
BEM,-,-,-,-,7.95,-
BEN,-,-,-,-,-,-
BGE,-,-,-,3.25,-,-
BIA,-,-,-,-,-,-
BIF,-,1.60,-,3.25,-,-
BLC,0.87,1.60,-,3.25,-,-
所以有一个产品代码,然后是 5 个 csv 单元格,每个单元格之间用逗号隔开。我想做的是在运行时为每个变量分配一个变量,所以
BLC,0.87,1.60,-,3.25,-,-
可能会变成
$productcode.$value1.$value2.$value3.$value4.$value5
对于 while 循环的每个循环。不过,我不确定到底如何将每条线分开,所以我很感激任何人对如何做到这一点的任何指示。
if(isset($_GET['uploadfile'])) {
$file = fopen($_FILES['csvfile']['tmp_name'], 'r+');
while(! feof($file))
{
$line = fgets($file);
list($productcode,$value1,$value2,$value3,$value4,$value5, $value6) = explode("," , $line);
// Store into for further proccessing, if needed, else insert into DB
//array_push($productcode_array, $productcode);
//array_push($value1_array, $value1);
// and so on for each value..
}
fclose($file);
}
if(isset($_GET['uploadfile'])) {
$file = fopen($_FILES['csvfile']['tmp_name'], 'r+');
while(! feof($file))
{
$line = fgetcsv($file);
list($productcode, $value1, $value2, $value3, $value4, $value5) = $line;
// Ready to use the variables and insert to database
}
fclose($file);
}
给你,现在你可以随意使用变量,并在列表函数完成后插入数据库,所以在我的评论中。