php文件上傳在哪裡(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-tw/n/180009.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-22 05:09
下一篇 2024-11-22 05:10

相關推薦

發表回復

登錄後才能評論