2012-02-08 13 views
0

私は2つの質問持っているアプリケーションhereサーバサイドで通知とチェックファイルを修正する方法は?

あります

質問1:どのように私は予告を修正すればよいの?以下は

コードです:

<?php 

If(isset($_POST)) 
{ 

$allowedImageTypes = array("image/pjpeg","image/jpeg","image/jpg","image/png","image/x-png","image/gif"); 
$file = $_FILES['imageFile']; // this is the line the notice is pointing to 
$fileType = $file['type']; 
if (!in_array($fileType, $allowedImageTypes)) { 
    echo "Unsupported file type"; 
} 
else 
{ 
    // Process the file 
} 
} 
?> 

は質問2:あなたがアプリケーションを開くと、「質問を追加」ボタンをクリックします。これにより、テーブル行が追加されます。ファイル入力で、無効なファイルを選択します(例:.txtファイルのように)。「詳細を送信」ボタンをクリックすると、質問1の「サポートされていないファイルタイプ」というアラートが表示されます。ファイルを入力して有効な形式(.png、.jpg、.jpeg、または.gif)に変更してから、もう一度[詳細を送信]ボタンをクリックすると、今度はメッセージを表示する確認ボックスが表示され、続行したい場合は

これはすべてクライアント側でうまく動作しますが、ユーザーが[Submit Details]ボタンをクリックすると、サーバー側とクライアント側でファイル形式が正しいかどうかをチェックしますセキュリティ目的。有効な場合はメッセージを表示せず、無効な場合は上部にメッセージ「サポートされていないファイルタイプ」を表示してください。ファイル入力が空白の場合は有効ですが、1つのファイル入力に間違ったファイル形式が含まれている場合は、無効なメッセージを表示します。誰もこれを行う方法を知っていますか?これを達成するためにPHPコードがほぼそこにありますか?

(ISSET($ _ POST))場合は、

+0

If(count($ _ POST))をIf(count($ _ POST)> 0)に変更してみてください。 –

答えて

0

変更を希望する場合は、ソースの表示に完全なコードを表示することができます(カウント($ _ POST)> 0) またはより良い場合に(ISSET(場合はチェックしている場合質問2

に取り組んで$ _FILES [ "画像ファイル"]))

は、それがクライアント側でそれを確認するために、従来のHTMLは不可能です。 pluploadまたはswfuploadのようなソリューションを見ることができます。jqueryコネクタはFlashとHTML5向けのアップロードソリューションです

+0

これは通知がトリガーされる理由ではありません。 if($ _FILES ['imageFile'] ['name']){// ... '$ _FILES'を使用する前に' if(isset($ _ POST ['submitDetails']) ){// ... ' – Josh

+0

こんにちは、$ _FILESがフォームが実際に提出された後にのみ処理されることに気づいたら、josh。しかし、通知はデータをポストすることでスローされます。 $ _POSTはグローバル配列です。常に設定されます。ここをクリックhttp://ideone.com/3ecwx –

+0

正確に。彼は '$ _FILES'を設定していなければなりません。もしフォームが提出されていれば、それは私が提供したコードです。 '$ _POST'が設定されているのではなく、一般的に*です。 – Josh

関連する問題