html免php上傳代碼,php 上傳

本文目錄一覽:

怎麼通過HTML+PHP上傳文件到服務器?

HTML代碼:

body

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

label選擇圖片文件/label

input name=”imgfile” type=”file” accept=”image/gif, image/jpeg”/

input name=”upload” type=”submit” value=”上傳” /

/form

/body

PHP代碼:

if (isset($_FILES[‘imgfile’])

is_uploaded_file($_FILES[‘imgfile’][‘tmp_name’]))

{

$imgFile = $_FILES[‘imgfile’];

$upErr = $imgFile[‘error’];

if ($upErr == 0)

{

$imgType = $imgFile[‘type’]; //文件類型。

/* 判斷文件類型,這個例子里僅支持jpg和gif類型的圖片文件。*/

if ($imgType == ‘image/jpeg’

|| $imgType == ‘image/gif’)

{

$imgFileName = $imgFile[‘name’];

$imgSize = $imgFile[‘size’];

$imgTmpFile = $imgFile[‘tmp_name’];

/*

將文件從臨時文件夾移到上傳文件夾中。

注意:upfile這個文件夾必須先創建好,不然會報錯。

*/

move_uploaded_file($imgTmpFile, ‘upfile/’.$imgFileName);

/*顯示上傳後的文件的信息。*/

$strPrompt = sprintf(“文件%s上傳成功br”

. “文件大小: %s字節br”

. “img src=’upfile/%s'”

, $imgFileName, $imgSize, $imgFileName

);

echo $strPrompt;

}

else

{

echo “請選擇jpg或gif文件,不支持其它類型的文件。”;

}

}

else

{

echo “文件上傳失敗。br”;

switch ($upErr)

{

case 1:

echo “超過了php.ini中設置的上傳文件大小。”;

break;

case 2:

echo “超過了MAX_FILE_SIZE選項指定的文件大小。”;

break;

case 3:

echo “文件只有部分被上傳。”;

break;

case 4:

echo “文件未被上傳。”;

break;

case 5:

echo “上傳文件大小為0”;

break;

}

}

}

else

{

}

html上傳文件代碼

在HTML標準中,XMLHttpRequest對象被重新定義,被稱為“XMLHttpRequest Level 2”,其中包含了以下5個新特性:

1、支持上傳、下載字節流,比如文件、blob以及表單數據。

2、增加了上傳、下載中的進度事件。

3、跨域請求的支持。

4、允許發送匿名請求(即不發送HTTP的Referer部分)。

5、允許設置請求的超時。

在這篇教程中,我們主要關注第一和第二項特性,尤其是第二項——它能夠提供我們想要的上傳進度。和之前的方案不同,這個方案並不要求服務器作出特殊的設置,因此大家邊看教程就可以邊動手試試了。

上面圖示的就是我們能夠實現的內容:

1、顯示上傳的文件信息,比如文件名、類型、尺寸。

2、一個能夠顯示真實進度的進度條。

3、上傳的速度。

4、剩餘時間的估算。

5、已上傳的數據量。

6、上傳結束後服務器返回的響應。

另外,憑藉XMLHttpRequest,我們的上傳過程整個都是異步的,因此用戶在上傳文件的時候,依然可以操作網頁當中的其它元素,並不需要專門等待上傳的完成。而在上傳結束後,我們能夠獲取服務器發回的響應,因此整個上傳過程都顯得相當順理成章。

求html多文件上傳代碼 可參考以下代碼

從技術角度看,你只需要在input控件中標註multiple標籤就夠了

以下就是演示代碼:

!DOCTYPE html

html

head

title

Solution 4-5: Sending multiple files

/title

/head

body

form id=”myForm”

fieldset

legendSolution 4-5: Sending multiple files/legend

labelUpload one or more files:/label

input type=”file” name=”multipleFileUpload” multiple /

/fieldset

/form

/body

/html

重要心得

用戶選擇的多個文件傳遞到服務端後將會被服務端的編程語言去處理的。有些編程語言,比如PHP需要你為name標籤的字符添加方括號來支持傳輸多個文件。

1input name=”filesUploaded[]” type=”file” multiple /

這樣,PHP將構造一個數據類型的數組,來容納一個個上傳到服務器的文件。相反如果你在HTML標籤中不適用方括號的話,PHP將僅僅只接受到最後一個文件。

寫一個html+php代碼,實現客戶基本信息提交以及支持客戶上傳圖片,並且我可以在自己的獨立服務器中查知

寫入數據庫亂碼?很簡單的

1在php頁面的head之間加入meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″

2在php代碼鏈接數據庫之後加一行

mysql_select_db(‘數據庫名’); //選擇數據庫之後

mysql_query(“SET NAMES UTF8”);

