php csv解析失败,php解析csv文件

public function actionImport() {

//post请求过来的

$fileName = $_FILES[‘file‘][‘name‘];

$fileTmpName = $_FILES[‘file‘][‘tmp_name‘];

//判断是否选择了上传的文件

if (empty($fileName)) {

$data[‘message‘] = "请选择要上传的文件";

return $this->render("batch_add", $data);

}

//判断选择上传的文件是不是csv格式

if (explode(".", $fileName)[1] != "csv") {

$data[‘message‘] = "请选择csv格式的文件上传";

return $this->render("batch_add", $data);

}

//创建一个空数组,预放imageUrl

$imageCollection = [];

//打开要读的文件

$handle = fopen($fileTmpName, ‘r‘);

//解析csv文件

while (!feof($handle)) {

//fgets方法按行读

$result = fgets($handle);

//判断读到的每一行是否有值

if (!empty($result)) {

$arrResult = explode(",", $result);

$name = $arrResult[0];

$age = $arrResult[1];

$gender = $arrResult[2];

//图片的原路径

$imagePath = $arrResult[3];

//图片的名字

$image = basename($imagePath);

$data[‘message‘] = Person::savePerson($name, $age, $gender, $image);

if ($data[‘message‘] == ‘add successful‘) {

//将每个图片的uri放到数组中

array_push($imageCollection, $imagePath);

}

}

}

//关闭文件流

fclose($handle);

//关闭文件流之后才能上传图片,注意:流和流是不能嵌套使用的

if (!empty($imageCollection)) {

foreach ($imageCollection as $value) {

//将图片上传到服务器上

move_uploaded_file($imagePath, dirname(__DIR__) . ‘/web/images/‘.date("Ymd").‘/‘.$image);

}

}

return $this->render("batch_add", $data);

}

原文:https://www.cnblogs.com/lsbaiwyl/p/9026065.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值