我尝试使用php构建一个上传图像系统 . 经过测试,系统回显出“图像上传”,但它没有显示在数据库中 . 这里是我的代码
upload.php的
//connect database
include('config.php');
//file properties
if(isset($_FILES['image'])){
$file = $_FILES['image']['tmp_name'];
}
if(!isset($file)){
echo "Please select an image";
}
else{
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name =addslashes($_FILES['image']['name']);
$image_size =getimagesize($_FILES['image']['tmp_name']);
if ($image_size == FALSE) {
echo "This is not an image";
}
else{
$insert = "INSERT INTO image(name,picture) VALUES ('$image_name','$image')";
if(!$insert){
echo "Problem uploading";
}
else {
$lastid =mysqli_insert_id($con);
echo "Image Uploaded
";}
}
}
?>
get.php
include ('config.php');
$id = addslashes($_REQUEST['id']);
$image = mysqli_query($con ,"SELECT * FROM image WHERE id=$id");
$image = mysqli_fetch_assoc($image);
$image = $image['picture'];
header("Content-type :image/jpeg");
?>
然后单击提交按钮而不选择任何文件,这两行警告显示出来
警告:file_get_contents():在upload.php第14行中,文件名不能为空 . 行14是$ image = addslashes(file_get_contents($ _ FILES ['image'] ['tmp_name']));警告:getimagesize():在upload.php第16行中,文件名不能为空 . 而第16行是$ image = addslashes(file_get_contents($ _ FILES ['image'] ['tmp_name']));
对此有何想法?