第一步:通過$_FILES獲取文件信息。
為寧化等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及寧化網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計制作、成都網(wǎng)站制作、寧化網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
第二步:指定新文件名稱以及路徑,并賦值給一個變量。
第三步:通過move_uploaded_file上傳文件。
第四步:上傳成功后,將數(shù)值存入數(shù)據(jù)庫服務(wù)器目錄即可。
代碼如下
1.conn.php
??
$host="localhost";?//數(shù)據(jù)庫服務(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請刷新后重試。/center";?
return?true;?
}?
$databasename="database";//數(shù)據(jù)庫名稱?
do?
{?
$con=mysql_select_db($databasename,$conn);?
}while(!$con);?
if?($con==FALSE)?
{?
echo?"center打開數(shù)據(jù)庫失??!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"Scriptwindow.alert('對不起!你輸入的信息不完整!');history.back()/Script";?
$sql="insert?into?upload(title,pic)?values('$title','$pic')";?
$result=mysql_query($sql,$conn);?
//echo"Scriptwindow.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?
tdinput?name="title"?type="text"?id="title"/td?
/tr?
tr?
td文件:?/td?
tdlabel?
input?name="file"?type="file"?value="瀏覽"??
input?type="hidden"?name="MAX_FILE_SIZE"?value="2000000"?
/label/td?
/tr?
tr?
td?/td?
tdinput?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);?
}?
//生成隨機文件名函數(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";?
}?
//生成目標文件的文件名?
else{?
$filename=explode(".",$_FILES['file']['name']);?
do?
{?
$filename[0]=random(10);?//設(shè)置隨機數(shù)長度?
$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ù)覽:?/centerbrcenterimg?src='$uploadfile'/center";?
echo?"brcentera?href='upload.htm'繼續(xù)上傳/a/center";?
}?
}?
}?
?
前幾天 剛弄的 app提交圖片的接口,二進制那種比較麻煩,
讓app那端也用 瀏覽器那種方式提交過來,php正常接收就ok
然后返回地址、圖片屬性,(這邊不用保存到本地吧,app那端應(yīng)該是保存到本地),多個的話循環(huán)一下也行,也不慢
最后app把多個圖片以及表情、內(nèi)容什么的提交過來 ,然后保存到數(shù)據(jù)庫 應(yīng)該是 ok的 ,如果 單獨保存圖片 正則匹配一下?。?!
imagegif(resource $image [, string $filename ]) 從 image 圖像以 filename 為文件名創(chuàng)建一個 GIF 圖像。image 參數(shù)是 imagecreate() 或 imagecreatefrom* 函數(shù)的返回值。
imagejpeg(resource $image [, string $filename ]) 從 image 圖像以 filename 為文件名創(chuàng)建一個 JPEG 圖像。
imagepng(resource $image [, string $filename ]) 將 GD 圖像流(image)以 PNG 格式輸出到標準輸出(通常為瀏覽器),或者如果用 filename 給出了文件名則將其輸出到該文件。
filename 文件保存的路徑,如果未設(shè)置或為 NULL,將會直接輸出原始圖象流。
這幾個函數(shù)你參考一下,希望對你有幫助。