// 数据导入 public function importData() { $file = request()->file('file'); $info = $file->validate(['ext' => 'xls,xlsx'])->move(ROOT_PATH . 'public' . DS . 'uploads'); if ($info) { $filename = $info->getSaveName(); $file_path = ROOT_PATH . 'public' . DS . 'uploads' . DS . $filename; // 处理导入逻辑 // ... return json(['code' => 200, 'msg' => '数据导入成功']); } else { return json(['code' => 400, 'msg' => $file->getError()]); } } // 数据导出 public function exportData() { // 处理导出逻辑 // ... $filename = 'data_sheet.xlsx'; $file_path = ROOT_PATH . 'public' . DS . 'exports' . DS . $filename; header("Content-Type: application/vnd.ms-excel"); header("Content-Disposition: attachment;filename=".$filename); header("Cache-Control: max-age=0"); $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output'); exit; }
ThinkPHP实现文件上传和下载功能
// 文件上传 public function uploadFile() { $file = request()->file('file'); $info = $file->validate(['ext' => 'jpg,png,gif'])->move(ROOT_PATH . 'public' . DS . 'uploads'); if ($info) { $filename = $info->getSaveName(); $file_path = ROOT_PATH . 'public' . DS . 'uploads' . DS . $filename; // 处理上传文件逻辑 // ... return json(['code' => 200, 'msg' => '文件上传成功']); } else { return json(['code' => 400, 'msg' => $file->getError()]); } } // 文件下载 public function downloadFile() { // 处理下载逻辑 // ... $file_path = ROOT_PATH . 'public' . DS . 'downloads' . DS . $filename; header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="' . basename($file_path) . '"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file_path)); readfile($file_path); exit; }
以上是关于ThinkPHP实现数据导入和导出、以及文件上传和下载功能的代码示例。这些功能在实际的软件开发中经常会用到,希望对您有所帮助。