programPath; if (!is_dir($path)) { return json([ 'code' => 1, 'msg' => '程序目录不存在' ]); } // 获取目录中最新的文件 $files = glob($path . '*'); if (empty($files)) { return json([ 'code' => 1, 'msg' => '暂无可用程序' ]); } // 获取最新文件 $latest = array_reduce($files, function($carry, $file) { return (!$carry || filemtime($file) > filemtime($carry)) ? $file : $carry; }); $name = basename($latest); $size = filesize($latest); $md5 = md5_file($latest); return json([ 'code' => 0, 'msg' => '获取成功', 'data' => [ 'name' => $name, 'size' => $size, 'md5' => $md5, 'url' => request()->domain() . '/' . $this->programPath . $name, 'time' => date('Y-m-d H:i:s', filemtime($latest)) ] ]); } /** * 下载程序 */ public function down() { $path = public_path() . $this->programPath; if (!is_dir($path)) { return json([ 'code' => 1, 'msg' => '程序目录不存在' ]); } // 获取目录中最新的文件 $files = glob($path . '*'); if (empty($files)) { return json([ 'code' => 1, 'msg' => '暂无可用程序' ]); } // 获取最新文件 $latest = array_reduce($files, function($carry, $file) { return (!$carry || filemtime($file) > filemtime($carry)) ? $file : $carry; }); return download($latest, basename($latest)); } }