php可以動作伺服器根目錄以外的路徑麼
比如f盤的一個檔案夾
有辦法麼
求大俠說說深層次的原因,謝啦!
回複內容:
php可以動作伺服器根目錄以外的路徑麼
比如f盤的一個檔案夾
有辦法麼
求大俠說說深層次的原因,謝啦!
windows 平台所謂的根目錄可能是指的系統目錄,或者盤符目錄。
UNIX以及Linux/GNU系統中根目錄特指 Root directory及'/'
以上不深究,我們討論你提出的問題。
分割線
PHP是一種解釋性語言。解釋性語言程式是不需要編譯的,運行程式時才需由PHP解譯器即時編譯。這裡不要有疑問,php解譯器自然是包含在php包內(不細解釋,有時間去翻翻資料)。我們在本地解釋php語言是沒任何用途的,用php自然是要他的特長做web開發。那我們就需要一款web伺服器軟體來驅動php解譯器,好讓瀏覽器與伺服器之間形成HTTP協議通訊。
PHP支援的web伺服器軟體很多:Apache、Nginx、Microsoft Internet Information Server(IIS)、Personal web Server(PWS)、Netscape 、iPlant server、Oreilly Website Pro Server、Caudium、Xitami、OmniHTTPd 等等等。這裡我們選最熟悉的Apache來舉例。
我們可以配置php在Apache作為CGI指令碼或者是apache模組或者fastcgi模式來運行。預設的,比如在windows平台基本是作為apache模組來運行。竟然是Apache運行解譯器,那自然我們用php語言來增刪改檔案都屬於apache使用者身份去執行。
比如apache 配置使用者和使用者組都是www/www.(網路上有金步國翻譯的apache手冊,有興趣可以Google一下)。
windows平台(很多年不使用它了,如果解釋有誤請包含)
- FAT32分區模式下,windows上是無檔案許可權這個說法的。自然不管是php是放置在哪個盤。只要是系統能訪問的盤符,php都能建立檔案或者檔案夾。
- NTFS分區,已經引入檔案許可權。這裡就需要辨別apache使用者在要操作的目錄下有無許可權,如果無則不能產生動作。
UNIX、linxu/GNU
- 優秀的檔案系統許可權設計。除了基本的 讀 寫 執行 許可權還能定義隱藏屬性和檔案特殊許可權等等。以及linux的使用者管理建立使用者和使用者組。如此我們就要遵循檔案許可權以及使用者權限去應用php動作。具體的可以在google搜尋詳細瞭解。Linux 檔案許可權|linux 帳號與使用者組。
分割線
許可權部分,我就不解釋了。基本上你需求的深層次點的原理已經基本完整。
能的,需要看看php的運行所屬使用者對目標檔案夾是否有寫入權限。
chmod +w directory