創(chuàng)建一個(gè)文件表單允許用戶從上傳文件是非常有用的
2021-10-16
為了網(wǎng)站的安全,絕對(duì)不允許上傳php文件。如果有人進(jìn)入你的后臺(tái),上傳了一個(gè)php文件,你的網(wǎng)站源代碼都會(huì)保存到他的,你可以直接打包看看你的代碼。因此php文件上傳代碼,您必須控制上傳的目錄和文件類型。一般只能上傳圖片。
創(chuàng)建文件上傳表單
允許用戶從表單上傳文件非常有用。
看看這個(gè)用于上傳文件的 HTML 表單:
復(fù)制代碼代碼如下:
請(qǐng)注意有關(guān)此表格的以下信息:
標(biāo)簽的屬性指定提交表單時(shí)要使用的內(nèi)容類型。當(dāng)表單需要二進(jìn)制數(shù)據(jù),如文件內(nèi)容時(shí)php文件上傳代碼,請(qǐng)使用“/form-data”。
標(biāo)簽的 type="file" 屬性指定輸入應(yīng)作為文件處理。例如,在瀏覽器中預(yù)覽時(shí),您會(huì)在輸入框旁邊看到一個(gè)瀏覽按鈕。
注意:允許用戶上傳文件是一個(gè)巨大的安全風(fēng)險(xiǎn)。請(qǐng)只允許受信任的用戶執(zhí)行文件上傳操作。
創(chuàng)建上傳腳本
“.php”文件包含上傳文件的代碼:
復(fù)制代碼代碼如下:
通過使用 PHP 的全局?jǐn)?shù)組 $,您可以將文件從客戶端計(jì)算機(jī)上傳到遠(yuǎn)程服務(wù)器。
第一個(gè)參數(shù)是表單的名稱,第二個(gè)下標(biāo)可以是“名稱”、“類型”、“大小”、“”或“”。像這樣:
復(fù)制代碼代碼如下:
$["file"]["name"]-上傳文件的名稱
$["file"]["type"]-上傳文件的類型
$["file"]["size"]-上傳文件的大小,以字節(jié)為單位
$["file"][""]-存儲(chǔ)在服務(wù)器上的文件的臨時(shí)副本的名稱
$["file"][""]-文件上傳導(dǎo)致的錯(cuò)誤碼
這是一種非常簡(jiǎn)單的上傳文件的方法。出于安全原因,您應(yīng)該增加對(duì)誰有權(quán)上傳文件的限制。
上傳限制
在此腳本中,我們添加了對(duì)文件上傳的限制。用戶只能上傳 .gif 或 .jpeg 文件,且文件大小必須小于 20 kb:
復(fù)制代碼代碼如下:
注意:對(duì)于IE,必須識(shí)別jpg文件的類型,對(duì)于jpeg。
保存上傳的文件
上面的示例在服務(wù)器上的 PHP 臨時(shí)文件夾中創(chuàng)建了上傳文件的臨時(shí)副本。
這個(gè)臨時(shí)復(fù)制的文件將在腳本結(jié)束時(shí)消失。要保存上傳的文件,我們需要將其復(fù)制到另一個(gè)位置:
復(fù)制代碼代碼如下:
上述腳本檢測(cè)文件是否已經(jīng)存在,如果不存在,則將文件復(fù)制到指定文件夾。
注意:本示例將文件保存到名為“”的新文件夾中。您可能感興趣的文章: