I'm trying to upload image to mysql table. When image selected it's working fine. But without selecting image it's display error message. How can i fix it?
Warning: file_get_contents(): Filename cannot be empty in C:\\wamp\\www\\firstdialnew\\firstdial\\adhandler.php on line 23
$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";
}
you need to check/validate that image is upload or not try something like that
if (!empty($_FILES['image']['name'])) {
$image = addslashes(file_get_contents($_FILES['image']['tmp_name']));
$image_name = addslashes($_FILES['image']['name']);
}else{
$image = '';
$image_name = '';
}
You are not checking for $_FILES
try this
$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 = '';
}
I will suggest you to upload file in a folder and store the file name in mysql table.
Here is how you can do that
$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')");
Follow my experience, you should save image into folder (ex : public/upload/images/image_name.png) AND save image path into database. That is simple and database's size is not large
Did you add :
<form method="POST" enctype="multipart/form-data">
Into your form (enctype="multipart/form-data")
try this :
$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";
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.