文件上傳系統php,實現文件上傳和下載

本文目錄一覽:

關於文件上傳(PHP)

?

if(is_uploaded_file($_FILES[‘upfile’][‘tmp_name’])){

$upfile=$_FILES[“upfile”];

$name = $upfile[“name”];

$type = $upfile[“type”];

$size = $upfile[“size”];

$tmp_name = $upfile[“tmp_name”];

//上傳文件類型列表

switch ($type) {

case ‘image/pjpeg’ : $ok=1;

break;

case ‘image/jpeg’ : $ok=1;

break;

case ‘image/gif’ : $ok=1;

break;

case ‘image/png’ : $ok=1;

break;

}

if($ok){

move_uploaded_file($tmp_name,’up/’.$name);

}

}

?

form action=”” enctype=”multipart/form-data” method=”post” name=”upform”

上傳文件:

input type=”file” name=”upfile”/

input type=”submit” value=”上傳”/br

/form

如何在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如何實現文件上傳

所謂上傳就是把文件從你電腦本地複製到你的項目指定文件夾下。

但這有個中間過程,就是複製到系統指定的臨時文件夾生成臨時文件。

然後將臨時文件複製到你指定的文件夾下。

剩下的就是各種驗證了。

給你個圖片上傳方法

//上傳一張圖片

$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/157555.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-18 20:00
下一篇 2024-11-18 20:00

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Deepin系統分區設置教程

    本教程將會詳細介紹Deepin系統如何進行分區設置,分享多種方式讓您了解如何規劃您的硬碟。 一、分區的基本知識 在進行Deepin系統分區設置之前,我們需要了解一些基本分區概念。 …

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29
  • 如何在樹莓派上安裝Windows 7系統?

    隨著樹莓派的普及,許多用戶想在樹莓派上安裝Windows 7操作系統。 一、準備工作 在開始之前,需要準備以下材料: 1.樹莓派4B一台; 2.一張8GB以上的SD卡; 3.下載並…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 分銷系統開發搭建

    本文主要介紹如何搭建一套完整的分銷系統,從需求分析、技術選型、開發、部署等方面進行說明。 一、需求分析 在進行分銷系統的開發之前,我們首先需要對系統進行需求分析。一般來說,分銷系統…

    編程 2025-04-29
  • 雲盤開源系統哪個好?

    本文將會介紹幾種目前主流的雲盤開源系統,從不同方面對它們做出分析比較,以此來確定哪個雲盤開源系統是最適合您的。 一、Seafile Seafile是一款非常出色的雲盤開源系統,它的…

    編程 2025-04-28
  • EulerOS V2R7:企業級開發首選系統

    本文將從多個方面為您介紹EulerOS V2R7,包括系統簡介、安全性、易用性、靈活性和應用場景等。 一、系統簡介 EulerOS V2R7是一個華為公司開發的企業級操作系統,該系…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 基於Python點餐系統的實現

    在當前瞬息萬變的社會,餐飲行業也在加速發展,如何更好地為客戶提供更加便捷、高效、個性化的點餐服務,成為每個餐飲企業需要思考的問題。本文以基於Python的點餐系統為例,通過優化用戶…

    編程 2025-04-28

發表回復

登錄後才能評論