Rev 726 | Blame | Compare with Previous | Last modification | View Log | RSS feed
#!/bin/php<?php/*QBPWCF, Quick Build PHP website Component base on Fedora Linux.Copyright (C) 2015~2024 Min-Jhin,ChenThis file is part of QBPWCF.QBPWCF is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.QBPWCF is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with QBPWCF. If not, see <http://www.gnu.org/licenses/>.*/#使用命名空間qbpwcfnamespace qbpwcf;#以該檔案的實際位置的 lib path 為 include path 首位exec("cd ".pathinfo(__FILE__)["dirname"]."/../qbpwcf;pwd;",$output,$status);set_include_path($output[0].PATH_SEPARATOR.get_include_path());#匯入套件require_once("allInOne.php");#建議的log位置$logFile=$_SERVER["DOCUMENT_ROOT"].$_SERVER["PHP_SELF"].".log";#要使用的範例name#$nameOfSample="initial";#$nameOfSample="20240328";#$nameOfSample="20240401";$nameOfSample="20240401-1";#函式說明:#抓取命令列的參數.#回傳結果:#$result["status"],執行是否正常,"true"代表正常,"false"代表不正常.#$reuslt["error"],執行不正常結束的錯訊息陣列.#$result["function"],當前執行的函式名稱.#$result["argu"],使用的參數陣列.#$result["content"],要回傳的參數陣列.#$result["count"],參數的數量.#$result["_GET"],收到的 HTTP GET 參數陣列.#$result["_POST"],收到的 HTTP POST 參數陣列.#必填參數:#無#可省略參數:#$conf["echo"],字串,"true"代表要將抓到的參數一個個印出來,"false"代表用回傳的方式,預設為"false".#$conf["echo"]="false";#$conf["httpGetToArgu"],字串,"true"代表要將 http get 參數變成參數來取得,像是 $_GET["p1"] 會變成 $result["content"]["p1"] 回傳,預設為"false"代表不使用.$conf["httpGetToArgu"]="true";#$conf["httpPostToArgu"],字串,"true"代表要將 http post 參數變成參數來取得,像是 $_POST["p1"] 會變成 $result["content"]["p1"] 回傳,預設為"false"代表不使用.$conf["httpPostToArgu"]="true";#參考資料:#無.#備註:#無.$getArgu=cmd::getArgu($conf);unset($conf);#如果執行失敗if($getArgu["status"]==="false"){#函式說明:#撰寫log#回傳結果:#$result["status"],狀態,"true"或"false".#$result["error"],錯誤訊息陣列.#$result["function"],當前函式的名稱.#$result["argu"],使用的參數.#必填參數:#$conf["path"],字串,log檔案的路徑與名稱.$conf["path"]=$logFile;#$conf["content"],any,要寫的內容,若內容不為字串則會用var_dump的格式寫入.$conf["content"]=$getArgu;#$conf["fileArgu"],字串,php變數__FILE__的內容,亦即該檔案在檔案系統的絕對路徑$conf["fileArgu"]=__FILE__;#可省略參數:#$conf["rewrite"],預設為"false",接續寫入;反之"true"代表重新寫入.#$conf["rewrite"]="false";#參考資料:#無.#備註:#無.$record=logs::record($conf);unset($conf);#如果寫log失敗if($record["status"]==="false"){#印出結果var_dump($record);}#if end#結束執行,回傳錯誤代碼1exit(1);}#if end#如果有指定參數if($getArgu["count"]>0){#預設第2個參數為 $nameOfSample 的指定數值$nameOfSample=$getArgu["content"][0];}#if end#存放範例的資料夾$sampleFolder="config::client";#設置範例檔案名稱與路徑$fileNameOfSample=$sampleFolder."/".$nameOfSample.".php";#初始化儲存範例代碼$samples=array();#增加 config::client 的範例資訊$samples[]=array("name"=>"initial","comment"=>"initial sample.");$samples[]=array("name"=>"20240328","comment"=>"get undefined config from cache");$samples[]=array("name"=>"20240401","comment"=>"get config string from cache");$samples[]=array("name"=>"20240401-1","comment"=>"get config array from cache");#針對每個範例資訊foreach($samples as $sample){#如果找到對應的範例if($sample["name"]===$nameOfSample){#如果存放範例的資料夾不存在if(!file_exists($sampleFolder)){#提示訊息echo "存放範例的資料夾(".$sampleFolder.")不存在".PHP_EOL;#結束執行,並回傳1給shellexit(1);}#if end#如果對應的範例檔案不存在if(!file_exists($fileNameOfSample)){#提示訊息echo "範例檔案(".$fileNameOfSample.")不存在".PHP_EOL;#結束執行,並回傳1給shellexit(1);}#if end#匯入範例require_once($fileNameOfSample);#結束執行exit;}#if end}#foreach end#執行到這邊代表沒有對應的範例#提示範例不存在echo "範例(".$nameOfSample.")不存在".PHP_EOL;#結束執行,並回傳1給shellexit(1);?>