小标
2018-07-04
来源 :
阅读 1370
评论 0
摘要:本文主要向大家介绍了如何使用PHP语言解析csv文件,通过具体的实例向大家展示,希望对大家学习php语言有所帮助。
本文主要向大家介绍了如何使用PHP语言解析csv文件,通过具体的实例向大家展示,希望对大家学习php语言有所帮助。
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);
}本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标编程语言PHP频道!
喜欢 | 0
不喜欢 | 0
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号