[英]Image Uploading to mysql database using PHP
我正在尝试将图像上传到mysql表。 选择图片后,效果很好。 但是,如果不选择图像,则会显示错误消息。 我该如何解决?
警告:file_get_contents():在23行的C:\\ wamp \\ www \\ firstdialnew \\ firstdial \\ adhandler.php中文件名不能为空
$stype=$_POST['stype'];
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);
if($stype="")
{
echo "Please fill all the details";
}else{
$sql=mysql_query("INSERT INTO ads
(sid,stype,image,image_name)
VALUES(NULL,'$stype','$image','$image_name')");
echo "Details Successfully send";
}
您需要检查/验证该图像是否已上传,或者不要尝试类似的操作
if (!empty($_FILES['image']['name'])) {
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);
}else{
$image = '';
$image_name = '';
}
您没有检查$_FILES
尝试此操作
$stype=$_POST['stype'];
if(isset($_FILES['image']) ) {
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);
}else{
$image = '';
$image_name = '';
}
我建议您将文件上传到文件夹中,并将文件名存储在mysql表中。
这是你可以做到的
$file_path = "uploads/";
if(isset($_FILES['image']) ) {
$file_name = basename( $_FILES['uploaded_file']['name']);
$file_path = $file_path . $file_name;
//You should validate the image before upload
move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $file_path);
}else{
$image = '';
$image_name = '';
}
//now store file name in db
$sql=mysql_query("INSERT INTO ads
(sid,stype,image,image_name)
VALUES(NULL,'$stype','$file_name','$image_name')");
按照我的经验,您应该将图像保存到文件夹(例如:public / upload / images / image_name.png)中,并将图像路径保存到数据库中。 很简单,数据库的大小也不大
您是否添加了:
<form method="POST" enctype="multipart/form-data">
放入您的表单(enctype =“ multipart / form-data”)
尝试这个 :
$stype=$_POST['stype'];
$image_name ='';
$image='';
if(!empty($_FILES['image'])) {
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);
}
if($stype="")
{
echo "Please fill all the details";
}else{
$sql=mysql_query("INSERT INTO ads
(sid,stype,image,image_name)
VALUES(NULL,'$stype','$image','$image_name')");
echo "Details Successfully send";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.