目的是保持頁面和數據庫編碼一致

html網頁上傳文件的完整代碼

html前端代碼:

html  

body  

    form action=”upload-file.php” method=”post”  

        enctype=”multipart/form-data”  

        label for=”file”文件名:/label  

        input type=”file” name=”file” id=”file” /  

        br/  

        input type=”submit” name=”submit” value=”提交” /  

    /form  

/body  

/html

如果是ubuntu上部署apache2,你應該是php開發者吧,action=”upload-file.php

” 中的upload-file.php改為你自己的後端php接收文件的邏輯代碼即可!

這裡提供upload-file.php後端接收文件的代碼:

?php  

if ($_FILES[“file”][“error”]  0)  

  {  

  echo “錯誤: ” . $_FILES[“file”][“error”] . “br /”;  

  }  

else  

  {  

  echo “文件名: ” . $_FILES[“file”][“name”] . “br /”;  

  echo “類型: ” . $_FILES[“file”][“type”] . “br /”;  

  echo “大小: ” . ($_FILES[“file”][“size”] / 1024) . ” Kbbr /”;   

  }  

 if (file_exists(“upload/” . $_FILES[“file”][“name”]))  

    {  

      echo $_FILES[“file”][“name”] . ” 文件已經存在. “;  

    }  

else  

    {  

      move_uploaded_file($_FILES[“file”][“tmp_name”],  

      “upload/” . $_FILES[“file”][“name”]);  

      echo “文件已經被存儲到: ” . “upload/” . $_FILES[“file”][“name”];  

    }   

?

代碼很簡單,我相信你應該能看懂,這裡的 文件夾 upload/ 需要你自己手動創建,請確保文件路徑正取!

我也是web開發者,有問題可繼續追問我!或是加我工作室QQ(540144097),在群里向我提問!有問必答,望採納……

求實現php文件上傳代碼

PHP上傳文件非常簡單,你需要一個上傳的HTML文件(FORM),一個保存文件的PHP文件(保存),一個查詢上傳文件清單的工具。

真正實現完整功能的上傳和管理需要使用數據庫,我的網站俱樂部裡面上傳文件一開放很快就傳了幾萬個文件。

最簡單的方法不用數據庫,可以用一個PHP文件實現,這個文件列出指定目錄下的所有文件,然後提供一個上傳的FORM,最後檢測是否提交了FORM數據,是就保存文件到指定位置。

PHP手冊第39章有關於處理這些問題的說明,我複製粘貼如下:

 

上一頁  V. 特點 下一頁 

——————————————————————————–

第 39 章 文件上傳處理

目錄

POST 方法上傳

錯誤信息說明

常見缺陷

上傳多個文件

對 PUT 方法的支持

POST 方法上傳

本特性可以使用戶上傳文本和二進制文件。用 PHP 的認證和文件操作函數,可以完全控制允許哪些人上傳以及文件上傳後怎樣處理。 

PHP 能夠接受任何來自符合 RFC-1867 標準的瀏覽器(包括 Netscape Navigator 3 及更高版本,打了補丁的 Microsoft Internet Explorer 3 或者更高版本)上傳的文件。 

相關的設置: 請參閱 php.ini 的 file_uploads,upload_max_filesize,upload_tmp_dirpost_max_size 以及 max_input_time 設置選項。 

請注意 PHP 也支持 PUT 方法的文件上傳,Netscape Composer 和 W3C 的 Amaya 客戶端使用這種方法。請參閱對 PUT 方法的支持以獲取更多信息。 

例 39.1. 文件上傳表單

可以如下建立一個特殊的表單來支持文件上傳: 

    

!– The data encoding type, enctype, MUST be specified as below —

form enctype=”multipart/form-data” action=”__URL__” method=”POST”

    !– MAX_FILE_SIZE must precede the file input field —

    input type=”hidden” name=”MAX_FILE_SIZE” value=”30000″ /

    !– Name of input element determines name in $_FILES array —

    Send this file: input name=”userfile” type=”file” /

    input type=”submit” value=”Send File” /

/form

    

以上範例中的 __URL__ 應該被換掉,指向一個真實的 PHP 文件。 

MAX_FILE_SIZE 隱藏字段(單位為字節)必須放在文件輸入字段之前,其值為接收文件的最大尺寸。這是對瀏覽器的一個建議,PHP 也會檢查此項。在瀏覽器端可以簡單繞過此設置,因此不要指望用此特性來阻擋大文件。實際上,PHP 設置中的上傳文件最大值是不會失效的。但是最好還是在表單中加上此項目,因為它可以避免用戶在花時間等待上傳大文件之後才發現文件過大上傳失敗的麻煩。 

