如何利用PHP實(shí)現(xiàn)上傳圖片功能詳解
HTML文件
一、 設(shè)置編碼UTF-8
對(duì)于中文網(wǎng)頁需要使用<meta charset="utf-8">
聲明編碼,否則會(huì)出現(xiàn)亂碼。
二 、form表單 <form>標(biāo)簽用于為用戶輸入創(chuàng)建 HTML 表單,表單里包含php文件路徑,
<form action="1.php">
設(shè)置編碼類型,
需要注意的是:默認(rèn)情況下,enctype的值是
application/x-www-form-urlencoded
,不能用于文件上傳,只有使用了multipart/form-data
,才能完整的傳遞文件數(shù)據(jù),
<form action="1.php" enctype="multipart/form-data">
配置數(shù)據(jù)傳輸方式,
<form action="1.php" enctype="multipart/form-data" method="POST">
三、input輸入框 文本輸入框通過<input>標(biāo)簽來設(shè)定添加上傳屬性
type="file" name="file"
設(shè)定提交按鈕
<input type="submit" value="上傳">
HTML文件編輯完成
<html> <head> <meta charset="UTF-8"> <title>上傳</title> </head> <body> <form action="3.php" enctype="multipart/form-data" method="post" > 請選擇上傳文件:<input type="file" name="file"> <input type="submit"> </form> </body> </html>
PHP文件
一、獲取文件信息 獲取文件信息(獲取一個(gè)數(shù)組的信息)
$shangchuan = $_FILES['file'];
二、判斷條件是否符合
1、if判斷條件是否符合
2、設(shè)置上傳類型
3、設(shè)置接收類型
if ($shangchuan['type'] == "image/jpg" or $shangchuan['type'] == "text/plain")
4、判斷不符合輸出–失敗 類型不符,判斷符合自動(dòng)跳過執(zhí)行下一命令
{echo '失敗--類型不符'; die();}
5、判斷大小是否符合
if ($shangchuan['size'] > 800000)
6、判斷不符合輸出–失敗 類型不符,判斷符合自動(dòng)跳過執(zhí)行下一命令
{echo '失敗--大小不符'; die();}
三、設(shè)置文件存放路徑 設(shè)置上傳文件的存放路徑
copy($shangchuan['tmp_name'], 'D:\\' . $shangchuan['name']);echo '輸出:成功';
PHP文件編寫完成:
<?php //1、設(shè)置編碼utf8 header("Content-Type: text/html; charset=UTF-8"); //2、獲取文件信息 $shangchuan = $_FILES['file']; if ($shangchuan['type'] == "image/jpg" or $shangchuan['type'] == "text/plain") { //9、輸出:失敗 echo '失敗--類型不符'; die(); } if ($shangchuan['size'] > 800000) { //9、輸出:失敗 echo '失敗--大小不符'; die(); } //7、移動(dòng)臨時(shí)文件到上傳的文件存放位置(核心代碼) copy($shangchuan['tmp_name'], 'D:\\' . $shangchuan['name']); //8、輸出:成功 echo '輸出:成功'; ?>
運(yùn)行測試
一、上傳文件
在開啟phpstudy_pro工具的前提下,打開瀏覽器輸入路徑
點(diǎn)擊選擇文件
提交
查看上傳圖片
我這里存在D盤根目錄下,
大功告成,完成上傳。
到此這篇關(guān)于如何利用PHP實(shí)現(xiàn)上傳圖片功能的文章就介紹到這了,更多相關(guān)PHP上傳圖片功能內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在PHP中養(yǎng)成7個(gè)面向?qū)ο蟮暮昧?xí)慣
在 PHP 編程早期,PHP 代碼在本質(zhì)上是限于面向過程的。過程代碼 的特征在于使用過程構(gòu)建應(yīng)用程序塊。過程通過允許過程之間的調(diào)用提供某種程度的重用。2010-01-01php中實(shí)現(xiàn)xml與mysql數(shù)據(jù)相互轉(zhuǎn)換的方法
這篇文章主要介紹了php中實(shí)現(xiàn)xml與mysql數(shù)據(jù)相互轉(zhuǎn)換的方法,實(shí)例封裝了一個(gè)類文件,可實(shí)現(xiàn)XML與MySQL數(shù)據(jù)的相互轉(zhuǎn)換,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12smarty靜態(tài)實(shí)驗(yàn)表明,網(wǎng)絡(luò)上是錯(cuò)的~呵呵
smarty靜態(tài)實(shí)驗(yàn)表明,網(wǎng)絡(luò)上是錯(cuò)的~呵呵...2006-11-11php啟動(dòng)時(shí)候提示PHP startup的解決方法
配置好php環(huán)境后,每次開機(jī)都有警告提示說 PHP startup,解決這個(gè)問題很簡單只需要在php.ini 文件中修改 extension_dir配置就行2013-05-05php mssql擴(kuò)展SQL查詢中文字段名解決方法
問題就出現(xiàn)在SQLServer中表的字段名是中文,寫好的查詢語句在SQLServe里測試是通過有記錄返回,用PHP的MSSQL擴(kuò)展查詢就是報(bào)錯(cuò)2012-10-10php數(shù)組函數(shù)序列之a(chǎn)rray_keys() - 獲取數(shù)組鍵名
array_keys() 函數(shù)返回包含數(shù)組中所有鍵名的一個(gè)新數(shù)組。如果提供了第二個(gè)參數(shù),則只返回鍵值為該值的鍵名2011-10-10