|
主要过程是通过表单上传图片,然后得到图片信息,将图片文件存在指定路径下,将图片名字存在数据库中,取出时通过制定路径+文件名称得到图片。(代码都写在一个php文件里了……)
1.新建数据库,在数据库中新建数据表photo,如图
2.新建php文件,写供上传文件的表单,
表单:
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label><br />
<input type="file" name="file" id="file" /> <br />
<input type="submit" name="submit" value="Submit" />
</form>
3.当上传文件点击submit时,得到图片的信息
if(isset($_POST['submit'])){
$image= $_FILES["file"]["name"];// 文件名称
$type= $_FILES["file"]["type"];//被上传文件的类型}
4.将图片保存到指定文件中
if (file_exists("../source/" . $_FILES["file"]["name"])){
echo $_FILES["file"]["name"] . " already exists. ";//如果路径中已经存在相同名字的图片
}else{
move_uploaded_file($_FILES["file"]["tmp_name"],
"../source/" . $_FILES["file"]["name"]);
echo "Stored in: " . "../source/" . $_FILES["file"]["name"];
}
5.连接数据库,将图片名称存进数据库,(取出时使用自己的保存的统一路径,再加上数据库中保存的文件名,即可取出文件)
//连接数据库
$conn=mysql_connect("localhost","root","");
if (!$conn) die('Could not connect: '.mysql_error());
mysql_select_db("mytest",$conn);
mysql_query("set names utf8");
//存入数据库,例id=1
$sqlstr1="insert into photo(id,type,photoname) values(1,'".$type."','".$image."')";
$word=mysql_query($sqlstr1,$conn);
6.显示图片,执行查询语句,得到图片名称,然后显示
$sqlstr2="select * from photo where id=1";
$word2=mysql_query($sqlstr2,$conn);
$thread=mysql_fetch_assoc($word2);
if($thread){
header('content_type:'.$thread['type']);
echo "<img src='../source/".$thread['photoname']."'/>";
}
运行结果如图
完整代码:
<html>
<body>
<form action="" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label><br />
<input type="file" name="file" id="file" /> <br />
<input type="submit" name="submit" value="Submit" />
</form>
<?php
//连接数据库
$conn=mysql_connect("localhost","root","");
if (!$conn) die('Could not connect: '.mysql_error());
mysql_select_db("mytest",$conn);
mysql_query("set names utf8");
//当点击submit时处理
if(isset($_POST['submit'])){
if ($_FILES["file"]["error"] > 0){//如果上传出错
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}else{
$image= $_FILES["file"]["name"];// 存储在服务器的文件的临时副本的名称
$type= $_FILES["file"]["type"];//被上传文件的类型
//图片另存为自己的路径下
if (file_exists("../source/" . $_FILES["file"]["name"])){
echo $_FILES["file"]["name"] . " already exists. ";
}else{
move_uploaded_file($_FILES["file"]["tmp_name"],
"../source/" . $_FILES["file"]["name"]);
// echo "Stored in: " . "../source/" . $_FILES["file"]["name"];
}
//存入数据库
$sqlstr1="insert into photo(id,type,photoname) values(1,'".$type."','".$image."')";
$word=mysql_query($sqlstr1,$conn);
//取出,显示
$sqlstr2="select * from photo where id=1";
$word2=mysql_query($sqlstr2,$conn);
$thread=mysql_fetch_assoc($word2);
if($thread){
header('content_type:'.$thread['type']);
echo "<img src='../source/".$thread['photoname']."'/>";
}
}
}
?>
</body>
</html>
|
|
|