2010-04-24 195 views
0

我在我的UNIX系統上安裝了SQLite,並計劃從PHP訪問它。但是,數據庫是在我初始化的目錄中創建的,如果腳本在不同的目錄中運行,則會在同一目錄中創建新的數據庫。如何從中央位置存儲和訪問SQLite數據庫?

是否有SQLite(或PHP包裝器)在一個位置創建數據庫的選項,並讓這些數據庫只能通過該目錄之外的名稱訪問?

理想情況下,我希望能夠在任何目錄中執行類似$db=new SQLiteDatabase("db.test");的操作,並讓它引用相同的數據庫,如果這樣做合理的話。

回答

2

爲了始終使用同一個數據庫(其中,畢竟,只有一個文件)你必須使用絕對路徑

而不是使用'db.test',這是相對到當前目錄的,你必須使用類似'/home/user/development/application/db.test'
請注意路徑開始處的/,這使其成爲絕對路徑。


當然,你來:-)

一個很好的可能性這個適應您的需求,不能把一個完全硬編碼路徑在你的代碼,將是一個使用dirname(__FILE__)的PHP文件,以獲取包含該文件的目錄的完整絕對路徑,並從那裏建立起來,以獲取數據庫的文件。

+0

太好了,謝謝。我有一個單例來處理數據庫實例,我可以堅持絕對路徑,並使用全局變量或其他來選擇數據庫。 – 2010-04-25 02:54:49

+0

不客氣:-) ;;很好:-) – 2010-04-25 10:41:11

1

您應該將絕對路徑存儲在配置文件的某處,以便在需要時提供該數據。如前所述,您可以使用dirname(__FILE__)獲取包含PHP腳本的目錄的絕對路徑,以便您可以從此處開始工作。