亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

能否給個上傳圖片的源碼<謝謝>

能否給個上傳圖片的源碼<謝謝>

PHP
CD__10 2016-03-09 11:48:31
查看完整描述

2 回答

?
紅顏未知己

TA貢獻16條經驗 獲得超2個贊

ok

<html>
	<head></head>
	<body>
		<form?action=""?method="post"?enctype="multipart/form-data">
			<input?type="file"?name="myfile">上傳文件<br?/>
			<input?type="submit"?value="提交">
		</form>
		
	</body>
</html>
<?php?
//上傳文件思路
//通過$_FILES['name值']來接收文件參數
//取出文件臨時文件名??tmp_name
//取出文件后綴??pathinfo(文件名,PATHINFO_EXTENSION);
//創建文件保存的目錄
//???1?檢查目錄是否存在??file_exists(目錄名)
//???2如果沒有則創建??mkdir(目錄名)?chmod()改變文件模式
//組合要保存的文件名(包括路徑)??
//	?1采用MD5加密當前時間戳time().'/'.文件后綴名;
//	?2直接用文件名保存
//移動文件到指定目錄下??move_uploaded_file(移動的文件名,要保存的名字)
//
header('content-type:text/html;charset=utf-8');
$fileInfo=$_FILES['myfile'];
$maxSize=2097152;//允許的最大值
$allowExt=array('jpeg','jpg','png','gif','wbmp');
$flag=true;//檢測是否為真實圖片類型
//1.判斷錯誤號
if($fileInfo['error']==0){
	//判斷上傳文件的大小
	if($fileInfo['size']>$maxSize){
		exit('上傳文件過大');
	}
	//$ext=strtolower(end(explode('.',$fileInfo['name'])));
	$ext=pathinfo($fileInfo['name'],PATHINFO_EXTENSION);
	if(!in_array($ext,$allowExt)){
		exit('非法文件類型');
	}
	//判斷文件是否是通過HTTP?POST方式上傳來的
	if(!is_uploaded_file($fileInfo['tmp_name'])){
		exit('文件不是通過HTTP?POST方式上傳來的');
	}
	//檢測是否為真實的圖片類型
	if($flag){
		if(!getimagesize($fileInfo['tmp_name'])){
			exit('不是真正圖片類型');
		}
	}
	$path='uploads';
	if(!file_exists($path)){
		mkdir($path,0777,true);
		chmod($path,0777);
	}
	//確保文件名唯一,防止重名產生覆蓋
	$uniName=md5(uniqid(microtime(true),true)).'.'.$ext;
	//echo?$uniName;exit;
	$destination=$path.'/'.$uniName;
	if(@move_uploaded_file($fileInfo['tmp_name'],$destination)){
		echo?'文件上傳成功';
	}else{
		echo?'文件上傳失敗';
	}
}else{
	//匹配錯誤信息
	switch($fileInfo['error']){
		case?1:
			echo?'上傳文件超過了PHP配置文件中upload_max_filesize選項的值';
			break;
		case?2:
			echo?'超過了表單MAX_FILE_SIZE限制的大小';
			break;
		case?3:
			echo?'文件部分被上傳';
			break;
		case?4:
			echo?'沒有選擇上傳文件';
			break;
		case?6:
			echo?'沒有找到臨時目錄';
			break;
		case?7:
		case?8:
			echo?'系統錯誤';
			break;
	}
}


查看完整回答
反對 回復 2016-03-20
?
as135614

TA貢獻3條經驗 獲得超0個贊

沒看明白什么意思。

查看完整回答
反對 回復 2016-03-09
  • 2 回答
  • 1 關注
  • 1550 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號