if else语句错误

时间:2016-09-21 09:08:18

标签: php loops oop if-statement

我在练习php。所以今天我正在尝试通过验证进行图像上传。我在验证中遇到了一些问题。这是我的代码

    <?php 
        if(($_SERVER['REQUEST_METHOD'] == 'POST') && isset($_POST['upload_btn'])){
          if(empty($_POST['up_image'])){
             echo "<p class='bg-danger'>Upload Your Image...!!!</p>";
          } else{
              $permitted = array('jpg','jpeg','png','gif');
              $file_name = $_FILES['up_image']['name'];
              $file_size = $_FILES['up_image']['size'];
              $file_temp = $_FILES['up_image']['tmp_name'];

              $div = explode('.', $file_name);
              $file_ext = strtolower(end($div));
              $unique_name = substr(md5(time()), 0,10).'.'.$file_ext;
              $uploaded_image = 'img/'.$unique_name;

              move_uploaded_file($file_temp, $uploaded_image);
              $insert_img = $user->insert_image($uploaded_image);
              if(isset($insert_img)){
                 echo "<p class='bg-success'>Image Inserted Successfully...</p>";
    }
}    } ?>

当我上传图片时,返回上传你的图片...... !!!空的时候没关系。但是当我插入图像时它也显示出来。我尝试删除了验证空,然后我可以成功上传图像。在这种情况下该怎么办?请帮帮我。

提前致谢。

4 个答案:

答案 0 :(得分:1)

你将永远回应“上传你的形象...... !!”因为你正在检查

$_POST['up_image'] 

而不是

$_FILES['up_image']

此页面应显示一些使用表单上传的好例子 http://www.w3schools.com/php/php_file_upload.asp

检查您是否上传了文件:

$check = getimagesize($_FILES["up_image"]["tmp_name"]);

if($check !== false){ then it has passed... }

答案 1 :(得分:1)

尝试类似if(!isset($_FILES['up_image'])){的内容。

答案 2 :(得分:1)

每当您上传任何文件时,您的文件详细信息数组都不在$ _POST变量中。使用$ _FILES而不是$ _POST。

当您在代码$ _POST ['up_image']中编写时,请将此替换为以下内容 $ _FILES [ 'up_images']

答案 3 :(得分:0)

这个if/else语句可以解决这个问题

if(($_SERVER['REQUEST_METHOD'] == 'POST') && isset($_POST['upload_btn'])){   
  if(empty($_FILES['up_image']['name'])) {
        echo "empty";
  } else {
        echo $_FILES['up_image']['name'];
  }
}