本文目錄一覽:
- 1、php上傳文件
- 2、如何在php上實現文件上傳功能
- 3、php上傳文件到文件夾
- 4、php文件上傳位置
- 5、php如何實現文件上傳
php上傳文件
前端頁面:
form action=”” method=”post” enctype=”multipart/form-data”
input type=”file” name=”file”
input type=”submit” name=”submit” value=”Submit”
……
/form
後台接收頁面:
if(is_uploaded_file($_FILES[‘file’][‘tmp_name’])){
if(move_uploaded_file($_FILES[‘file’][‘tmp_name’], ‘目標路徑’)){
//上傳成功
}else{
//上傳失敗
}
}
如何在php上實現文件上傳功能
PHP 一般使用 POST 方法上傳文件,下面是一個簡單的文件上傳示例,裡面有相關的注釋:
up.htm 文件:
———-
html
head
meta http-equiv=”Content-Type” content=”text/html; charset=gb2312″
titleUp Sample/title
/head
body
form action=”up.php” method=”post” enctype=”multipart/form-data”
!–備註:表單中 enctype=”multipart/form-data ” 的意思,是設置表單的 MIME 編碼。默認情況,這個編碼格式是application/x-www-form-urlencoded,不能用於文件上傳;只有使用了 multipart/form-data ,才能完整的傳遞文件數據,進行下面的操作,並且 method 要設置為 “post”–
File:br /
input type=”file” name=”upfile” size=”30″br /
!–上傳框要設置 type=”file”–
br /
input type=”submit” value=”Upload”
/form
/body
/html
———-
up.php 文件
———-
?php
if (is_uploaded_file($_FILES[“upfile”][“tmp_name”])){
//如果有文件上傳
//is_uploaded_file — 判斷文件是否是通過 HTTP POST 上傳的,返回布爾值
//$_FILES[‘upfilename’][‘…’],其中的 ‘upfilename’ 即為上傳框的 name 屬性
//$_FILES[‘upfile’][‘tmp_name’] — 文件被上傳後在服務端儲存的臨時文件名,一般是系統默認
if(!eregi(‘pdf’, $_FILES[‘upfile’][‘type’])){
//我們這裡假設你要上傳一個 pdf 文件
//if(!eregi(‘pdf’, $_FILES[‘upfile’][‘type’])) 這個是判斷上傳文件類型的,是不是 pdf 文件,當然,若是想判斷是否是 jpg 文件的話,將 pdf 改成 jpg 就可以了,即 if(!eregi(‘jpg’, $_FILES[‘upfile’][‘type’]))
//$_FILES[‘upfile’][‘type’] 是文件的 MIME 類型,如果瀏覽器提供此信息的話。例如“image/gif”
echo ‘The uploaded file is not an pdf File! Please upload a right file!’;
}else{
$filename = $_FILES[‘upfile’][‘name’];
//$filename = $_FILES[‘upfile’][‘name’],這裡是指定上傳後的文件名,這裡使用的仍是原來的文件名字,($_FILES[‘upfile’][‘name’] 是原始文件的名字)
if(move_uploaded_file($_FILES[“upfile”][“tmp_name”], dirname(__FILE__).”/upload_file/”.$filename)){
//這裡就是上傳文件
//dirname(__FILE__).”/upload_file/”.$file_name — 指定上傳的目標文件,假設你要上傳的目標文件夾upload_file 是和當前文件(upload.php)在同一文件夾下
//chmod(dirname(__FILE__).”/upload_file/”. $file_name, 0444);
//上面注釋掉的是用來改變上傳後文件的屬性,444 即只有執行和讀的權限(看情況加上)
echo $_FILES[“upfile”][“name”] . ” uploaded succeed!!!”;
}else{
echo “Can’t upload!!!”;
}
}
}else{
echo “File is not selected”;
}
//需要注意的:
/*
在你的 up.php 同級目錄下建立 upload_file 文件夾,來存放上傳的文件
在上傳之前要看一下 php 的配置文件:php.ini 中的三處設置
1.是否允許文件上傳:( file_uploads = On )
2.文件上傳的最大 size:( upload_max_filesize )
3.post 的最大 size ( post_max_size ) 這個大小設置成和 uplod_max_filesize 一樣大或比 uplod_max_filesize 大
*/
/*
這只是很簡單的一個文件上傳的例子,為了幫助理解,只是判斷了一下上傳文件的類型,還可以使用 if 語句來判斷上傳文件的大小($_FILES[‘upfile’][‘type’])),並進行提示控制等,相關可以查閱 $_FILE[‘upfile’] 數組的各個值分別代表什麼
*/
?
php上傳文件到文件夾
//這是給文件重命名
$one = explode(“.”,$_FILES[“file”][“name”]);
$file_name = $_FILES[“file”][“name”] = time().”.”.$one[1];
//這是上傳,用到move_uploaded_file,移動到:./assets/up/這個文件夾
move_uploaded_file($_FILES[“file”][“tmp_name”], “./assets/up/” . $file_name);
//這是往數據庫存放的 文件名稱
$information_img = “./assets/up/” . $file_name;
php文件上傳位置
$_FILE[“file”][“name”]返回的是上傳的文件在硬盤上的完整的路徑,而這個路徑在服務器上不一定存在,所以需要將上傳後的文件取出文件名和擴展名然後重命名即可
php如何實現文件上傳
所謂上傳就是把文件從你電腦本地複製到你的項目指定文件夾下。
但這有個中間過程,就是複製到系統指定的臨時文件夾生成臨時文件。
然後將臨時文件複製到你指定的文件夾下。
剩下的就是各種驗證了。
給你個圖片上傳方法
//上傳一張圖片
$pic = $_FILES[‘pic’];
function upload($pic){
$tmp_name = $pic[‘tmp_name’];
$name = $pic[‘name’];
$type = $pic[‘type’];
$size = $pic[‘size’];
if(!is_uploaded_file($tmp_name)) exit(‘不是上傳文件’);
//判斷是否是圖片
$mine = array(‘image/png’,’image/jpg’,’image/gif’,’image/jpeg’);
if(!in_array($type,$mine)) exit(‘圖片格式不正確’);
//判斷是否有錯誤碼
$error = $pic[‘error’];
switch ($error) {
case 1:
exit(“超出上傳文件的最大限制”);
case 2:
exit(“超出了指定的文件大小”);
case 3:
exit(“只有部分文件被上傳”);
case 4:
exit(“文件沒有被上傳”);
case 6:
exit(“找不到臨時文件夾”);
case 7:
exit(“文件寫入失敗”);
}
echo “================br/”;
echo “上傳文件名稱是:”.$name.”br/”;
echo “上傳文件類型是:”.$type.”br/”;
echo “上傳文件大小是:”.$size.”br/”;
echo “上傳後系統返回的值是:”.$error.”br/”;
echo “上傳文件的臨時存放路徑是:”.$tmp_name.”br/”;
echo”開始移動臨時文件”.’br’;
$des_name = ‘up/’.mt_rand().time().’.’.basename($type);
$res = move_uploaded_file($tmp_name, $des_name);
if($res){
echo “================br/”;
echo “上傳圖片成功”.’br’;
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/180009.html