欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2016年05月29日 08:56:26   作者:my筆觸  
這篇文章主要介紹了解讀PHP中上傳文件的處理問題的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下

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

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

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

<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規(guī)定了數(shù)據(jù)在發(fā)送給服務(wù)器的時候采用什么編碼格式。它有三個值:

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

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

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

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

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

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

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

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

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

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

<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>

相關(guān)文章

  • PHP date()格式MySQL中插入datetime方法

    PHP date()格式MySQL中插入datetime方法

    在本篇文章里小編給大家分享了關(guān)于PHP date()格式MySQL中插入datetime方法,有需要的朋友們學(xué)習(xí)下。
    2019-01-01
  • 淺談PHP中如何實現(xiàn)Hook機制

    淺談PHP中如何實現(xiàn)Hook機制

    本篇文章主要介紹了淺談PHP中如何實現(xiàn)Hook機制,詳細的介紹了Hook機制的原理和實現(xiàn)過程,具有一定的參考價值,有興趣的可以了解一下
    2017-11-11
  • phpstudy隱藏index.php的方法

    phpstudy隱藏index.php的方法

    這篇文章主要介紹了phpstudy隱藏index.php的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-09-09
  • PHP正則表達式之捕獲組與非捕獲組

    PHP正則表達式之捕獲組與非捕獲組

    這篇文章主要介紹了PHP正則表達式之捕獲組與非捕獲組的相關(guān)資料,需要的朋友可以參考下
    2015-11-11
  • PHP實現(xiàn)給用戶發(fā)微信消息提醒功能

    PHP實現(xiàn)給用戶發(fā)微信消息提醒功能

    這篇文章主要為大家介紹了PHP實現(xiàn)給用戶發(fā)微信消息提醒功能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • laravel項目利用twemproxy部署redis集群的完整步驟

    laravel項目利用twemproxy部署redis集群的完整步驟

    Twemproxy是一個代理服務(wù)器,可以通過它減少Memcached或Redis服務(wù)器所打開的連接數(shù)。下面這篇文章主要給大家介紹了關(guān)于laravel項目利用twemproxy部署redis集群的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2018-05-05
  • laravel 輸出最后執(zhí)行sql 附:whereIn的使用方法

    laravel 輸出最后執(zhí)行sql 附:whereIn的使用方法

    今天小編就為大家分享一篇laravel 輸出最后執(zhí)行sql 附:whereIn的使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • 實現(xiàn)PHP中session存儲及刪除變量

    實現(xiàn)PHP中session存儲及刪除變量

    在本篇文章中我們給大家分享了PHP中session如何存儲及刪除變量的相關(guān)知識點內(nèi)容,有興趣的朋友們參考下。
    2018-10-10
  • PHP實現(xiàn)在線閱讀PDF文件的方法

    PHP實現(xiàn)在線閱讀PDF文件的方法

    這篇文章主要介紹了PHP實現(xiàn)在線閱讀PDF文件的方法,十分的簡單實用,有需要的小伙伴可以參考下。
    2015-06-06
  • php文件操作實例代碼

    php文件操作實例代碼

    php中的文件操作比asp要簡單很多,而且功能強大。學(xué)習(xí)php的朋友可以參考下
    2012-05-05

最新評論