整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          PHP文件上傳

          PHP文件上傳

          文件系統處理的作用:

          1. 所有的項目離不開文件處理

          2. 可以用文件長時間保存數據

          3. 建立緩存, 服務器中文件操作

          文件處理

          1. 文件類型

          以Linux為模型的, 在Windows只能獲取file, dir或unknow 三種類型

          在Linux/Unix下, block, char, dir, fifo, file, link, unknown和種型

          block :塊設置文件,磁盤分區,軟驅, cd-rom等

          char: 字符設備,I/O 以字符為單位, 鍵盤,打印機等

          dir: 目錄也是文件的一種

          fifo:

          file:

          link:

          unknown

          filetype("目錄或文件名")

          is_array();

          is_int();

          is_string();

          is_null;

          is_bool();

          is_dir -- 判斷給定文件名是否是一個目錄

          is_executable -- 判斷給定文件名是否可執行

          is_file -- 判斷給定文件名是否為一個正常的文件

          is_link -- 判斷給定文件名是否為一個符號連接

          is_readable -- 判斷給定文件名是否可讀

          is_uploaded_file -- 判斷文件是否是通過 HTTP POST 上傳的

          is_writable -- 判斷給定的文件名是否可寫

          is_writeable -- is_writable() 的別名


          2. 文件的屬性

          file_exists();

          filesize();

          is_readable();

          is_writeable();

          filectime();

          filemtime();

          fileactime();

          stat();

          3. 和文件路徑相關的函數

          相對路徑:相對于當前目錄的上級和下級目錄

          . 當前目錄

          .. 上一級目錄

          ./php/apache/index.php

          php/apahce/index.php

          login.php

          ./login.php

          ../images/tpl/logo.gif


          路徑分隔符號

          linux/Unix "/"

          windows "\"

          DIRECTORY_SEPARATOR 為不同平臺,在Windows \ Linux /

          不管是什么操作系統PHP的目錄分割符號都支技 / (Linux)

          在PHP和Apache配置文件中如果需要指定目錄,也使用/作為目錄符號

          絕對路徑:

          / 根路徑

          /images/index.php

          指的操作系統的根

          指的是存放網站的文檔根目錄

          分情況

          如果是在服務器中執行(通過PHP文件處理函數執行)路徑 則 “根”指的就是操作系統的根

          如果程序是下載的客戶端,再訪問服務器中的文件時,只有通過Apache訪問,“根”也就指的是文檔根目錄

          http://www.xsphp.com/logo.gif


          basename(url)

          dirname(url)

          pathinfo(url)


          4. 文件的操作相關的函數

          創建文件 touch("文件名")

          刪除文件 unlink("文件路徑");

          移動文件 為文件重新命名 rename("當前文件路徑", “目錄為文件路徑”)

          復制文件 copy("當前", “目標”);

          一定要有PHP執行這個文件權限, Apache, 一個用戶


          和權限設計有關的函數


          ls -l 或 ll

          _rwxrwxrwx 777

          _ 類型 _文件 d 表示是目錄 l b

          rwx 表這個文件的擁有者 r讀 w寫 x執行

          rwx 表這個文件的擁有者所在的組 r讀 w寫 x執行

          rwx 其它用戶對這個為文件的權限 r讀 w寫 x執行

          r 4

          w 2

          x 1

          7 7 7 4+2+1 4+2+1 4+2+1

          rwx rwx rwx

          644

          4+2 4 4

          rw_ r__ r__

          754

          chmod u=rwx,g=rw,o=x

          chmod 777 demo.php

          chmod 644 demo.html

          chown mysql demo.php

          chgrp apache demo.php

          chgrp -- 改變文件所屬的組

          chmod -- 改變文件模式

          chown -- 改變文件的所有者

          filegroup -- 取得文件的組

          fileowner -- 取得文件的所有者


          5. 文件的打開與關閉(讀文件中的內容, 向文件中寫內容)

          讀取文件中的內容

          file_get_contents(); //php5以上

          file()

          readfile();

          不足:全部讀取, 不能讀取部分,也不能指定的區域

          fopen(URL, mode)

          本地文件:

          ./test.txt

          c:/appserv/www/index.html

          /usr/local/apahce/index.html

          遠程:

          http://www.baidu.com

          fopen("./test.txt", "a+")

          fwrite fread

          r , 以只讀模式打開文件

          r+ 寫

          w, 以只寫的方式打開,如果文件不存在,則創建這個文件,并寫放內容,如果文件存在,并原來有內容,則會清除原文件中所有內容,再寫入(打開已有的重要文件)

          w+ 除了可以寫用fwrite, 還可以讀fread

          a 以只寫的方式打開,如果文件不存在,則創建這個文件,并寫放內容,如果文件存在,并原來有內容,則不清除原有文件內容,再原有文件內容的最后寫入新內容,(追加)

          a+除了可以寫用fwrite, 還可以讀fread

          b 以二進制模式打開文件(圖,電影)

          t 以文本模式打開文件

          fread() // 第一個是讀取指定長度的字符

          fgetc() //一次從文件中讀取一個字符

          fgets() //一次從文件中讀取一行字符


          feof($file); 如果讀取文件出錯,或到文件結束,則返回真

          寫入文件

          file_put_contents(“URL”, “內容字符串”); //php5以上

          如果文件不存在,則創建,并寫入內容

          如果文件存在,則刪除文件中的內容,重新寫放

          不足: 不能以追加的方式寫,也不能加鎖

          fopen()

          fwrite() 別名 fputs

          第一個參數是文件資源(fopen返回來的),第個參數是寫的內容


          本地文件:

          ./test.txt

          c:/appserv/www/index.html

          /usr/local/apahce/index.html

          遠程:

          http://www.baidu.com

          http://www.163.com

          ftp://user@pass:www.baidu.com/index.php

          6. 文件內部移動指針

          ftell($file) //返回當前文件針的位置

          fseek($file, 10);

          fread();

          rewind();


          7. 文件的鎖定一些機制處理


          目錄的處理

          opendir()

          readdir()

          closedir()

          rewinddir()

          創建目錄

          mkdir(); //創建一個空目錄

          刪除目錄

          rmdir(); //只可以刪除空目錄

          多數PHP程序都使用HTML表單從用戶那里獲取數據并計算結果。

          HTML表單的一些基本原則

          • 選擇適合于收集的數據類型和提供交互方式的控件。
          • 清楚標記每一個控件,這樣用戶就可以理解其功能。
          • 盡可能將標簽對齊。將控件的左邊緣對齊。
          • 將相關的標簽分組,并且通過設計中使用空白將每一個分組分開。
          • 表單上的控件順序應該類似于用戶操作他們的順序。

          創建基本HTML表單

          首先創造一個基本的HTML大綱,包含表單控件;然后將控件進行合并(HTML表單必須包括一個提交按鈕,用戶單擊它可以將表單數據發送到服務器。)一個單獨的HTML頁面可以包含多個表單。

          • 創建HTML結構

          包含表單的HTML結構和和普通的HTML結構一樣。

          <HTML>
            <HEAD>
            <TITLE>標題放在這</TITLE>
            </HEAD>
          <BODY>
            表單頁面放在這
            </BODY>
            </HTML>

          在包含表單的HTML頁面中可以使用任何HTML標簽。基本的表單使用FROM標簽來說明。該標簽中METHOD屬性接收GET或POST兩個值中的一個。ACTION屬性子明PHP腳本的url,該腳本可以收集通過表單收集的數據,可以是絕對路徑或者相對路徑

          <FORM METHOD="method" ACTION="url"> 
            中間可以放置表單控件
            </FORM>
          • 合并控件

          兩個常用的基本控件:文本框和提交按鈕。

          文本框:允許用戶鍵入信息以發送給PHP腳本。NAME屬性為文本提供名稱,PHP腳本可以通過名稱準確訪問其內容,因此它應該是唯一的且符合PHP變量命名規則(但不需要$符號),單標簽。VALUE屬性指明出現在提交按鈕上面的標題。創建方式如下:

          <INPUT TYPE="TEXT" NAME="text">

          提交按鈕:允許用戶將一個表單的內容發送到服務器,一個HTML表單對應應該有一個提交按鈕。

          示例:一個完整的HTML表單。

          <HTML>
            <HEAD>
            <TITLE>標題</TITLE>
            </HEAD>
          <BODY>
          <FORM METHOD="POST" ACTION="phpinfo.php">
          <INPUT TYPE="TEXT" NAME="user_name">
          <BR/>
          <BR/>
          <INPUT TYPE="TEXT" NAME="user_email">
          <BR/>
          <BR/>
          <INPUT TYPE="SUBMIT" VALUE="Send the Data">
          </FORM>
            </BODY>
            </HTML>


          • 使用多個表單

          可以在一個HTML頁面中包含多個表單,注意下一個表單的FORM開始之前需要結束前一個FORM表單。

          <HTML>
            <HEAD>
            <TITLE>標題</TITLE>
            </HEAD>
          <BODY>
            
          <FORM METHOD="POST" ACTION="phpinfo.php">
          <INPUT TYPE="TEXT" NAME="user_name">
          <BR/>
          <BR/>
          <INPUT TYPE="TEXT" NAME="user_email">
          <BR/>
          <BR/>
          <INPUT TYPE="SUBMIT" VALUE="Send the Data">
          <BR/>
          <BR/>
          </FORM>
          
          <FORM METHOD="POST" NAME="phpinfo.php">
          <INPUT TYPE="TEXT" NAME="user_name1">
          <BR/>
          <BR/>
          <INPUT TYPE="TEXT" NAME="user_email1">
          <BR/>
          <BR/>
          <INPUT TYPE="SUBMIT" VALUE="Send the Data1">
          </FORM>
          
            </BODY>
            </HTML>


          創建表單控件

          • 創建自定義的文本框

          文本框的屬性中,TYPE和NAME是必須的,其余是可選屬性。SIZE屬性用于設置文本框的可視大小;MAXLENGTH指明用戶鍵入字符的最大長度;VALUE給出了一個最初顯示在文本框中的值。

          <input type="text" name="" size="" maxlength="" value="">
          • 創建文本區域

          文本區域可以輸入多行文本。NAME和ROWS屬性是必須的。ROWS屬性表明了文本區域內可以看到的文本行數,充滿時會滾動。COLS屬性指明可見文本列數與行數類似。WRAP屬性指明文本區域內單詞換行的方式,可以指定如下值。該標簽為雙標簽。

          說明

          off

          禁止單詞換行但用戶可以輸入換行符強制換行

          virtual/soft

          各行顯示為換行,但是換行并沒有被發送到服務器

          physica/hard

          啟用了單詞換行

          <inputarea name="" rows="" cols="" wrap="">
          • 創建密碼框

          創建密碼框的語法與文本框相同,但要將TYPE屬性指定為PASSWORD而不是TYPE。

          <input type="password" name="" size="" maxlength="" value="">
          • 創建復選框

          取兩個值中的一個,即二選一。TYPE屬性是必須的,checked屬性出現,該復選框默認情況會被選定。value屬性指定復選框被選定情況下被發送到服務器的值,默認發送on值。法如下:

          <input type="checkbox" name="" checked value="">
          • 創建單選按鈕

          語法與復選框屬性含義相同,但是TYPE屬性的值必須是RADIO,NAME屬性是必須的。

          <input type="radio" name="" checked value="">
          • 創建列表框

          用戶可以選擇一個或者多個選項,它是一個滾動菜單。

          <select name="" multipile size="">options go here</select>

          name屬性是必須的,multipile屬性指明用戶可以通過按下crtl鍵并單擊多個選項來選擇它們

          列表框的單選行為可作為單選按鈕。

          <option selected value="text"></options>
          • 創建隱藏域
          <input type="hidden" name="text"value="">
          • 實現上傳文件的HTML表單
          <input type="FILE" name="name" accept="time" value="text">

          其中type屬性是必須的。格式通過使用MIME碼指定。常用的格式如下:


          超文本標記語言文本 .html,.html text/html

            普通文本 :txt text/plain

            word文檔:application/msword

            RTF文本 :rtf application/rtf

            GIF圖形 :gif image/gif

            JPEG圖形 :jpeg,

            jpg: image/jpeg

            au聲音文件:au audio/basic

            MIDI音樂文件 :mid,.midi audio/midi,audio/x-midi

            RealAudio音樂文件 .ra, .ram audio/x-pn-realaudio

            MPEG文件 .mpg,.mpeg video/mpeg

            AVI文件 .avi video/x-msvideo

            GZIP文件 .gz application/x-gzip

            壓縮文件.rar application/octet-stream

            壓縮文件.zip application/x-zip-compressed

            TAR文件 .tar application/x-tar


          更多提交表單的信息

          • 使用圖像提交數據
          <input type="image" src="url" name="text" align="align">
          • 創建重置按鈕
          <input type="reset" value="text">

          TML DOM INPUT FILE 大文件上傳源代碼,B/S大附件上傳,支持斷點續傳,VUE處理文件流實現上傳下載,VUE 上傳大型文件插件(VUE上傳視頻插件)

          之前在網上也搜索過相關的資料,在論壇里面也與網絡交流過,但是給出的方案都不太令人滿意。一方面論壇里面的網頁都沒有真實的項目經驗。幾乎大部分的網頁都是在紙上談兵,很多問題完全是憑想象在回答。

          后端PHP5,PHP6,PHP7,PHP8,ThinkPHP,

          服務器支持Linux,Windows,macOS,CentOS,中標麒麟,銀河麒麟,統信,龍芯,華為鯤鵬,

          數據庫支持MySQL,達夢數據庫,人大金倉

          需要提供前端源碼,后端源碼,控件源碼

          需要提供7*24小時技術支持,長期技術支持,長期維護服務

          需要提供手機,QQ,微信,企業微信,電子郵箱等聯系方式

          需要支持包含IE在內的全部瀏覽器

          終端需要支持Windows,macOS,Linux,信創國產化環境,中標麒麟,銀河麒麟,統信UOS,龍芯,華為

          功能需要支持10G,50G,100G大文件上傳和斷點續傳,刷新續傳,重啟續傳

          文件夾包含1W,10W,100W個文件和層級結構

          支持超大文件分片,分段,分塊,分割上傳下載,斷點續傳

          支持文件夾上傳,下載斷點續傳,支持文件夾層級結構,層級結構信息保存到數據庫,下載的時候同樣保留層級結構

          支持加密上傳,下載加密,端到端加密,國密SM4加密算法,數據加密傳輸,傳輸過程中要保證數據是加密的。1.下載示例

          https://gitee.com/xproer/up6-vue-cli



          將up6組件復制到項目中

          示例中已經包含此目錄



          1.引入up6組件



          2.配置接口地址

          接口地址分別對應:文件初始化,文件數據上傳,文件進度,文件上傳完畢,文件刪除,文件夾初始化,文件夾刪除,文件列表

          參考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de



          3.處理事件



          啟動測試



          啟動成功



          效果



          數據庫



          源碼工程文檔:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra

          源碼報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl

          OEM版報價單:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a

          控件源碼下載:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc


          主站蜘蛛池模板: 国产一区二区在线|播放| 国产裸体歌舞一区二区| 人妻体体内射精一区二区| 国产一区二区不卡在线播放| 无码人妻久久一区二区三区蜜桃 | 亚洲一区中文字幕久久| 香蕉免费一区二区三区| 亚洲变态另类一区二区三区| 3d动漫精品啪啪一区二区免费| 91精品国产一区| 精品理论片一区二区三区| 日本亚洲成高清一区二区三区| 国产精品女同一区二区| 国产精品久久久久久一区二区三区 | 国产一区二区三区不卡在线看| 亚洲国产综合无码一区二区二三区| 国产精品视频一区二区噜噜 | 后入内射国产一区二区| 精品福利一区二区三区| 精品一区二区三区中文字幕| 国产高清视频一区二区| 国产美女精品一区二区三区| 亚洲综合无码精品一区二区三区| 精品综合一区二区三区| 78成人精品电影在线播放日韩精品电影一区亚洲| 色综合视频一区二区三区| 亚洲AV无码一区二区三区DV | 无码精品人妻一区| 精品亚洲AV无码一区二区三区| 亚洲午夜电影一区二区三区| 国产在线视频一区二区三区| 日韩视频在线一区| 中文字幕一区二区人妻| 麻豆果冻传媒2021精品传媒一区下载 | 国产精品一区在线麻豆| 精品国产不卡一区二区三区| 无码人妻aⅴ一区二区三区| 无码人妻精品一区二区三18禁 | 国产一区二区草草影院| 一区二区三区日韩| 国产亚洲一区二区三区在线观看|