我面臨的問(wèn)題比這個(gè)復(fù)雜,數(shù)據(jù)庫(kù)
顯示是這樣的/app/admin/upload/files/20240317/65f6644586a4.txt,實(shí)際上目錄是\webman\plugin\admin\public\upload\files\20240317.txt。
public function ce(): Response
{
$rootPath = \Webman\Config::get('root_path');
// 構(gòu)造數(shù)據(jù)庫(kù)文件的絕對(duì)路徑
$files = 'app/admin/upload/files/20240317/65f6644586a4.txt';
$filePath = $rootPath . $files;
// 嘗試讀取文件內(nèi)容,忽略換行符并將空行跳過(guò)
// $lines_array = file($filePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
// $lines_array = is_file($filePath) ? file($filePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) : [];
return json(['code' => 0, 'msg' => 'ok','data' =>$filePath]);
// return json(['code' => 0, 'msg' => 'ok','data' =>$lines_array]);
}
可以正確輸出:{"code":0,"msg":"ok","data":"app\/admin\/upload\/files\/20240317\/65f6644586a4.txt"}
但是,通過(guò)file() 代碼如下:
public function ce(): Response
{
$rootPath = \Webman\Config::get('root_path');
// 構(gòu)造數(shù)據(jù)庫(kù)文件的絕對(duì)路徑
$files = 'app/admin/upload/files/20240317/65f6644586a4.txt';
$filePath = $rootPath . $files;
// 嘗試讀取文件內(nèi)容,忽略換行符并將空行跳過(guò)
$lines_array = file($filePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
// $lines_array = is_file($filePath) ? file($filePath, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES) : [];
// return json(['code' => 0, 'msg' => 'ok','data' =>$filePath]);
return json(['code' => 0, 'msg' => 'ok','data' =>$lines_array]);
}
是否 plugin/admin/public/upload/files/20240317/**** 這樣的目錄被Route禁止了。就不能讀取了