程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php上傳圖片到指定位置路徑保存到數據庫的具體實現

php上傳圖片到指定位置路徑保存到數據庫的具體實現

編輯:關於PHP編程

1.conn.php
復制代碼 代碼如下:
<?
$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;
}

?>

2.upload.php
復制代碼 代碼如下:
<?php
if ($_GET['action'] == "save"){
include_once('conn.php');
include_once('uploadclass.php');
$title=$_POST['title'];
$pic=$uploadfile;
if($title == "")
echo"<Script>window.alert('對不起!你輸入的信息不完整!');history.back()</Script>";
$sql="insert into upload(title,pic) values('$title','$pic')";
$result=mysql_query($sql,$conn);
//echo"<Script>window.alert('信息添加成功');location.href='upload.php'</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>

3.uploadclass.php
復制代碼 代碼如下:
<?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='upload.htm'>繼續上傳</a></center>";
}
}

}
?>

4.數據庫文件
-- phpMyAdmin SQL Dump
-- version 2.9.1.1
-- http://www.phpmyadmin.net
--
-- 主機: localhost
-- 生成日期: 2009 年 07 月 30 日 21:43
-- 服務器版本: 5.0.11
-- PHP 版本: 5.1.1
--
-- 數據庫: `database`
--

-- --------------------------------------------------------

--
-- 表的結構 `news`
--

CREATE TABLE `news` (
`id` int(11) unsigned NOT NULL auto_increment,
`title` varchar(50) NOT NULL,
`content` varchar(50) NOT NULL,
`path` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=8 ;

--
-- 導出表中的數據 `news`
--

INSERT INTO `news` (`id`, `title`, `content`, `path`) VALUES
(1, 'ag ', 'ag ', '1.html'),
(2, '你好2', '你好,新聞內容2', '2.html'),
(3, '', '', '3.html'),
(4, 'ga ', 'ag ', '4.html'),
(5, 'ag ', 'ag ', '1.html'),
(6, 'ag ', 'ag ', '2.html'),
(7, 'ag ', 'ag ', '3.html');

-- --------------------------------------------------------

--
-- 表的結構 `upload`
--

CREATE TABLE `upload` (
`uploadid` int(11) unsigned NOT NULL auto_increment,
`title` varchar(50) NOT NULL,
`pic` varchar(50) NOT NULL,
PRIMARY KEY (`uploadid`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=10 ;

--
-- 導出表中的數據 `upload`
--

INSERT INTO `upload` (`uploadid`, `title`, `pic`) VALUES
(1, 'ga ', 'upfiles/CR-xpvDk12dsI.jpg'),
(2, 'ga ', 'upfiles/CR-HkC6fBfAtW.jpg'),
(3, '你好', 'upfiles/CR-E8Ohxk6KxB.jpg'),
(4, '', ''),
(5, '', ''),
(6, '', 'upfiles/CR-92xaug6jhu.jpg'),
(7, '', 'upfiles/CR-a7niAZlhfW.jpg'),
(8, '帥哥', 'upfiles/CR-v9Ary46JoS.jpg'),
(9, '愛國', 'upfiles/CR-XyaJEndF1K.jpg');

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved