码迷,mamicode.com
首页 > Web开发 > 详细

php解析csv文件

时间:2018-05-11 23:25:44      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:move   let   UNC   fgets   ase   collect   上传图片   imp   服务器   

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);
}

php解析csv文件

标签:move   let   UNC   fgets   ase   collect   上传图片   imp   服务器   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!