0

私はcodeigniterphpアプリを持っています。ユーザーはページに記入し、検討のためにフォームを送信します。このフォームを使用すると、ユーザーは送信時にファイルを添付できます。アップロードできるファイルサイズには5MBの制限があります。ユーザーが制限を超えると、フォームは送信を試みますが、基本的にそれ自体をリセット/更新することになり、すべてのフィールドが空白になり、ユーザーはデータを再入力する必要があります。

2つのことをどのように行うことができますか/すべきですか:添付ファイルが許可された制限を超えたことをユーザーに警告し、添付ファイルを除くフォームデータを送信します

4

2 に答える 2

0

これを試して、

if($_FILES["table_name"]["size"] > 5242880){
      echo 'File are too big';
      // do the rest of the submit
}
于 2013-03-15T15:29:26.723 に答える
0

2つのことをどのように行うことができますか/すべきですか:添付ファイルが許可された制限を超えたことをユーザーに警告し、添付ファイルを除くフォームデータを送信します

これはPHPでは実行できません。スクリプトの実行時にアップロードがすでに完了しているためです。

HTML 3.2にはファイル入力用がありましたが、maxlengthHTML4.01では削除されました。そして、とにかくブラウザのサポートは悪かった。maxlength( HTML5の属性がファイルアップロードフィールドに適用されるかどうかはわかりません。)

HTML5ファイルAPIを使用することは、より有望なアプローチである可能性があります(もちろん、最新のブラウザーのみ)。これを使用すると、選択したファイルの属性を読み取るのは比較的簡単です。disabledしたがって、サイズが最大値を超えている場合、ファイルアップロードフィールドなしでフォームの残りの部分のみを送信する場合は、DOMからファイルアップロードフィールドを削除する(または単にに設定する)ことができます。

于 2013-03-15T15:39:31.403 に答える