我的html代码如下: -
<form id="form" name="form" action="banner_ad_post.php" method="post" enctype="multipart/form-data">
<p>
<label for="banner_name"><font color="#FF0000"> * </font>Banner Name: </label>
<input type="text" name="banner_name" id="banner_name" value="" maxlength="100" required="required"/>
</p>
<p>
<label for="Banner_website_url"><font color="#FF0000"> * </font>Banner website Url: </label>
<input type="url" name="banner_site_url" id="banner_site_url" value="" maxlength="100" required="required"/>
</p>
<p>
<label for="banner_image_url">Banner Image Url: </label>
<input type="file" name="file" id="file" value="" accept="image" placeholder="Browse from hard disk" onchange="img_path()"/>
<font color="#FF0000"> OR</font>
<input type="url" name="banner_image_url" id="banner_image_url" value="" maxlength="100" placeholder="Enter the url from website." onchange="validate()"/>
</p>
<p>
<label for="submit"> </label>
<input type="submit" id="submit" name="submit" value="Submit" onclick="preview()" />
</p>
</form>
和php脚本如: -
<?php
if(isset($_POST['banner_name']) && isset($_POST['banner_site_url']) && isset($_POST['banner_image_url']) && isset($_FILES['file']['name']))
{
$banner_name=$_POST['banner_name'];
$banner_name=strip_tags($banner_name);
$banner_site_url=$_POST['banner_site_url'];
$banner_site_url=strip_tags($banner_site_url);
$banner_image_url=$_POST['banner_image_url'];
$banner_image_url=strip_tags($banner_image_url);
$name=$_FILES['file']['name'];
$size=$_FILES['file']['size'];
$type=$_FILES['file']['type'];
$tmp_name=$_FILES['file']['tmp_name'];
$error=$_FILES['file']['error'];
$maxsize = 512000;
$location='uploads/';
if(!empty($banner_image_url))
{
$file_location=$banner_image_url;
?>
<div id="img">
<img src="<?php echo $file_location?>" align="left" width="200px" height="200px">
</div>
<?php
} elseif (!empty($name))
{
$file_location=$location.$name;
?>
<div id="img">
<img src="http://localhost/leadstool/<?php echo $file_location?>" align="left" width="200px" height="200px">
</div>
<?php
}
if(!empty($banner_name) && !empty($banner_site_url))
{
$query="INSERT INTO `banner_ad` VALUES('','$id','$banner_name','$file_location','$banner_site_url','0',now())";
if($query_run=mysql_query($query))
{
if($size <= $maxsize)
{
if(move_uploaded_file($tmp_name,$location.$name))
{
echo'<font color="green">File uploaded & has been sent for approval.</font>';
}
else
{
echo'<font color="red">File can not be uploaded.</font>';
}
} else {
echo'<font color="green">Your information has been uploaded and has been sent for approval.</font>';
}
}
else
{
echo'<font color="red"> The request can not be performed.</font>';
}
}
else
{
echo'<font color="red">These fields are mandatory.</font>';
}
}
?>
这里,问题是由于某种原因,move_uploaded_file()方法无法上传数据库中的文件。但它仍然会输出“已上传文件并已发送以供审批”的输出。现在,我不明白我到底错过了什么?
任何帮助将不胜感激...... 先感谢您!
答案 0 :(得分:1)
抱歉!这个问题没有编程错误。只是一个简单的逻辑错误。
我正在发布代码...我已编辑以纠正问题。
if($size <= $maxsize)
{
if(move_uploaded_file($tmp_name,$location.$name))
{
echo'<font color="green">File uploaded & has been sent for approval.</font>';
}
else
{
echo'<font color="red">File can not be uploaded.</font>';
?>
<div id="img">
<img src="http://localhost/leadstool/<?php echo $file_location?>" align="left" width="200px" height="200px">
</div>
<?php
}
} else {
echo'<font color="red">File size must be less than 500KB.</font>';
}
答案 1 :(得分:0)
你也可以这样做。它运作得很好:
通过表单到数据库的图像:
表单页面:
<form enctype="multipart/form-data" action="insert_image.php" method="post" name="changer">
<input name="image" accept="image/jpeg" type="file">
<input value="Submit" type="submit">
</form>
插入数据库页面:
<?php
include 'conf.php';
if ($_FILES["image"]["error"] > 0)
{
echo "<font size = '5'><font color=\"#e31919\">Error: NO CHOSEN FILE <br />";
echo"<p><font size = '5'><font color=\"#e31919\">INSERT TO DATABASE FAILED";
}
else
{
move_uploaded_file($_FILES["image"]["tmp_name"],"images/" . $_FILES["image"]["name"]);
echo"<font size = '5'><font color=\"#0CF44A\">SAVED<br>";
$file="images/".$_FILES["image"]["name"];
$sql="INSERT INTO database_table (table_column_1, table_column_2) VALUES ('','$file')";
if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
echo "<font size = '5'><font color=\"#0CF44A\">SAVED TO DATABASE";
}
mysql_close();
?>