私はカラムに1500以上のエントリを持つcsvファイルを持っています。これでcsvファイルのすべての値を読み取ることができます。PHPを使用してCSVファイルから複数の配列を作成する
$rowcount = 1;
$srcFileName = "input/test.csv";
$file = fopen($srcFileName,"r");
$inputfielscount = count(file($srcFileName, FILE_SKIP_EMPTY_LINES));
while($rowcount < $inputfielscount)
{
$row = fgetcsv($file);
$result=array("id" =>$row[0],"des"=>"I am jhon",salery="10000");
$Final=array("listingsEmp"=>$result);
}
最初読んだ後(1-10)値iが様((配列[0] => $結果等)アレイを作成し、次に、(11-20)から同じタスクを繰り返しwanttoと別のアレイを作成しますarray [1] => $最後の$配列は、csvファイル(11-10)から読み込んだ次のidsに関する情報を含んでいます)。上記のrequirmentについて
私はこれにコードを変更:
$rowcount = 1;
$srcFileName = "input/test.csv";
$file = fopen($srcFileName,"r");
while($rowcount < 20)
{
if(($rowcount % 10 == 0) && ($rowcount != 0)) {
$rowcount++;
break;
}else{
$row = fgetcsv($file);
// some curl code for fetching data according to csv file field(Id)
$result=array("id" =>$row[0],"des"=>"I am jhon",salery="10000"); //contain 10 array
}
}
$Final=array("listingsEmp"=>$result);
今はカール使用して(0-10インデックス配列、それぞれが固有のIDと対応する値を有する)を有し、この$最終的な配列を掲示し、取得します私はcsvファイルに保存しています。
$currenttime=date("Y-m-d-H_i_s");
$opfile='output'.$currenttime.'.csv'; //path wher op csv file exist
if([email protected]($srcFileName,'/output/'.$opfile))
{
$errors= error_get_last();
echo "COPY ERROR: ".$errors['type'];
echo "<br />\n".$errors['message'];
}else { // echo "File copied from remote!";
$fp = fopen('output/output'.$currenttime.'.csv',"a");
$fr = fopen($srcFileName,"r");
$rowcounts=0;
$FinalRES=$Final->response;
while($rowcounts< $inputfielscount) {
$resultBulk=$FinalRES[$rowcounts];
$resultBulkStatus=$FinalRES->status;
$resultBulkErrors=$FinalRES->errors;
$errorMsgArray=$resultBulkErrors[0];
$BulkErrorsMessage=$errorMsgArray->message;
$rows = fgetcsv($fr);
if($resultBulkStatus=='failure'){
$list = array ($rows[0],$rows[1],$resultBulkStatus,$BulkErrorsMessage);
}else {
$list = array ($rows[0],$rows[1],$resultBulkStatus,"successfully");
}
fputcsv($fp,$list);
//$p++;
$rowcounts++;
}
}
この完全なコードは、一度実行され、10のIDの応答を与えるが、私はそうで(21-30)のために、次の10のid(11-20)と、再度このコードを繰り返したいです。そのことの表示、ダウンロード、出力ファイルのリンク、出力ファイルの後 出力csvファイルに一度すべての応答の書き込みcsvファイル(1500 +)にあるすべてのIDの完全な応答を含んでい
<?php $dnldfilw='output'.$currenttime.'.csv';?>
<a href='download.php?filename=<?php echo $dnldfilw; ?>'>Download Output file</a>
?>
同じcsvを同時に読み取るのに2つまたは3つの方法を使用しているのはなぜですか? – RichardBernards