簡單的檔案上傳
阿新 • • 發佈:2018-12-23
檔案上傳:
準備工作:
1.來個表單頁面,放一個留言框,method="post" enctype="multipart/form-data"
上傳檔案原理:
是將客戶端檔案通過瀏覽器上傳到伺服器端
$_FILES[瀏覽框的名稱]['name']:上傳檔案的名稱
$_FILES[瀏覽框的名稱]['type']:上傳檔案的MIME型別
$_FILES[瀏覽框的名稱]['tmp_name']:儲存在服務端上的臨時檔名
我們在伺服器端操作的都是這個臨時檔案
$_FILES[瀏覽框的名稱]['error']:上傳檔案的錯誤號,0代表沒有錯誤, 代表上傳成功....4代表沒有檔案上傳
$_FILES[瀏覽框的名稱]['size']:上傳檔案的大小
in_array()//在制定陣列中搜索值是否存在,存在返回為真,不存在返回為假
$array=array('a','b','c','d')
$search='a';
in_array($search,$array)
in_array($search,$array,true)//即比較型別也比較值
準備工作:
1.來個表單頁面,放一個留言框,method="post" enctype="multipart/form-data"
上傳檔案原理:
是將客戶端檔案通過瀏覽器上傳到伺服器端
2.伺服器端配置
PHP配置檔案中file_uploads=on
儲存$_FILES:檔案上傳變數中
$_FILES[瀏覽框的名稱]['name']:上傳檔案的名稱
$_FILES[瀏覽框的名稱]['type']:上傳檔案的MIME型別
$_FILES[瀏覽框的名稱]['tmp_name']:儲存在服務端上的臨時檔名
我們在伺服器端操作的都是這個臨時檔案
$_FILES[瀏覽框的名稱]['error']:上傳檔案的錯誤號,0代表沒有錯誤, 代表上傳成功....4代表沒有檔案上傳
$_FILES[瀏覽框的名稱]['size']:上傳檔案的大小
上傳檔案步驟:
1接收資訊
2判斷你的錯誤號是否等於0或者UPLOAD_ERR_OK
3判斷下這個檔案是否通過HTTP POST方式上傳來的,is_upload_file($tmp_name)
4將伺服器端上的檔案移動指定目錄下
錯誤資訊
define('UPLOAD_ERR_OK',0);
define('UPLOAD_ERR_INI_SIZE',1);
define('UPLOAD_ERR_FORM_SIZE',2);
define('UPLOAD_ERR_PARTIAL',3);
define('UPLOAD_ERR_NO_FILE',4);
define('UPLOAD_ERR_NO_TMP_DIR',6);
define('UPLOAD_ERR_CANT_WRITE',7);
define('UPLOAD_ERR_EXTENSION',8);
0:沒問題
1:超過了php配置檔案中upload_max_filesize
2:超過了表單允許接收資料的大小
3:檔案部分被上傳
4:沒有檔案上傳
6:找不到臨時目錄
7:沒有寫的許可權
8:由於PHP的擴充套件程式中斷了檔案上傳
通過<input type="file" accept="image/jpeg,image/png">限制上傳型別,不過對我們來說不起作用,
<?php header("content-type:text/html;charset=utf-8"); //預定義變數:$_FILES:檔案上傳變數 //print_r($_FILES); //接受上傳檔案的資訊 $fliename=$_FILES['myFile']['name']; $type=$_FILES['myFile']['type']; $tmp_name=$_FILES['myFile']['tmp_name']; $error=$_FILES['myFile']['error']; $size=$_FILES['myFile']['size']; //判斷下錯誤號是否等於0 if($error==0){ //判斷檔案是否通過HTTP POST方式上傳來的 if(is_uploaded_file($tmp_name)){ $dest="uploads/".$filename; //開始移動 if(move_uploaded_file($tmp_name,$dest)){ echo"檔案上傳成功"; }else{ echo"檔案上傳失敗" ; } }else{ echo "檔案不是通過HTTP POST方式上傳上來的" } }
in_array()//在制定陣列中搜索值是否存在,存在返回為真,不存在返回為假
$array=array('a','b','c','d')
$search='a';
in_array($search,$array)
in_array($search,$array,true)//即比較型別也比較值