當我附加(上傳)一個文件後,我希望看到該文件,當我檢查服務器上的請求的原始正文。我不。我使用file_get_contents('php://input')
來查看請求的原始內容。
我應該使用什麼來查看請求主體與我附加的文件內容。如何通過file_get_contents('php:// input')獲取文件信息+正文?
回答
AFAIK沒有辦法做到這一點。
The manual狀態:
PHP://輸入不可用ENCTYPE = 「多部分/格式數據」。
如果您上傳了文件,MIME類型應爲multipart/form-data
- 因此php://input
將不可用。
話雖如此,通常應該沒有理由爲什麼你需要在這種情況下得到原始身體。爲了獲取文件數據,您必須正常使用$_FILES
陣列。
如果您展開爲什麼需要這樣做,我會幫助您找到適合您需求的解決方案。
從http://www.php.net/manual/en/wrappers.php.php:
PHP://輸入不可用ENCTYPE = 「多部分/格式數據」。
...這是stricly真實的,但你可以通過之前在Web服務器你重置enctype
繞過它到達PHP。那麼$_FILES
數組將是空的。假設Apache使用mod_headers:
RequestHeader unset Content-Type
'unsetting enctype' - 我想你的意思是取消設置'Content-Type',這就是'enctype'在HTTP請求的上下文中轉換的內容...... – DaveRandom 2012-01-30 20:07:32
是的,結果相同,但技術上更正確地說明它是這樣。 – Wrikken 2012-01-30 20:10:04
- 1. 通過api獲取文件信息
- 2. PHP的file_get_contents:獲取主叫信息
- 3. 讀取文本文件,並通過行C#中獲取信息
- 4. 如何通過路徑獲取所有文件信息?
- 5. 如何通過file_get_contents獲取文件擴展名
- 6. 的file_get_contents獲取PHP文件的部分
- 7. 如何通過zip獲取openweathermap.org信息?
- 8. 如何通過udid獲取idevice信息?
- 9. 如何通過js獲取div信息?
- 10. 如何獲取有關過程db2正文的信息?
- 11. 通過file_get_contents通過#標籤獲取推文
- 12. file_get_contents(「php:// input」)爲空
- 13. 通過VSTS API獲取工件信息
- 14. 通過javascript獲取音頻文件的音量信息
- 15. 通過shell腳本從pom.xml文件獲取根詳細信息
- 16. 如何從使用PHP的torrent文件獲取哈希信息?
- 17. 如何從PHP中的信息哈希中獲取torrent文件?
- 18. PHP - 通過的file_get_contents
- 19. 如何通過uname_hack獲取uname正確的信息
- 20. 如何通過PHP獲取網站信息
- 21. 如何通過MySQL/PHP中的多行獲取信息
- 22. 如何從php文件中使用javascript獲取file_get_contents的路徑
- 23. 如何在java中獲取文件和文件夾信息?
- 24. 如何從ETL文件獲取文件轉換信息
- 25. JQuery - 拖放n拖放文件 - 如何獲取文件信息?
- 26. 從/ dev/input獲取實時信息
- 27. PHP file_get_contents('php:// input')非常慢
- 28. 通過從HTML獲取信息通過PHP顯示內容?
- 29. PHP DOM文檔獲取節點信息
- 30. 您可以從C++ Lib文件中獲取信息,例如如何從Jar文件中獲取信息?
REST請求。 – 2012-01-31 00:48:08
POST方法在技術上與REST不兼容,因爲它不[idempotent](http://en.wikipedia.org/wiki/Idempotence)。如果你想用REST上傳文件,你應該使用PUT方法。我明白這對於Web瀏覽器來說並不是一個真正的主張,但是如果你想在技術上是正確的,那麼你不應該在REST請求中使用POST來做任何事情。如果你想繼續使用POST,@ Wrikken的答案可能適合你的目的。 – DaveRandom 2012-01-31 09:17:40
我沒有使用網絡瀏覽器。 PUT將如何使它與衆不同? – 2012-01-31 14:17:13