0

ユーザーがテキストと画像を入力する必要があるフォームがあります。

<?php
 if(isset($_POST['name']))
 {
   echo "name";
   if(isset($_FILES['image']))
     echo "image";
 }
 echo <<<F
   <form method="post" action="test.php" enctype="multipart/form-data">
   <input type="text" name="name">
   <input type="file" name="image">
   </form>
 F;
?>

このサンプルでは、​​画像を選択しなくても、「画像」というテキストがエコーされます。画像を選択したときにのみ「画像」がエコーされるように、どのような変更を加える必要がありますか。そうでない場合は、フォームの残りの部分が送信されます。

4

2 に答える 2

0

で変更

 if(is_uploaded_file($_FILES['image']['tmp_name'])) echo "image";
于 2013-01-28T15:26:12.860 に答える
0

次のように試すことができます。

if (isset($_FILES['image']) && $_FILES['image']['error'] == 0)

エラーフィールドには PHP エラー コードが含まれます。ファイルがアップロードされていない場合は 4 になります。

詳細については、http: //php.net/manual/en/features.file-upload.errors.phpをご覧ください。

于 2013-01-28T15:33:13.837 に答える