3月初,刚刚接触php。师傅要求做一个在线相册。
实现的功能如下:
1. 上传
2. 浏览
3. 将上传信息保存到mysql数据库中。
(注:图片文件保存到服务器的指定目录下)
<?php
//通用连接数据库文件
@mysql_connect("localhost:3306","root","")or die("mysql连接失败");
@mysql_select_db("picture")or die('db fail to connnect');
mysql_query("set names 'gbk'");
?>
<html>
<body>
<form action="upload.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> <br />
<input type="submit" name="submit" value="UPLOAD" />
</form>
</body>
</html>
<?php
//创建上传脚本
include("conn.php");
$pSize=20000000;
if ((($_FILES["file"]["type"] == "image/gif")|| ($_FILES["file"]["type"] == "image/jpeg")|| ($_FILES["file"]["type"] == "image/pjpeg"))&& ($_FILES["file"]["size"] < $pSize))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
if (file_exists("img/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. "; //如果目的路径中已经存在该图片提示该图片已经存在
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"img/" . $_FILES["file"]["name"]); //将文件保存到"img/" . $_FILES["file"]["name"]
$ms_name=basename($_FILES['file']['name']); //保存上传文件的名称
echo $ms_name."<br>";
$ms_sender="ithaibo"; //测试用户
echo $ms_sender."<br>";
$ms_location="img/".$_FILES['file']['name']; //文件保存路径
echo $ms_location."<br>";
$sql="insert into info_picture(`id`,`name`,`sender`,`location`,`date`) values (null,'$ms_name','$ms_sender','$ms_location',now())";//注意:这里的$ms_name,$ms_sender,$ms_location三个变量需要加单引号,否则不能插入到数据库中
mysql_query($sql); //将上传信息保存到mysql数据库
}
}
}
else
{
echo "Invalid file";
}
?>
<?php
include("conn.php");
//在网页中显示已经上传的图片
$sql="select * from info_picture";
$result=mysql_query($sql); //将查询到的结果放到result中
while($row=mysql_fetch_array($result, MYSQL_NUM)){ //mysql_fetch_array()函数的功能是——从结果集中取得一行作为关联数组,或数字数组,或二者兼有
//数据库中有id name sender location date五项,这里只需要将后面四项列出即可。
printf("sender:%s ",$row[2]);
echo "Date:".$row[4];
echo "<img src='$row[3]'>";
}
?>