如果我不知道公共網頁目錄,有沒有辦法我的腳本能夠確定web目錄,使腳本會知道將文件上傳該目錄?使用ftp_ *,我如何確定公共html目錄?
回答
如果我不知道公共網頁目錄,有沒有辦法我的腳本可以確定網絡目錄,以便腳本知道將文件上傳到哪個目錄?
如果您正在討論使用FTP確定要連接到的遠程主機的Web根目錄,那麼答案是否定的,絕對不是。
您使用的登錄可以有一個根設置從什麼虛擬主機(S)在服務器上配置完全不同的FTP帳戶。他們沒有任何關係,也沒有辦法互動。
通常會有一些重疊(例如FTP目錄是像/htdocs/domain.com/
但沒有模式,你可以依靠。
你wan't知道腳本運行的機器的文檔根?在這種情況下,只需使用$ _SERVER ['DOCUMENT_ROOT']。
我不知道如何從遠程主機接收此類信息(如果可能的話)
我需要遠程主機文檔根目錄 – Rob 2010-06-17 04:40:35
你希望有一個「商業上可行」的辦法,或者你想學嗎?這個答案適用於第二種情況:)
您可以通過FTP上傳一個帶有特殊名稱的文件(例如,fjskjfakdjfklajf.txt)(您的PHP腳本也可能會這樣做,例如一些捲曲調用)。然後,您可以運行另一個PHP腳本,它將嘗試遍歷文件系統並查找該文件。您需要列出每個目錄的內容(請參閱opendir),並檢查每個條目是否是目錄或文件。如果它是一個文件,並且它是你的文件,那麼你喜歡FTP根目錄。您可能對服務器的訪問權限有限,因此搜索操作可能不會持續太久。您可以從您的腳本所在的當前目錄開始,嘗試下降到每個目錄,然後移至'..'
您當前的目錄是:$ currentDir = dirname(FILE);
我認爲你可以稍微逆轉一下問題:假定FTP目錄是可以在Web上查看的,但是您不知道Web路徑。我認爲OP意味着一個FTP目錄是Web根目錄,但他不知道哪一個。在這種情況下,您可以將測試文件上傳到dir,通過http://example.com/fjskjfakdjfklajf.txt進行測試,如果找不到,請將其移至另一個目錄並重復,直到找到。 – 2010-06-22 17:34:59
+1這是最接近的方法。我認爲不可能做得更好。 – 2010-06-24 21:20:18
難怪共享主機出現問題時,人們會以各種可以想象的方式濫用系統。 – 2010-06-25 16:02:01
Rob -
您是否只能通過FTP訪問服務器?
你已經可以訪問Web根(或方式來增加PHP腳本),但想知道他們是完全合格的路徑?
如果第二個問題的答案是肯定的,你可以做@Treur建議的事情,然後安裝一個返回DOCUMENT_ROOT值的php腳本,然後從你的FTP客戶端使用它。
我想知道你在想什麼做的,是什麼情況,會有所幫助。 :)
- 1. 如何確定文件存在於公共目錄中Laravel 5.2
- 2. 如何用mod_rewrite模擬公共目錄
- 3. 如何訪問系統公共目錄
- 4. Webpack默認/公共目錄
- 5. 如何告訴polymer-ide我的公共目錄是在哪裏?
- 6. nginx和公共子目錄
- 7. 刪除公共子目錄
- 8. 如何確定我的虛擬機的公共URL? (IIS)
- 9. Laravel應用:從外公共目錄
- 10. 如何使用公共API?
- 11. 如何指向Play中的公共圖片目錄!框架HTML電子郵件
- 12. 如何在Rails應用上的ruby中指定公共目錄的路徑?
- 13. 如何爲SAS中的所有libname引用指定一個公共根目錄?
- 14. git的基準公共目錄/回購
- 15. Webpack將不會將我的文件捆綁在正確的公共目錄中
- 16. 有綁定變量到HTML文件中軌的公共/目錄的方式
- 17. 獲取公共或基本目錄
- 18. Meteor有多個公共目錄?
- 19. 在rails公共目錄中安裝wordpress
- 20. 找不到公共/目錄(流星1.2?)
- 21. 如何使用我的公共IP地址使我的xampp服務器公開?
- 22. 笨公共目錄中的URL
- 23. 如何修改playframwork中的公共資產目錄?
- 24. Rails3從公共目錄下載excel
- 25. 覆蓋Rails 3中的公共目錄?
- 26. 如何從公共目錄重新生成md文件hexo?
- 27. 如何更改目錄公共資產是從軌道服務?
- 28. 如何從外部公共目錄中提供文件?
- 29. 如何使用Apache htaccess和PHP將請求路由到非公共目錄?
- 30. 如何使用rails3中的X-sendfile從公共目錄以外的目錄啓用下載?
編輯您剛纔的問題,而不是創造了同樣的事情,一個新的... – animuson 2010-06-16 08:30:22
@animuson:這是一個不同的問題... – Rob 2010-06-16 08:41:55
他們可以很容易地被組合。 – animuson 2010-06-16 08:48:07