站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        PHP實(shí)現(xiàn)文件分片上傳的方法

        PHP實(shí)現(xiàn)文件分片上傳的方法

        PHP用超級(jí)全局變量數(shù)組$_FILES來(lái)記錄文件上傳相關(guān)信息的。

        1.file_uploads=on/off

        是否允許通過(guò)http方式上傳文件

        2.max_execution_time=30

        允許腳本最大執(zhí)行時(shí)間,超過(guò)這個(gè)時(shí)間就會(huì)報(bào)錯(cuò)

        3.memory_limit=50M

        設(shè)置腳本可以分配的最大內(nèi)存量,防止失控腳本占用過(guò)多內(nèi)存,此指令只有在編譯時(shí)設(shè)置了。

        –enable-memory-limit標(biāo)志的情況下才生效

        4.upload_max_filesize=20M

        允許上傳文件的最大大小,此指令必須小于post_max_size

        5.upload_tmp_dir

        上傳文件臨時(shí)存放目錄

        6.post_max_size=30M

        允許post方式可以接受最大大小

        $_FILES['myFile']['name'] 客戶(hù)端上次文件的原始名稱(chēng)。

        $_FILES['myFile']['type'] 文件的 MIME 類(lèi)型,需要瀏覽器提供該信息的支持,例如"image/gif"。

        $_FILES['myFile']['size'] 已上傳文件的大小,單位為字節(jié)。

        $_FILES['myFile']['tmp_name'] 文件被上傳后在服務(wù)端儲(chǔ)存的臨時(shí)文件名,一般是系統(tǒng)默認(rèn)??梢栽趐hp.ini的upload_tmp_dir 指定,但 用 putenv() 函數(shù)設(shè)置是不起作用的。

        $_FILES['myFile']['error'] 和該文件上傳相關(guān)的狀態(tài)碼。['error'] 是在 PHP 4.2.0 版本中增加的。下面是它的說(shuō)明:(它們?cè)赑HP3.0以后成了常量)

        UPLOAD_ERR_OK

        值:0; 沒(méi)有錯(cuò)誤發(fā)生,文件上傳成功。

        UPLOAD_ERR_INI_SIZE

        值:1; 上傳的文件超過(guò)了 php.ini 中 upload_max_filesize 選項(xiàng)限制的值。

        UPLOAD_ERR_FORM_SIZE

        值:2; 上傳文件的大小超過(guò)了 HTML 表單中 MAX_FILE_SIZE 選項(xiàng)指定的值。

        UPLOAD_ERR_PARTIAL

        值:3; 文件只有部分被上傳。

        UPLOAD_ERR_NO_FILE

        值:4; 沒(méi)有文件被上傳。

        值:5; 上傳文件大小為0.

        文件被上傳結(jié)束后,默認(rèn)地被存儲(chǔ)在了臨時(shí)目錄中,這時(shí)您必須將它從臨時(shí)目錄中刪除或移動(dòng)到其它地方,如果沒(méi)有,則會(huì)被刪除。

        也就是不管是否上傳成功,腳本執(zhí)行完后臨時(shí)目錄里的文件肯定會(huì)被刪除。

        附:修改PHP上傳文件大小限制的方法

        1. 一般的文件上傳,除非文件很小。就像一個(gè)5M的文件,很可能要超過(guò)一分鐘才能上傳完。

        但在php中,默認(rèn)的該頁(yè)最久執(zhí)行時(shí)間為 30 秒.就是說(shuō)超過(guò)30秒,該腳本就停止執(zhí)行.

        這就導(dǎo)致出現(xiàn)無(wú)法打開(kāi)網(wǎng)頁(yè)的情況,這時(shí)我們可以修改 max_execution_time

        在php.ini里查找

        max_execution_time

        默認(rèn)是30秒.改為

        max_execution_time = 0

        0表示沒(méi)有限制

        2. 修改 post_max_size 設(shè)定 POST 數(shù)據(jù)所允許的最大大小。此設(shè)定也影響到文件上傳。

        php默認(rèn)的post_max_size 為2M.如果 POST 數(shù)據(jù)尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便會(huì)為空.

        查找 post_max_size .改為

        post_max_size = 150M

        3. 很多人都會(huì)改了第二步,但上傳文件時(shí)最大仍然為 8M。

        為什么呢.我們還要改一個(gè)參數(shù)upload_max_filesize 表示所上傳的文件的最大大小。

        查找upload_max_filesize,默認(rèn)為8M改為

        upload_max_filesize = 100M

        另外要說(shuō)明的是,post_max_size 大于 upload_max_filesize 為佳.

        上傳效果展示:

        PHP實(shí)現(xiàn)文件分片上傳的方法

        PHP中文網(wǎng),有大量免費(fèi)的PHP視頻教程,歡迎大家學(xué)習(xí)!

        本文轉(zhuǎn)自:https://www.jianshu.com/p/6460dc947209

      1. 微信
      2. 分享
      3. PHP實(shí)現(xiàn)文件分片上傳的方法

      4. 相關(guān)標(biāo)簽:PHP 文件 分片上傳
      5. 本文轉(zhuǎn)載于:簡(jiǎn)書(shū),如有侵犯,請(qǐng)聯(lián)系a@php.cn刪除
        • 上一篇:PHP基于Redis實(shí)現(xiàn)輕量級(jí)延遲隊(duì)列(多線程)
        • 下一篇:沒(méi)有了
        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 国产区精品福利在线观看精品| 污污网站国产精品白丝袜| 国产精品亚洲视频| 精品人妻久久久久久888| 精品国产一级在线观看| 99视频精品全部在线观看| 四虎国产精品永免费| 成人一区二区三区精品| 国产精品成人va| 三上悠亚久久精品| 日韩精品一二三区| 国产乱人伦精品一区二区在线观看| 国产成人精品天堂| 奇米精品视频一区二区三区| 久久精品二区| 国产精品福利在线观看免费不卡 | 国产精品乱伦| 996久久国产精品线观看| 亚洲AV无码精品色午夜果冻不卡 | 91不卡在线精品国产| 精品久久久久久国产潘金莲| 亚欧洲精品在线视频免费观看| 国产在线精品一区二区高清不卡| 91久久精品国产91性色也| 99久久免费国产精精品| 国产亚洲精品a在线无码| 亚洲国产精品久久久天堂| 日本精品少妇一区二区三区| 国产香蕉国产精品偷在线观看| 四虎影永久在线观看精品| 国产精品亚洲欧美一区麻豆| 国产精品后入内射日本在线观看| 日韩精品久久久久久免费| 无码人妻精品一区二区三区夜夜嗨| 永久免费精品影视网站| 午夜精品久久久久成人| 人妻少妇看A偷人无码精品| 日韩精品一区二区三区视频| 无码AV动漫精品一区二区免费| 欧美黑人巨大videos精品| 精品久人妻去按摩店被黑人按中出|