文件上传
// 文件上传
$name = trim(input("name")); //获取文件名
$file = request()->file("file"); //获取上传的文件
if (!$file) {
$res["msg"] = "文件大小超限";
$res["code"] = 1;
return json($res);
}
$file->checkSize(20000000); //限制大小
$file->checkMime(explode("|", "xls|xlsx")); //限制后缀
$info = $file->move("./Uploads/file/"); //文件移动到指定目录下
// 上传失败报错
if (!$info) {
$res["code"] = 1;
$res["msg"] = $file->getError();
return $res;
}
if (!$name) {
$name = $info->getInfo("name"); //获取原始文件名
}
// 获取文件名称
$save = $info->getSaveName();
$save = str_replace("\\", "/", $save);
$save = ltrim($save, "/");
$save = "./Uploads/file/" . $save;
// 获取文件绝对路径
$re_path = realpath($save);
// 获取文件扩展名
$extension = strtolower(pathinfo($re_path, PATHINFO_EXTENSION));
PHPExcel
PHPExcel下载composer方式
composer require phpoffice/phpexcel
PHPExcel引入
vendor("PHPExcel.PHPExcel");
PHPExcel使用
// $extension = strtolower(pathinfo($re_path, PATHINFO_EXTENSION)); //获取扩展名
// // 根据扩展名读取excel文件
// if ($extension == "xlsx") {
// $obj_reader = \PHPExcel_IOFactory::createReader("Excel2007");
// $obj_excel = $obj_reader->load($re_path, $encode = "utf-8");
// } else if ($extension == "xls") {
// $obj_reader = \PHPExcel_IOFactory::createReader("Excel5");
// $obj_excel = $obj_reader->load($re_path, $encode = "utf-8");
// }
// 使用PHPExcel内置的方法读取excel文件
// 所有excel格式都可以使用
$obj_reader = \PHPExcel_IOFactory::createReaderForFile($re_path);
$obj_excel = $obj_reader->load($re_path, $encode = "utf-8");
// dump($obj_excel);
if (!$obj_excel) {
$res["code"] = 2;
$res["msg"] = "文件读取失败";
return $res;
}
// 获取sheet数量
$sheet_len = $obj_excel->getSheetCount();
// dump($sheet_len);
for ($i = 0; $i < $sheet_len; $i++) {
// excel表格内容转换为数组
$excel_array = $obj_excel->getSheet($i)->toArray();
// dump($excel_array);
}
// PHPExcel对象销毁
$obj_excel->disconnectWorksheets();
unset($obj_excel);
unset($obj_reader);
需要注意的地方
下载之后需要把这个文件夹重命名为PHPExcel,并移到vendor目录下