一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 解讀PHP中上傳文件的處理問題

解讀PHP中上傳文件的處理問題

2021-01-24 15:51my筆觸 PHP教程

這篇文章主要介紹了解讀PHP中上傳文件的處理問題的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

我們在瀏覽器中編輯自己的信息,會遇到上傳頭像;在文庫中,我們會上傳文檔......到處存在“上傳”這個詞。

  php是最好的語言(其他語言的程序猿們不要打我...)。php在處理交互方面有天然的優勢,自然有強大的函數來處理上傳文件。

  和提交一般的數據一樣,上傳文件也需要表單。下面建立一個特殊的表單來上傳文件。

?
1
2
3
4
5
6
7
<form enctype="multipart/form-data" action="upload_file.php" name="upload_form" method="post">
<!--max_file_size必須在所有的input之前,以后要是想用上傳表單,可以在form之后就寫隱藏的input-->
<input type="hidden" name="max_file_size" value=""/>
上傳的文件:
<input type="file" name="userfile"/>
<input type="submit" name="sub_button" value="上傳文件的提交按鈕"/>
</form>

  ok,我們分析一下這個代碼段。

  以上的enctype規定了數據在發送給服務器的時候采用什么編碼格式。它有三個值:

解讀PHP中上傳文件的處理問題

  max_file_size隱藏字段(單位為字節)必須放在文件輸入字段之前,其值為文件的最大尺寸。這是對瀏覽器的一個建議,php也會檢查此項。不過在瀏覽器端可以繞過這個障礙,因此不要指望用它來阻擋大文件。但是文件最大值受php.ini中的post_max_size= (number)m的限制。但是最好還是加上這個項目,它可以避免用戶在花時間等待上傳大文件之后才發現大文件上傳失敗的麻煩。

  在用戶提交文件表單之后,服務器端就可以接受數據了。php中有全局變量$_files來處理文件,假設上傳字段名稱為userfile(可以在字段中隨意更改)。

  $_files['userfile']['name'] 客戶端文件的原名稱。
  $_files['userfile']['type'] 文件的mime類型,這個在php端并不檢查,因此這個值還不一定有。
  $_files['userfile']['size'] 上傳的文件的大小(單位字節)。
        $_files['userfile']['tmp_name'] 文件上傳后在服務器端存儲的臨時文件名。
  $_files['userfile']['error'] 和該文件上傳相關的錯誤代碼。如果上傳成功,值為0.

  文件在上傳后,默認存儲到服務器默認臨時目錄中,在php.ini中的upload_tmp_dir設置為其他路徑。

  在這里還得說說一個move_uploaded_file()函數:

解讀PHP中上傳文件的處理問題

  這個函數檢查并確保由 file 指定的文件是合法的上傳文件(即通過 php 的 http post 上傳機制所上傳的)。如果文件合法,則將其移動為由 newloc 指定的文件。

  如果 file 不是合法的上傳文件,不會出現任何操作,move_uploaded_file() 將返回 false。

  如果 file 是合法的上傳文件,但出于某些原因無法移動,不會出現任何操作,move_uploaded_file() 將返回 false,此外還會發出一條警告。

  這種檢查顯得格外重要,如果上傳的文件有可能會造成對用戶或本系統的其他用戶顯示其內容的話。

  下面是一個php上傳文件實例:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<b>上傳文件處理</b>
<?php
if (isset($_files['userfile'])) {
$uploaddir = 'upload/';
$uploadfile = $uploaddir . basename($_files['userfile']['name']);
echo '<pre>';
if (move_uploaded_file($_files['userfile']['tmp_name'], $uploadfile)) {
echo '上傳文件成功'.'<br>';
} else {
echo '上傳文件失敗'.'<br>';
}
echo '這是上傳文件的一些信息:' . '<br>';
print_r($_files);
echo '<pre>';
die();
}
?>
<b>上傳表單</b>
<!--表單中的enctype屬,必須和以下定義保持一致-->
<form enctype="multipart/form-data" action="upload_file.php" name="upload_form" method="post">
<!--max_file_size必須在所有的input之前,以后要是想用上傳表單,可以在form之后就寫隱藏的input-->
<input type="hidden" name="max_file_size" value=""/>
上傳的文件:
<input type="file" name="userfile"/>
<hr/>
<input type="submit" name="sub_button" value="上傳文件的提交按鈕"/>
</form>

解讀PHP中上傳文件的處理問題

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美vpswindows | 2048论坛永久入口 原创合集 | 日本sss| 亚洲99久久无色码中文字幕 | 女海盗斯蒂内塔的复仇2免费观看 | 色老头影视 | 亚洲高清成人 | 99av麻豆| 国产一级一级片 | 我年轻漂亮的继坶2中字在线播放 | 国产精品吹潮香蕉在线观看 | 俄罗斯激情性孕妇孕交大全 | 国产精品对白刺激久久久 | 女人把私密部位张开让男人桶 | 欧美在线成人免费国产 | 亚洲乱亚洲乱妇41p国产成人 | 亚洲精品一区二区三区在线看 | 成人黄色免费网站 | 成人做视频免费 | 秋霞717理论片在线观看 | 蜜桃影像传媒推广 | 极品美女穴 | 暖暖 免费 高清 日本 在线 | 3d动漫美女被吸乳羞羞视频 | 国产尤物视频 | 久草在线福利视频在线播放 | 午夜视频一区二区 | 天干夜天天夜天干天ww | 成年性香蕉漫画在线观看 | 国产三级精品久久三级国专区 | 国模一区二区三区视频一 | 狠狠色婷婷日日综合五月 | 69热精品视频在线看影院 | 91精品国产综合久 | 日本高清在线播放 | 免费成年视频 | 亚洲精品免费在线观看 | 99视频都是精品热在线播放 | 国产欧美一区二区三区精品 | 青青青视频蜜桃一区二区 | h视频免费高清在线观看 |