php 文件上傳實(shí)例代碼
項(xiàng)目結(jié)構(gòu):

上傳首頁:

上傳效果:

fileupload.php
<form action="" enctype="multipart/form-data" method="post"
name="uploadfile">上傳文件:<input type="file" name="upfile" /><br>
<input type="submit" value="上傳" /></form>
<?php
//print_r($_FILES["upfile"]);
if(is_uploaded_file($_FILES['upfile']['tmp_name'])){
$upfile=$_FILES["upfile"];
//獲取數(shù)組里面的值
$name=$upfile["name"];//上傳文件的文件名
$type=$upfile["type"];//上傳文件的類型
$size=$upfile["size"];//上傳文件的大小
$tmp_name=$upfile["tmp_name"];//上傳文件的臨時(shí)存放路徑
//判斷是否為圖片
switch ($type){
case 'image/pjpeg':$okType=true;
break;
case 'image/jpeg':$okType=true;
break;
case 'image/gif':$okType=true;
break;
case 'image/png':$okType=true;
break;
}
if($okType){
/**
* 0:文件上傳成功<br/>
* 1:超過了文件大小,在php.ini文件中設(shè)置<br/>
* 2:超過了文件的大小MAX_FILE_SIZE選項(xiàng)指定的值<br/>
* 3:文件只有部分被上傳<br/>
* 4:沒有文件被上傳<br/>
* 5:上傳文件大小為0
*/
$error=$upfile["error"];//上傳后系統(tǒng)返回的值
echo "================<br/>";
echo "上傳文件名稱是:".$name."<br/>";
echo "上傳文件類型是:".$type."<br/>";
echo "上傳文件大小是:".$size."<br/>";
echo "上傳后系統(tǒng)返回的值是:".$error."<br/>";
echo "上傳文件的臨時(shí)存放路徑是:".$tmp_name."<br/>";
echo "開始移動(dòng)上傳文件<br/>";
//把上傳的臨時(shí)文件移動(dòng)到up目錄下面
move_uploaded_file($tmp_name,'up/'.$name);
$destination="up/".$name;
echo "================<br/>";
echo "上傳信息:<br/>";
if($error==0){
echo "文件上傳成功啦!";
echo "<br>圖片預(yù)覽:<br>";
echo "<img src=".$destination.">";
//echo " alt=\"圖片預(yù)覽:\r文件名:".$destination."\r上傳時(shí)間:\">";
}elseif ($error==1){
echo "超過了文件大小,在php.ini文件中設(shè)置";
}elseif ($error==2){
echo "超過了文件的大小MAX_FILE_SIZE選項(xiàng)指定的值";
}elseif ($error==3){
echo "文件只有部分被上傳";
}elseif ($error==4){
echo "沒有文件被上傳";
}else{
echo "上傳文件大小為0";
}
}else{
echo "請上傳jpg,gif,png等格式的圖片!";
}
}
?>
fileupload.php文件中:
//判斷是否為圖片
switch ($type){
case 'image/pjpeg':$okType=true;
break;
case 'image/jpeg':$okType=true;
break;
case 'image/gif':$okType=true;
break;
case 'image/png':$okType=true;
break;
}
上面是判斷文件是否是圖片類型,更多的文件類型,大家可以參考tomcat/conf/web.xml文件,這里面的文件類型很全....
相關(guān)文章
CodeIgniter記錄錯(cuò)誤日志的方法全面總結(jié)
這篇文章主要介紹了CodeIgniter記錄錯(cuò)誤日志的方法,詳細(xì)分析了CodeIgniter框架的文件結(jié)構(gòu)與相應(yīng)的功能,結(jié)合實(shí)例分析了CodeIgniter框架記錄錯(cuò)誤日志的實(shí)現(xiàn)技巧,并分析了隱藏index文件與數(shù)據(jù)傳輸?shù)燃记?總結(jié)非常全面,需要的朋友可以參考下2016-05-05
PHP實(shí)現(xiàn)數(shù)據(jù)庫的增刪查改功能及完整代碼
這篇文章主要介紹了PHP實(shí)現(xiàn)數(shù)據(jù)庫的增刪查改功能及完整代碼,需要的朋友可以參考下2018-04-04
Laravel 5.1 on SAE環(huán)境開發(fā)教程【附項(xiàng)目demo源碼】
這篇文章主要介紹了Laravel 5.1 on SAE環(huán)境開發(fā)方法,結(jié)合實(shí)例形式詳細(xì)分析了Laravel 5.1在SAE環(huán)境下的具體開發(fā)相關(guān)操作步驟與注意事項(xiàng),需要的朋友可以參考下2016-10-10
網(wǎng)頁游戲開發(fā)入門教程三(簡單程序應(yīng)用)
用哪種組合,真的不重要。重要的是時(shí)間和成本。復(fù)雜的地方在數(shù)據(jù)的交互和完善,而不在技術(shù)或效果的實(shí)現(xiàn)。2009-11-11
THINKPHP項(xiàng)目開發(fā)中的日志記錄實(shí)例分析
這篇文章主要介紹了THINKPHP項(xiàng)目開發(fā)中的日志記錄用法,以實(shí)例形式較為全面的分析了日志表的建立與相關(guān)數(shù)據(jù)庫操作方法,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12
Laravel實(shí)現(xiàn)構(gòu)造函數(shù)自動(dòng)依賴注入的方法
這篇文章主要介紹了Laravel實(shí)現(xiàn)構(gòu)造函數(shù)自動(dòng)依賴注入的方法,涉及Laravel構(gòu)造函數(shù)自動(dòng)初始化的相關(guān)技巧,需要的朋友可以參考下2016-03-03
詳解php實(shí)現(xiàn)頁面靜態(tài)化原理
本篇文章主要介紹了詳解php實(shí)現(xiàn)頁面靜態(tài)化原理,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06
CodeIgniter針對數(shù)據(jù)庫的連接、配置及使用方法
這篇文章主要介紹了CodeIgniter針對數(shù)據(jù)庫的連接、配置及使用方法,結(jié)合實(shí)例形式分析了CodeIgniter針對數(shù)據(jù)庫的連接配置及常用操作技巧,需要的朋友可以參考下2016-03-03

