为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 PHP 中将 CSV 文件写入并保存到服务器?

如何在 PHP 中将 CSV 文件写入并保存到服务器?

PHP
largeQ 2022-01-14 15:28:16
我正在尝试使用 PHP 创建一个新的 CSV 文件并将其上传或移动到服务器的新部分,但它返回的电子表格是一个电子表格,第一行中只有第一个单元格的值为 404 或 1。我究竟做错了什么?我的代码附在下面。// genrate new general spreadsheet$filepath = substr($file_path, 1);$data = load_csv_file($filepath);header('Content-type: text/csv');header('Content-Disposition: attachment; filename="file-saved.csv"');$fp = fopen('php://output', 'wb');foreach ($data as $row) {$output = fputcsv($fp, $row);}$filename = "file-saved.csv";file_put_contents( $filename, $output);fclose($fp);$data 变量是来自另一个 CSV 文件的值数组。
查看完整描述

2 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

$output = [];


foreach($data as $row) {

 $output[] = .. 

}

...


查看完整回答
反对 回复 2022-01-14
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

 error_reporting(0);

  $file_n = public_path('/csv_file/product_details.csv');

  $infoPath = pathinfo($file_n);

  if($infoPath['extension'] == 'csv'){

      $file = fopen($file_n, "r");


      $i = 0;

      $all_data = array();


          while ( ($filedata = fgetcsv($file, null, "|")) !==FALSE) {

            $num = count($filedata );

            for ($c=0; $c < $num; $c++) {

              $all_data[$i][] = $filedata [$c];

            }

            $i++;

          }

          fclose($file);

          foreach($all_data as $importData){

            $insertData = array(

                   "article_number"=>$importData[0],

                   "article_name"=>$importData[1],

                   "article_description"=>$importData[2],

                   "article_price"=>$importData[3],

                   "article_manufacturer"=>$importData[6],

                   "article_productgroupkey"=>$importData[7],

                   "article_productgroup"=>$importData[8],

                   "article_ean"=>$importData[9],

                   "article_hbnr"=>$importData[10],

                   "article_shippingcosttext"=>$importData[11],

                   "article_amount"=>$importData[12],

                   "article_paymentinadvance"=>$importData[13],

                   "article_maxdeliveryamount"=>$importData[14],

                   "article_energyefficiencyclass"=>$importData[15]

            );


          insertData($insertData);

          }


  }else{

    echo "Invalid file extension.";

  }

函数插入数据($数据){


if($article_number->count() == 0){


    //write your insert query here for $data

  }elseif($article_number->count() > 0){


   //article_number already present then update the table.UPDATE QUERY


  }

}


查看完整回答
反对 回复 2022-01-14
  • 2 回答
  • 0 关注
  • 390 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信