注意: 要確保文件上傳表單的屬性是 enctype=”multipart/form-data”,否則文件上傳不了。 

全局變量 $_FILES 自 PHP 4.1.0 起存在(在更早的版本中用 $HTTP_POST_FILES 替代)。此數組包含有所有上傳的文件信息。 

以上範例中 $_FILES 數組的內容如下所示。我們假設文件上傳字段的名稱如上例所示,為 userfile。名稱可隨意命名。 

$_FILES[‘userfile’][‘name’]

客戶端機器文件的原名稱。 

$_FILES[‘userfile’][‘type’]

文件的 MIME 類型,如果瀏覽器提供此信息的話。一個例子是“image/gif”。不過此 MIME 類型在 PHP 端並不檢查,因此不要想當然認為有這個值。 

$_FILES[‘userfile’][‘size’]

已上傳文件的大小,單位為字節。 

$_FILES[‘userfile’][‘tmp_name’]

文件被上傳後在服務端儲存的臨時文件名。 

$_FILES[‘userfile’][‘error’]

和該文件上傳相關的錯誤代碼。此項目是在 PHP 4.2.0 版本中增加的。 

文件被上傳後,默認地會被儲存到服務端的默認臨時目錄中,除非 php.ini 中的 upload_tmp_dir 設置為其它的路徑。服務端的默認臨時目錄可以通過更改 PHP 運行環境的環境變量 TMPDIR 來重新設置,但是在 PHP 腳本內部通過運行 putenv() 函數來設置是不起作用的。該環境變量也可以用來確認其它的操作也是在上傳的文件上進行的。 

例 39.2. 使文件上傳生效

請查閱函數 is_uploaded_file() 和 move_uploaded_file() 以獲取進一步的信息。以下範例處理由表單提供的文件上傳。 

?php

// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead

// of $_FILES.

$uploaddir = ‘/var/www/uploads/’;

$uploadfile = $uploaddir . basename($_FILES[‘userfile’][‘name’]);

echo ‘pre’;

if (move_uploaded_file($_FILES[‘userfile’][‘tmp_name’], $uploadfile)) {

    echo “File is valid, and was successfully uploaded.\n”;

} else {

    echo “Possible file upload attack!\n”;

}

echo ‘Here is some more debugging info:’;

print_r($_FILES);

print “/pre”;

接受上傳文件的 PHP 腳本為了決定接下來要對該文件進行哪些操作,應該實現任何邏輯上必要的檢查。例如可以用 $_FILES[‘userfile’][‘size’] 變量來排除過大或過小的文件,也可以通過 $_FILES[‘userfile’][‘type’] 變量來排除文件類型和某種標準不相符合的文件,但只把這個當作一系列檢查中的第一步,因為此值完全由客戶端控制而在 PHP 端並不檢查。自 PHP 4.2.0 起,還可以通過 $_FILES[‘userfile’][‘error’] 變量來根據不同的錯誤代碼來計划下一步如何處理。不管怎樣,要麼將該文件從臨時目錄中刪除,要麼將其移動到其它的地方。 

如果表單中沒有選擇上傳的文件,則 PHP 變量 $_FILES[‘userfile’][‘size’] 的值將為 0,$_FILES[‘userfile’][‘tmp_name’] 將為空。 

如果該文件沒有被移動到其它地方也沒有被改名,則該文件將在表單請求結束時被刪除。 

例 39.3. 上傳一組文件

PHP 的 HTML 數組特性甚至支持文件類型。 

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

pPictures:

input type=”file” name=”pictures[]” /

input type=”file” name=”pictures[]” /

input type=”file” name=”pictures[]” /

input type=”submit” value=”Send” /

/p

/form

   

?php

foreach ($_FILES[“pictures”][“error”] as $key = $error) {

    if ($error == UPLOAD_ERR_OK) {

        $tmp_name = $_FILES[“pictures”][“tmp_name”][$key];

        $name = $_FILES[“pictures”][“name”][$key];

        move_uploaded_file($tmp_name, “data/$name”);

    }

}

——————————————————————————–

上一頁  上一級 下一頁 

38. 處理 XForms  起始頁 錯誤信息說明 

原創文章,作者:PSPV,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134150.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
PSPV的頭像PSPV
上一篇 2024-10-04 00:04
下一篇 2024-10-04 00:04

相關推薦

  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

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

    編程 2025-04-29
  • Python字符串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字符串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字符串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在着手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • Python愛心代碼動態

    本文將從多個方面詳細闡述Python愛心代碼動態,包括實現基本原理、應用場景、代碼示例等。 一、實現基本原理 Python愛心代碼動態使用turtle模塊實現。在繪製一個心形的基礎…

    編程 2025-04-29

發表回復

登錄後才能評論