私はウェブからファイルをアップロードするのではなく、URLからプロフィール画像をアップロードすることができます。私はいたずらなユーザーが巨大なファイルのURLを提供することができますか、または/dev/random
にテールされているいくつかのURLかもしれないが、非常に起こりえない可能性があります。それは私のサーバーに完全にフェッチする前にファイルのサイズを判断する方法はありますか?PHP curlを使用してフェッチする前にファイルサイズを調べる方法
1
A
答えて
0
サーバーからの応答のContent-Length
ヘッダーを確認します。
+0
応答にそのようなヘッダーがない場合はどうなりますか? – zerkms
+2
彼らは 'Content-Length:123'を提供したが、それよりも実際に(全体として)送信したらどうなるでしょうか? – rodneyrehm
1
リモートファイルを取得するために何をしているかによって、実行できる操作が異なります。
file_get_contents('http://foobar.com')
は非常に便利ですが、最小限の制御が可能です。Content-Length
ヘッダーを手に取るHEAD要求をどうやって行うことができないのか分かりません。fsockopen()
は、HTTPSを扱うときに泣くようになります。カールは、うまくカールしています。それは強力なほど醜いものです。 HTTP Pecl(基本的にカールを巻きつける)のような他のオプションもあります。
- リソースがContent-Lengthヘッダーを提供しているかどうかを確認します。このためにHEADリクエストを行います。一部のサーバー/サービスはHEAD要求を処理しません。応答ヘッダーを取得したら、GETリクエストを行い、転送を中止します。
- 結果が(1)である場合は、それがあなたの限界よりも大きいかどうかを確認してください。もしそうなら、中止してください。
- curlを使用してリソースを取得します。ボリュームが上限を超えた場合は、ダウンロードを中止できるように
CURLOPT_READFUNCTION
をご覧ください。また、(1)結果が偽装されている可能性があるため、結果を得た場合はこれをチェックする必要があります。あなたは$ yourLimitバイトをダウンロードするには1頭とコンテンツの長さを取得するための1つのGETリクエストだけでなく、別のGET要求を行ってきたよ非常に最悪の場合
。
関連する問題
- 1. Hiveを使用してHDFSでファイルサイズを調べる方法
- 2. cURLを使用してウェブサイトをナビゲートする方法PHP
- 3. Googleのフォントのファイルサイズを調べる方法は?
- 4. シリアルポートの使用方法を調べる
- 5. wp_list_tableを使用してカスタムワードプレステーブルにデータをフェッチする方法
- 6. PHPを使用してJSONデータをフェッチしてデコードする方法は?
- 7. Rを使用してシステムドライブの数を調べる方法は?
- 8. jQueryを使用して型ファイルを調べる方法
- 9. Jenaを使用してオントロジのステートメント数を調べる方法
- 10. クロスgdbを使用してクロスターゲットマシンのコアファイルを調べる方法
- 11. lttngを使用してマルチスレッドユーザーアプリケーションのスケジュールを調べる方法は?
- 12. setdatabuffer()によって配列フェッチを使用すると、すべての行をフェッチする方法
- 13. 複数のフォルダにある各ファイルのファイルサイズを調べる方法は?
- 14. CURLを使用してPHPでGETリクエストを行う方法
- 15. 前のcURLからすべてのクッキーを次のcURLに追加する方法
- 16. MySQLとPHPを使用してデータベースから値をフェッチする方法
- 17. PDOを使用して行をフェッチする方法
- 18. curlとphpを使ってリモートサーバーに接続する方法は?
- 19. PHPを使用して前のURLを取得する方法
- 20. cURLを使用してluaにjsonを投稿する方法
- 21. cURLを使用してペイロードをURLに送信する方法
- 22. WCFサービスにcurlを使用してパラメータをPOSTする方法
- 23. cUrlを使用して指定行を取得する方法PHP
- 24. PHP curlを使用してWebページのユーザアクションをシミュレートする方法
- 25. PHP cURLを使用してinstamojoマーケットプレイスAPIを統合する方法
- 26. curl phpを使用してリクエストペイロード経由でファイルをアップロードする方法
- 27. リストビューをPHPでファイルサイズで並べ替える方法
- 28. Debian:bashを使用してCPU使用率を調べる
- 29. MSVCがプリプロセッサマクロに使用している値を調べる方法
- 30. Kafka Goクライアントのコンシューマを使用して、パーティション内の以前のオフセットを巻き戻して調べる方法
正確な複製:http://stackoverflow.com/questions/2602612/php-remote-file-size-without-downloading-file –
@Topener:そのトピックはOPを**元の**を解決するのに役立ちません問題。 *ときどき*全体の質問*を読む価値があります。 – zerkms
@Topener私は検索に使うべきものを決して見つけられませんでした。 –