我在练习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>";
}
} } ?>
当我上传图片时,返回上传你的图片...... !!!空的时候没关系。但是当我插入图像时它也显示出来。我尝试删除了验证空,然后我可以成功上传图像。在这种情况下该怎么办?请帮帮我。
提前致谢。
答案 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'];
}
}