我提供一個設施,我的互聯網用戶,他們可以從一個網址上傳個人資料圖片而不是從計算機上傳取。我在這裏看到一個惡作劇的用戶可以提供一個巨大的文件的URL或可能是一個URL尾號/dev/random
,非常不可能,但可以發生。有沒有一種方法可以在將文件完全取回到我的服務器之前確定文件的大小?如何確定前的文件大小使用PHP捲曲
1
A
回答
0
檢查服務器響應中的Content-Length
標頭。
+0
如果響應中沒有這樣的標題,該怎麼辦? – zerkms 2012-02-29 09:28:48
+2
如果他們提供了「Content-Length:123」,但實際上發送了更多的內容? – rodneyrehm 2012-02-29 09:48:54
1
根據你在做什麼來抓取遠程文件,你可以做不同的事情。
- 雖然
file_get_contents('http://foobar.com')
是相當方便,它會給你最少的控制。我沒有看到你怎麼可以做頭部請求前面抓住Content-Length
頭。 fsockopen()
將與HTTPS打交道時你哭。捲曲,很好,捲曲。它和強大一樣醜陋。還有其他選項,比如HTTP Pecl(基本上是捲曲)。
- 檢查資源是否提供Content-Length標頭。爲此做一個HEAD請求。某些服務器/服務不處理HEAD請求。在獲得響應標題後,您將發出GET請求並中止傳輸。
- 如果(1)得出結果,請檢查它是否大於您的限制。如果是這樣,則中止。
- 使用curl來獲取資源。如果音量超出限制,請查看
CURLOPT_READFUNCTION
以取消下載。如果(1)得出結果,你也應該檢查這個結果,因爲這個結果可能被欺騙了。
在你取得了1頭和1個GET請求獲取內容長度,以及另一個GET請求來下載$ yourLimit字節的最糟糕的情況。
相關問題
- 1. 如何確定HTML/PHP上傳前的文件大小?
- 2. 如何使用PHP /捲曲
- 3. 如何使用PHP捲曲
- 4. 如何使用PHP捲曲
- 5. CLI捲曲PHP捲曲上傳文件
- 6. 使用捲曲下載大文件
- 7. 如何與捲曲RAW POST巨大的XML文件 - PHP
- 8. 使用PHP捲曲
- 9. 使用PHP /捲曲
- 10. 使用PHP捲曲
- 11. 使用PHP捲曲
- 12. 使用C++文件流(fstream),如何確定文件的大小?
- 13. 確定使用捲曲下載文件時的擴展名?
- 14. Json文件捲曲php javascript
- 15. PHP,確定遠程文件的大小
- 16. 確定圖像文件大小的PHP
- 17. 如何使用zend_http_client或正確捲曲
- 18. 如何使用保存確認文件捲曲
- 19. 捲曲如何與文件
- 20. 如何使用代理在PHP捲曲
- 21. 如何使用PHP捲曲在Firefox
- 22. 如何使用-data捲曲在PHP
- 23. PHP /捲曲/ file_get_image:如何放置在服務器之前檢查文件的有效性和大小
- 24. 使用捲曲刮大頁
- 25. PHP捲曲不能捲曲
- 26. 捲曲CLI到PHP捲曲
- 27. 捲曲CLI捲曲PHP
- 28. 用PHP捲曲從文件標題
- 29. 如何使用PHP來得到URL下載文件的文件名/捲曲
- 30. 如何使用Hive確定HDFS中的文件大小
完全重複:http://stackoverflow.com/questions/2602612/php-remote-file-size-without-downloading-file – 2012-02-29 09:26:46
@Topener:該主題不會幫助OP來解決**原始**問題。 *有時*閱讀*整個問題*是值得的。 – zerkms 2012-02-29 09:31:41
@Topener我永遠不知道我應該用什麼來搜索。 – 2012-02-29 09:33:54