9月
26
2009

[PHP][メモ]post_max_sizeを超えるアップロード時のエラー処理


post_max_sizeを超えたファイルをアップロードすると、
「Warning: POST Content-Length of …」というエラーが出てPOSTする内容が消えてしまいますよね。

どうやってエラー処理をしようか悩んでいたら、
以下の参考記事を発見。

参考

PDFファイルをサーバーにアップし、 そのPDFファイルをダウンロードする際、 ブラウザにPDFファイルが開くことなく、 ダイアログが出るように設定するようにしたいと考えて.. – 人力検索はてな
PHPを使ったファイルアップロードで php.ini の制限越えた場合にはどのように処理されるのでしょうか? 越えると単に $_POST を array() に設定して、データおくらないで.. – 人力検索はてな

対策

post_max_sizeに失敗した場合には$_POSTがarray()で返り、$_SERVER["REQUEST_METHOD"]が”POST”で返ることを利用して、

			if (empty($_POST) && $_SERVER["REQUEST_METHOD"] === "POST") {
				// エラー処理
			}

で対応しました。
※upload_max_filesizeの制限に引っかかった場合は挙動が違うらしいので注意してください。
詳しくはこちら

▼Advertisement

【Webサービスを作ろう!好評連載中!】このエントリーをはてなブックマークに追加 はてなブックマーク -
⇒ #1 挫折しないウェブサービス開発のための4つの心構え
Webサービス、Webアプリケーション開発に興味のある方は必見です!

【2月のイチオシ記事】このエントリーをはてなブックマークに追加 はてなブックマーク -
⇒ 社長になった私がお金にならないデータベースサイトを作った7つの理由

Written by suzuki in: メモ | タグ:

コメントはまだありません

Comments are closed.

RSS feed for comments on this post.


| I have been indebted to Aeros Theme. |