2014-12-25 109 views
-3

我已經使用PHP創建了一個XML文件。我正在使用DOMDocument方法save()將DOM保存到文件中。我的問題是:是否可以指定我要放置文件的位置?例如,如果我有一個子目錄中的腳本,然後我可以指定我想保存在根目錄中的文件?將XML保存到特定位置

另外我拿它,我將不得不有正確的權限寫入文件夾?

也可以在文件生成後下載文件?我正在使用PHP。

+0

您已經使用[DOM文檔保存::()](http://php.net/manual/en/domdocument.save.php ),只需將路徑更改爲希望文件所在的路徑(假定用戶正在運行腳本,可能是Web服務器用戶,具有寫入權限)。只要下載文件,您只需將它發送到瀏覽器並使用正確的標題。 – prodigitalson

+0

所以我可以字面上有....保存(根/文件夾名/ thefiletosave)。基本上把文件路徑放在函數中? –

+0

@JesseOrange:試試吧,如果事情不起作用,然後問;)http://stackoverflow.com/help – hakre

回答

0

是的,只需指定路徑作爲文件名的一部分。這是DOMDocument::save() method which you find documented and with samples in the PHP manual的第一個參數。

小代碼示例,演示如何使用:

$domDoc->save($filename); 

$filename包含路徑到要保存文件。如果您在爲文件找到正確路徑時遇到問題,請參閱您正在使用的文件系統和操作系統的文檔。這可以根據系統而有所不同,但是大多數情況下,無論操作系統差異如何,路徑名都遵循用目錄分隔符表示的層次結構的通用原則。

對於任何與文件類型I/O相關的任務,請注意:運行腳本的進程必須有權在路徑中創建文件 - 正如您可能想象的那樣。只需啓用錯誤報告和日誌記錄(取決於它是您的開發系統還是生產系統)並遵循任何消息以防止這會產生問題以瞭解原因。

也可以在文件生成後下載文件?我正在使用PHP。

是的,你可以,當你通過文件名php://output將文件保存到標準輸出時,它可以直接下載。下載通常按照原樣顯示在瀏覽器中,如果您想要更改該內容,則將標準過程(將HTTP響應標頭設置爲大小,名稱和內容類型等設置屬性)也適用。相關材料到這一點則是:

+0

是否可以指定一個URL作爲一個文件路徑的姿勢? –

+0

不。你必須編寫一個http文章發送文件到另一臺服務器。 ......除非你正在談論UNC命名的本地服務器路徑......例如\\ myserver \ c \ mystuff \ test.xml –

+0

@JesseOrange:如果您的服務器支持HTTP put,那麼您可以。請參閱http://php.net/wrappers.http; http://php.net/stream_context_set_default; http://php.net/libxml_set_streams_context - 但下一次你應該提供一個例子,這樣你就能清楚地知道你想問什麼。否則,你會得到錯誤的答案。另請參閱xy問題:http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem – hakre