php上傳圖片到指定位置路徑保存到數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn)
更新時(shí)間:2013年12月30日 16:53:06 作者:
本文為大家介紹下php上傳圖片到指定位置路徑保存到數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn),感興趣的朋友不要錯(cuò)過(guò)
1.conn.php
<?
$host="localhost"; //數(shù)據(jù)庫(kù)服務(wù)器名稱
$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>服務(wù)器連接失敗!<br>請(qǐng)刷新后重試。</center>";
return true;
}
$databasename="database";//數(shù)據(jù)庫(kù)名稱
do
{
$con=mysql_select_db($databasename,$conn);
}while(!$con);
if ($con==FALSE)
{
echo "<center>打開數(shù)據(jù)庫(kù)失?。?lt;br>請(qǐng)刷新后重試。</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('對(duì)不起!你輸入的信息不完整!');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>文件上傳實(shí)例</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>標(biāo)題:</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/";//設(shè)置文件保存目錄 注意包含/
$type=array("jpg","gif","bmp","jpeg","png");//設(shè)置允許上傳文件的類型
$patch="upload/";//程序所在路徑
//獲取文件后綴名函數(shù)
function fileext($filename)
{
return substr(strrchr($filename, '.'), 1);
}
//生成隨機(jī)文件名函數(shù)
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>";
}
//生成目標(biāo)文件的文件名
else{
$filename=explode(".",$_FILES['file']['name']);
do
{
$filename[0]=random(10); //設(shè)置隨機(jī)數(shù)長(zhǎng)度
$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
{//輸出圖片預(yù)覽
echo "<center>您的文件已經(jīng)上傳完畢 上傳圖片預(yù)覽: </center><br><center><img src='$uploadfile'></center>";
echo "<br><center><a href='upload.htm'>繼續(xù)上傳</a></center>";
}
}
}
?>
4.數(shù)據(jù)庫(kù)文件
-- phpMyAdmin SQL Dump
-- version 2.9.1.1
-- http://www.phpmyadmin.net
--
-- 主機(jī): localhost
-- 生成日期: 2009 年 07 月 30 日 21:43
-- 服務(wù)器版本: 5.0.11
-- PHP 版本: 5.1.1
--
-- 數(shù)據(jù)庫(kù): `database`
--
-- --------------------------------------------------------
--
-- 表的結(jié)構(gòu) `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 ;
--
-- 導(dǎo)出表中的數(shù)據(jù) `news`
--
INSERT INTO `news` (`id`, `title`, `content`, `path`) VALUES
(1, 'ag ', 'ag ', '1.html'),
(2, '你好2', '你好,新聞內(nèi)容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');
-- --------------------------------------------------------
--
-- 表的結(jié)構(gòu) `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 ;
--
-- 導(dǎo)出表中的數(shù)據(jù) `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, '愛國(guó)', 'upfiles/CR-XyaJEndF1K.jpg');
復(fù)制代碼 代碼如下:
<?
$host="localhost"; //數(shù)據(jù)庫(kù)服務(wù)器名稱
$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>服務(wù)器連接失敗!<br>請(qǐng)刷新后重試。</center>";
return true;
}
$databasename="database";//數(shù)據(jù)庫(kù)名稱
do
{
$con=mysql_select_db($databasename,$conn);
}while(!$con);
if ($con==FALSE)
{
echo "<center>打開數(shù)據(jù)庫(kù)失?。?lt;br>請(qǐng)刷新后重試。</center>";
return true;
}
?>
2.upload.php
復(fù)制代碼 代碼如下:
<?php
if ($_GET['action'] == "save"){
include_once('conn.php');
include_once('uploadclass.php');
$title=$_POST['title'];
$pic=$uploadfile;
if($title == "")
echo"<Script>window.alert('對(duì)不起!你輸入的信息不完整!');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>文件上傳實(shí)例</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>標(biāo)題:</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
復(fù)制代碼 代碼如下:
<?php
$uploaddir = "upfiles/";//設(shè)置文件保存目錄 注意包含/
$type=array("jpg","gif","bmp","jpeg","png");//設(shè)置允許上傳文件的類型
$patch="upload/";//程序所在路徑
//獲取文件后綴名函數(shù)
function fileext($filename)
{
return substr(strrchr($filename, '.'), 1);
}
//生成隨機(jī)文件名函數(shù)
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>";
}
//生成目標(biāo)文件的文件名
else{
$filename=explode(".",$_FILES['file']['name']);
do
{
$filename[0]=random(10); //設(shè)置隨機(jī)數(shù)長(zhǎng)度
$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
{//輸出圖片預(yù)覽
echo "<center>您的文件已經(jīng)上傳完畢 上傳圖片預(yù)覽: </center><br><center><img src='$uploadfile'></center>";
echo "<br><center><a href='upload.htm'>繼續(xù)上傳</a></center>";
}
}
}
?>
4.數(shù)據(jù)庫(kù)文件
-- phpMyAdmin SQL Dump
-- version 2.9.1.1
-- http://www.phpmyadmin.net
--
-- 主機(jī): localhost
-- 生成日期: 2009 年 07 月 30 日 21:43
-- 服務(wù)器版本: 5.0.11
-- PHP 版本: 5.1.1
--
-- 數(shù)據(jù)庫(kù): `database`
--
-- --------------------------------------------------------
--
-- 表的結(jié)構(gòu) `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 ;
--
-- 導(dǎo)出表中的數(shù)據(jù) `news`
--
INSERT INTO `news` (`id`, `title`, `content`, `path`) VALUES
(1, 'ag ', 'ag ', '1.html'),
(2, '你好2', '你好,新聞內(nèi)容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');
-- --------------------------------------------------------
--
-- 表的結(jié)構(gòu) `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 ;
--
-- 導(dǎo)出表中的數(shù)據(jù) `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, '愛國(guó)', 'upfiles/CR-XyaJEndF1K.jpg');
相關(guān)文章
php+AJAX傳送中文會(huì)導(dǎo)致亂碼的問(wèn)題的解決方法
關(guān)于在AJAX中GET回的ResponseText中文亂碼的最簡(jiǎn)解決辦法2008-09-09php獲取ajax的headers方法與內(nèi)容實(shí)例
下面小編就為大家分享一篇php獲取ajax的headers方法與內(nèi)容實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12PHP/Javascript/CSS/jQuery常用知識(shí)大全詳細(xì)整理
PHP/Javascript/CSS/jQuery常用知識(shí)大全詳細(xì)整理(原創(chuàng))感興趣的朋友可以參考下2013-01-01php curl 模擬登錄并獲取數(shù)據(jù)實(shí)例詳解
cURL 是一個(gè)功能強(qiáng)大的PHP庫(kù),使用PHP的cURL庫(kù)可以簡(jiǎn)單和有效地抓取網(wǎng)頁(yè)并采集內(nèi)容,設(shè)置cookie完成模擬登錄網(wǎng)頁(yè),curl提供了豐富的函數(shù),開發(fā)者可以從PHP手冊(cè)中獲取更多關(guān)于cURL信息。本文以模擬登錄開源中國(guó)(oschina)為例,需要的朋友可以參考下2016-12-12php方法調(diào)用模式與函數(shù)調(diào)用模式簡(jiǎn)例
函數(shù)調(diào)用模式時(shí),this被綁定到全局對(duì)象。這種情況在對(duì)象的屬性與方法被初始化時(shí)也能夠得到反應(yīng)。2011-09-09Zend Studio (eclipse)使用速度優(yōu)化方法
Zend studio7.12那速度正太讓人火大了,修改文件的保存就building workspace,要得等上好一會(huì)2011-03-03如何使用php判斷所處服務(wù)器操作系統(tǒng)的類型
本篇文章是對(duì)如何使用php判斷所處服務(wù)器操作系統(tǒng)的類型進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06