心得分享,類似ASP的global.asa的功能
當前位置:點晴教程→知識管理交流
→『 技術文檔交流 』
常看到有人在問PHP怎樣可以有像ASP的global.asa的功能,或是怎樣設定global的變數。我也找過一陣子,不過沒啥結論,所以之前都是用include的方式,這其實也沒啥不好,只是稍微有點麻煩而已。 剛剛在網上看到php.ini里面有個變數可用來做類似的功能。把php.ini里面的auto_prepend_file改為: auto_prepend_file = "d:\prepend.php" 這樣每個php都會自動在最開頭include這個文件了。 prepend.php的內容: <? $x = "./"; $path_now = realpath($x); $inc_path = array(); do //逐層尋找global.php { if(is_file($path_now."/global.php")) { $inc_path[] = $path_now."/global.php"; } //到網站根目錄就跳出 if(strtolower($DOCUMENT_ROOT)==strtolower($path_now)) break; //跳到上一層 $path_now = realpath($x."../"); } while(1); //反向跑array并include,這樣若是在不同層都找到global.php,而且又同樣的設定, //則會取得最近那一層的設定。 //可以依需求改為以最靠近根目錄的設定優先,之類的。 for($i=sizeof($inc_path); $i>=1; $i--) { include($inc_path[$i-1]); } ?> 這樣,以后只要在目錄里面放一個global.php,把一些設定寫在里面,那這個目錄以及其子目錄的每個php都可以讀取這些設定了。這種做法我目前想到的最大缺點是,如果用的是虛擬主機,就不能這樣搞了。
另外php.ini里面還有個auto_append_file,是設定自動在結尾include某個文件。 該文章在 2012/6/7 9:04:53 編輯過 |
關鍵字查詢
相關文章
正在查詢... |