因为只有这样,你下次才能调用到你这次上传的,否则你根本就不知道你上传的是哪张,就无法调用这张,上传也就没有意义了。
php是采用二进制形式存储及读取显示的,首先通过代码创建数据表,然后上传服务器再通过浏览器显示,具体编程代码举例:
1、首先需要创建数据表,具体代码如下图所示。
2、然后写上传到服务器的页面 upimagehtml用来将上传数据库,如下图所示代码。
3、处理上传的php upimagephp文件,如下图所示已储存到数据库。
4、显示的php getimagephp文件,为了看一下效果提前把ID写入代码。
5、预览网站从数据库中提取了,并显示到页面上。
第一步:通过$_FILES获取文件信息。
第二步:指定新文件名称以及路径,并赋值给一个变量。
第三步:通过move_uploaded_file上传文件。
第四步:上传成功后,将数值存入数据库服务器目录即可。
代码如下
1connphp
<
$host="localhost"; //数据库服务器名称
$user="root"; //用户名
$pwd="1721"; //密码
$conn=mysql_connect($host,$user,$pwd);
mysql_query("SET
character_set_connection=gb2312,
character_set_results=gb2312,
character_set_client=binary",$conn);
if ($conn==FALSE)
{
echo "<center>服务器连接失败!<br>请刷新后重试。</center>";
return true;
}
$databasename="database";//数据库名称
do
{
$con=mysql_select_db($databasename,$conn);
}while(!$con);
if ($con==FALSE)
{
echo "<center>打开数据库失败!<br>请刷新后重试。</center>";
return true;
}
>
2uploadphp
<php
if ($_GET['action'] == "save"){
include_once('connphp');
include_once('uploadclassphp');
$title=$_POST['title'];
$pic=$uploadfile;
if($title == "")
echo"<Script>windowalert('对不起!你输入的信息不完整!');historyback()</Script>";
$sql="insert into upload(title,pic) values('$title','$pic')";
$result=mysql_query($sql,$conn);
//echo"<Script>windowalert('信息添加成功');locationhref='uploadphp'</Script>";
}
>
<html>
<head>
<title>文件上传实例</title>
</head>
<body>
<form method="post" action="action=save" enctype="multipart/form-data">
<table border=0 cellspacing=0 cellpadding=0 align=center width="100%">
<tr>
<td width=55 height=20 align="center"> </TD>
<td height="16">
<table width="48%" height="93" border="0" cellpadding="0" cellspacing="0">
<tr>
<td>标题:</td>
<td><input name="title" type="text" id="title"></td>
</tr>
<tr>
<td>文件: </td>
<td><label>
<input name="file" type="file" value="浏览" >
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
</label></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" value="上 传" name="upload"></td>
</tr>
</table></td>
</tr>
</table>
</form>
</body>
</html>
3uploadclassphp
<php$uploaddir = "upfiles/";//设置文件保存目录 注意包含/
$type=array("jpg","gif","bmp","jpeg","png");//设置允许上传文件的类型
$patch="/upload/";//程序所在路径
//获取文件后缀名函数
function fileext($filename)
{
return substr(strrchr($filename, ''), 1);
}
//生成随机文件名函数
function random($length)
{
$hash = 'CR-';
$chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
$max = strlen($chars) - 1;
mt_srand((double)microtime() 1000000);
for($i = 0; $i < $length; $i++)
{
$hash = $chars[mt_rand(0, $max)];
}
return $hash;
}
$a=strtolower(fileext($_FILES['file']['name']));
//判断文件类型
if(!in_array(strtolower(fileext($_FILES['file']['name'])),$type))
{
$text=implode(",",$type);
echo "您只能上传以下类型文件: ",$text,"<br>";
}
//生成目标文件的文件名
else{
$filename=explode("",$_FILES['file']['name']);
do
{
$filename[0]=random(10); //设置随机数长度
$name=implode("",$filename);
//$name1=$name"Mcncc";
$uploadfile=$uploaddir$name;
}
while(file_exists($uploadfile));
if (move_uploaded_file($_FILES['file']['tmp_name'],$uploadfile))
{
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
echo "上传失败!";
}
else
{//输出预览
echo "<center>您的文件已经上传完毕 上传预览: </center><br><center><img src='$uploadfile'></center>";
echo "<br><center><a href='uploadhtm'>继续上传</a></center>";
}
}
}
>可以使用curl这个扩展来实现。
PHP 支持的由Daniel Stenberg创建的libcurl库允许你与各种的服务器使用各种类型的协议进行连接和通讯。
libcurl支持>你代码片段中 第一个li标签里可以明确看到 background:url(。。。。),这个是css引入了,url里面的diamante是php代码,$img_url2['imgurl']这很明显是一个数组变量,他的值就是的地址,还不懂可以继续追问源码如下:
uploadphp
----------------------------------------
<php
$path='1jpg';//你指定的相对路径地址,相对于本网页
if(isset($_POST['submit'])&&$_POST['submit']=='submit')
{
move_uploaded_file($_FILES['file']['tmp_name'],$path);
}
>
<html>
<head><title>上传</title></head>
<body>
<form method='post' enctype='multipart/form-data' action='<php echo $_SERVER['PHP_SELF']; >'>
<input type='file' name='file' />
<input type='submit' name='submit' value='submit'>
</form>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)