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