php插入文件
我正在为学校编写一个php文件。我们必须采取的形式,并添加名字,姓氏,电子邮件和照片的数据库。我可以将名称、电子邮件添加到数据库中,但无法将图像名称添加到数据库中。下面是部分php代码和一些html。如果有人可以,请看一看,并给予一些帮助。非常感谢php插入文件,php,mysql,Php,Mysql,我正在为学校编写一个php文件。我们必须采取的形式,并添加名字,姓氏,电子邮件和照片的数据库。我可以将名称、电子邮件添加到数据库中,但无法将图像名称添加到数据库中。下面是部分php代码和一些html。如果有人可以,请看一看,并给予一些帮助。非常感谢 <?php include("db_connect.php");?> <?php // select the database in which to add a table mysql_select_db("final_exam
<?php include("db_connect.php");?>
<?php // select the database in which to add a table
mysql_select_db("final_exam_db",$con);
$sql ="INSERT INTO drivers_0115061 (ln,fn,month,day,year,photo,email)
VALUES ('".$_POST["ln"]."',
'".$_POST["fn"]."',
'".$_POST["month"]."',
'".$_POST["day"]."',
'".$_POST["year"]."',
'".$_POST['file']['photo']."',
'".$_POST["email"]."'
)";
//$sql="INSERT INTO people (fn,ln,dob,city,prov,pc,gender,hc,nod) VALUES ('steve','douglas',1234567,'winnipeg','manitoba','r3p 6g5','m','grey',2)";
//echo $sql;
mysql_query($sql, $con);
echo mysql_error();
?>
<?php include("db_close.php");?>
HTML:
<td>
Picture
</td>
<td>
<input type="hidden" name="MAX_FILE_SIZE" value="10000000"/>
<input type="file" id="photo" name="photo"/>
</td>
</tr>
<tr>
<td>
用不同的方法解决问题
//be sure to add enctype in your form tag
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
</form>
//确保在表单标记中添加enctype
首先将路径和文件名处理到数据库中
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
//here is what actually you need to care , set your upload path from here
move_uploaded_file($_FILES["file"]["tmp_name"],
"your/upload/path/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
$allowedExts=array(“jpg”、“jpeg”、“gif”、“png”);
$extension=end(分解(“.”,$_文件[“文件”][“名称]);
如果(($_文件[“文件”][“类型”]=“图像/gif”)
||($_文件[“文件”][“类型”]=“图像/jpeg”)
||($_文件[“文件”][“类型”]=“图像/png”)
||($_文件[“文件”][“类型”]=“图像/pjpeg”))
&&($_文件[“文件”][“大小”]<20000)
&&in_数组($extension$allowedExts))
{
如果($\u文件[“文件”][“错误”]>0)
{
回显“返回代码:”.$\u文件[“文件”][“错误”]。
”;
}
其他的
{
echo“上传:.”文件[“文件”][“名称”]。“
”;
echo“Type:”.$\u文件[“file”][“Type”]。“
”;
回显“大小:”($_文件[“文件”][“大小”]/1024)。“kB
”;
回显“临时文件:”.$\u文件[“文件”][“tmp\u名称”]。
”;
如果(文件存在(“上载/”$\u文件[“文件”][“名称”]))
{
echo$\u文件[“文件”][“名称”]。“已存在。”;
}
其他的
{
//这里是你真正需要关心的,从这里设置你的上传路径
移动上传的文件($文件[“文件”][“tmp文件名”],
“您的/upload/path/”$_文件[“文件”][“名称”]);
echo“存储在:“.”upload/“$\u文件[”文件“][”名称“];
}
}
}
其他的
{
回显“无效文件”;
}
如果一切正常,这意味着您在这里成功上传了一个文件,您需要用您的文件名保存您的数据库记录
无论什么时候你想打电话给你的档案,都要这样做
从数据库中获取文件名
<img href="your/path/name/<?php echo $filenamefromdatabase; ?>" />
什么是“无法将图像名称添加到数据库”呢?“无法将图像名称添加到数据库”是一个不足以让我们理解问题的描述。你试的时候发生了什么?你得到了不正确的结果吗?你没有得到结果吗?如果结果不正确,是什么导致结果不正确?你在期待什么?你得到正确的结果了吗?如果是,它们是什么?你有错误吗?别让我们猜了,我没有结果。名、姓和电子邮件已添加到数据库中,但图像名没有添加。没有错误,只是数据库中没有图像名称。文件名在$\u FILES数组中,而不是$\u POST数组中。我想你有一个