php第三方文件上傳插件(php上傳文件夾)

本文目錄一覽:

php 上傳大文件 插件 有哪些

http協議里,

對斷點下載有支持.

斷點上傳單純靠php

是做不了的.

因為普通的瀏覽器端沒那功能.(上傳的時候

還是會整個文件編碼發送)

想實現的話

,

客戶端需要插件了,

客戶端可以使用flex實現.

服務端,

php可以寫個webservice

接受文件.

zblog網站怎麼上傳插件php

百度自動推送JS代碼如何安裝使用?

1 – 手動插入代碼(適合所有網站程序)

站長需要在每個頁面的HTML代碼中包含以下自動推送JS代碼當頁面被訪問時,頁面鏈接會自動推送給百度,有利於新頁面更快被百度發現。具體如下:

PHP

script

(function(){

var bp = document.createElement(‘script’);

bp.src = ‘//push.zhanzhang.baidu.com/push.js’;

var s = document.getElementsByTagName(“script”)[0];

s.parentNode.insertBefore(bp, s);

})();

/script

如果站長使用PHP語言開發的網站,可以按以下步驟操作:

1、創建名為「baidu_js_push.php」的文件,文件內容是上述自動推送JS代碼;

2、在每個PHP模板頁文件中的 body 標記後面添加一行代碼:

PHP

?php include_once(“baidu_js_push.php”) ?

2 – 使用ZblogPHP百度自動推送插件

插件名稱:百度自動推送

插件作者:大謀

應用ID:dm_plug_baidu

最低版本要求:Z-BlogPHP 1.3 Wonce

插件下載地址:http//app.zblogcn.com/?id=887

使用方法:下載安裝插件後啟用即可

推薦閱讀

百度鏈接提交工具主動推送功能升級了

網站站內鏈接優化的幾個技巧

讓網站收錄變快的方法

80%的站長不知道的「網站微調」優化技術

淺析ULR鏈接優化對百度排名提升的重要性

php上傳文件時,顯示百分比用什麼插件比較好

使用Ajax 方式上傳文件,顯示進度條一般都要求IE10以上的瀏覽器,但Chrome Firefox Safari這些版本低些都可以支持;

如果上傳文件的話可以使用 jQuery form 插件,如果同時上傳多個文件的可以使用 jQuery Uploadify插件,用SWFUpload沒有瀏覽器的限制但是要求瀏覽安裝Flash插件,當前還有很多這方面的插件,你可以根據自己使用的習慣來選擇;

SWFUpload 文件上傳插件常用的配置講解

上傳文件swfUpload 插件:

基本的文件上傳涉及到的四個文件  (還有一個處理數據的php文件  這裡沒有涉及到)

html頁面:

upload_window.html

js文件:

swfupload.js

handlers.js

fileprogress.js

第一:從html頁面出發:

重要的是將頁面載入時間中的var setting={}這個大對象中的參數設置好  以下都是這個對象裡面的常用配置 非常重要

首先需要將swfupload.swf載入

在 var  setting={} 這個大對象裡面加flash_url:值

如: flash_url: “tpl$siteurl_static/tpl/assets/uc/js/swfupload.swf”,

然後需要將上傳的路徑加入 如: upload_url: “” + uploadkey + “ck=” + ck + “cc=” + cc,(java的上傳路徑)

相關的設置常用的有:

file_size_limit  (設置上傳的大小)    file_types(設置文件上傳的類型)file_types_description(設置文件上傳描述)

file_upload_limit (設置文件上傳的數量限制)file_queue_limit (設置文件隊列數量限制)

prevent_swf_caching : false  (在相關的swf文件增加隨機參數避免Flash被緩存)

debug:false

按鈕的相關配置:

button_width: “200”,

button_height: “50”,

button_text_left_padding: 16,

button_text_top_padding: 7,

button_cursor:  button_cursor 指定滑鼠懸停在Flash按鈕上時的游標樣式,可用值為SWFUpload.CURSOR里定義的常量。如:button_cursor: SWFUpload.CURSOR.HAND,

button_action(設置只能上傳一個文檔的限制:–》button_action: SWFUpload.BUTTON_ACTION.SELECT_FILE)

之後就是設置一些事件處理函數  這些都是在  handlers.js 裡面相應的函數

file_dialog_start_handler: fileDialogStart,(設置文件對話開始函數)

file_queued_handler: fileQueued,(設置文件隊列函數)

file_dialog_complete_handler: fileDialogComplete,(設置文件對話完成處理函數)

file_queue_error_handler: fileQueueError,(設置隊列錯誤處理函數)

upload_start_handler: uploadStart,(設置開始上傳函數)

upload_progress_handler: uploadProgress,(設置上傳進度處理函數)

upload_error_handler: uploadError,(設置上傳錯誤處理函數)

upload_complete_handler: uploadComplete,(設置上傳完成處理函數)

upload_success_handler: uploadSuccess(設置上傳成功處理函數)

以上的配置都是在頁面自動載入函數的setting大對象裡面需要配置的基本參數

除了以上這些還有下面相應的非常關鍵的配置

別忘記:在setting大對象結束之後 在自動載入函數結束之前還有swfu = new SWFUpload(settings);  實例化一個對象

var setting還有比較重要的配置  如下:

1.關於上傳進度的配置是關鍵:

在var setting={}這個大對象裡面設置一個元素:

custom_settings: {

                    progressTarget: “fsUploadProgress”

 },

progressTarget的值(即fsUploadProgress)是文件上傳進度的顯示 將html裡面設置相應的位置放id=”fsUploadProgress”

如:div class=”progressbar progressbar-0″ id=”fsUploadProgress”

            span class=”prog-num”0/span

        /div

span標籤里的0就是從0開始進行上傳  0就是初始的顯示進度

2:關於上傳的按鈕設置 

在 var setting={} 這個大對象裡面設置  button_placeholder_id : “spanButtonPlaceHolder”

需要將html相應的上傳按鈕加上相應的id=”spanButtonPlaceHolder”

如:div id=”upload_doc” class=”up-btn”i 上傳文檔/ispan id=”spanButtonPlaceHolder”/span/div

成功上傳需要將相應的數據進行處理:

在html頁面中需要寫ajax進行數據的處理~

如:

//成功後調用

function agree_upload(){

            var doc_id=$(‘.doc_title’).attr(‘id’);

            if(doc_id0){

                uploadFinish(doc_id);

                parent.DOC88Window.close();

            }else{

                alert(‘您還未選擇重新上傳的文檔’);

            }

        }

        function uploadFinish(new_p_id) {

            var old_p_id = “tpl$p_id/tpl”;

            $.ajax({

                url: “/ucr/doc.php?act=save_upload”,

                type: “post”,

                data: {

                    old_p_id: old_p_id,

                    new_p_id: new_p_id

                },

                dataType: “json”,

                success: function (msg) {

                    if (msg.result == 1) {

                        alert(“數據正確”);

                    } else {

                        alert(“數據錯誤”);

                    }

                }

            });

        }

第二:因為html頁面中setting配置中有相應的函數處理配置  涉及到handler.js函數,所以接下來到handler.js文件的處理配置

根據html頁面的配置 處理函數的順序進行相應的配置

首先是fileQueue函數  文件排隊函數:

需要設置一個變數 關於flash動畫的函數

var stats = swfu.getStats();

根據需要將文件上傳隊列數量進行限制

if (stats.files_queued 1) {

            alert(“您的附件不能超過1個”);

                    return false;

    }

接下來是fileQueueError函數  文件排隊錯誤函數:

根據需要將相應的設置放在這個函數裡面

可以放在try catch函數裡面    設置的限制如下:

      switch (errorCode) {

            case SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:

                alert(‘單個文件大小不要超過50MB’);

                break;

            case SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:

                alert(‘不能上傳空文件’);

                this.debug(“Error Code: Zero byte file, File name: ” + file.name + “, File size: ” + file.size + “, Message: ” + message);

                break;

            case SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:

                alert(‘文件類型錯誤’);

                break;

            default:

                if (file !== null) {

                }

                this.debug(“Error Code: ” + errorCode + “, File name: ” + file.name + “, File size: ” + file.size + “, Message: ” + message);

                break;

        }

接下來是uploadStart函數  文件上傳開始函數:

設置相應的功能按鈕的變換  比如上傳開始(走到這個函數時 可以將相應的上傳按鈕改成上傳中 並且禁止點擊 就是禁用功能 加上一個取消上傳按鈕 )

可以將上傳的文件的名稱和文件格式顯示出來 

如:

$(“#upload_doc i”).html(“上傳中”);

    $(‘#cancel_upload’).html(‘取消’);

$(“#upload_doc”).attr(‘disabled’,’disabled’);

var name = file.name;

                $(‘.doc_title’).html(name);

        var format = file.type;

        format = format.toLocaleUpperCase();

        format = format.replace(‘.’, ”);

        $(‘.doc_format’).html(format); 

接下來是uploadProgress函數  文件上傳進度函數:如:

var percent = Math.ceil((bytesLoaded / bytesTotal) * 100);//上傳的進度

        var progress = new FileProgress(file, this.customSettings.progressTarget);

        progress.setProgress(percent);

        progress.setStatus(“正在上傳”);

接下來是uploadSuccess函數  文件上傳成功函數

然後是uploadError函數  上傳失敗函數:

其他相關的函數可以根據需要進行設置

第三:fileprogress.js文件  關於文件上傳進度  關鍵的是:

FileProgress函數的設置:

如:

function FileProgress(file, targetID) {

        this.fileProgressID = file.id;

        this.fileProgressWrapper = document.getElementById(this.fileProgressID);

        if (!this.fileProgressWrapper) {

                  this.fileProgressWrapper = document.createElement(“li”);

                  this.fileProgressWrapper.id = this.fileProgressID;

                  document.getElementById(targetID).appendChild(this.fileProgressWrapper);

        }

      this.setTimer(null);

}

FileProgress.prototype.setProgress = function (percentage) {}  裡面進度樣式的處理

如:

if (percentage = 5) {

                $(“.progressbar”).addClass(‘progressbar-5’);

    } else if (percentage = 10) {

                $(“.progressbar”).addClass(‘progressbar-10’);

    }……

第四:swfupload.js文件    幾乎不用修改 可以將不用的函數刪減

有很詳細的講解 鏈接:

php中上傳文件的方法有多少種

一、傳統的php寫的上傳類。

寫一個php的上傳類,這個方法用到的知識全部是php的,而且技術的難點也不多。

form method=”post” action=”upload.php” enctype=”multipart/form-data”

table border=0 cellspacing=0 cellpadding=0 align=center width=”100%”

input type=”hidden” name=”MAX_FILE_SIZE” value=”2000000″//隱藏域。這裡name必須設置成MAX_FILE_SIZE,其值就是上傳文件的最大長度,單位是B,這裡我限制成2M

input name=”file” type=”file” value=”瀏覽”

input type=”submit” value=”上傳” name=”B1″

/table

/form

服務端利用php的$_FILES[‘file’][‘name’]來獲取文件後綴名,具體的代碼自己查找資料看看,這裡就不多說了。

總結;這個方法可以用來上傳小於2M的文件或者是圖片,基本的功能可以實現。

二、利用uploadify插件

這個是利用jQuery的上傳插件,上傳可以帶進度條,容易配置。

總結:可以上傳一些大文件,和圖片,而且帶進度條,可以多文件上傳,在WEB中會經常用。

三、利用百度的webupload

WebUploader 是由 Baidu FEX 團隊開發的一款以 HTML5 為主,FLASH 為輔的現代文件上傳組件。在現代的瀏覽器裡面能充分發揮 HTML5 的優勢,同時又不摒棄主流IE瀏覽器,沿用原來的 FLASH 運行時,兼容 IE6+,iOS 6+, Android 4+。採用大文件分片並發上傳,極大的提高了文件上傳效率。

四、swfupload的插件

這是一個jquery的上傳插件,功能也非常強大,開發也比較容易,網上有很多的資料,可以自行查找。

原創文章,作者:WXUJS,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/330036.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
WXUJS的頭像WXUJS
上一篇 2025-01-14 18:56
下一篇 2025-01-14 18:56

相關推薦

  • Idea新建文件夾沒有java class的解決方法

    如果你在Idea中新建了一個文件夾,卻沒有Java Class,應該如何解決呢?下面從多個方面來進行解答。 一、檢查Idea設置 首先,我們應該檢查Idea的設置是否正確。打開Id…

    編程 2025-04-29
  • Python Web開發第三方庫

    本文將介紹Python Web開發中的第三方庫,包括但不限於Flask、Django、Bottle等,並討論它們的優缺點和應用場景。 一、Flask Flask是一款輕量級的Web…

    編程 2025-04-29
  • Python如何下載第三方模塊

    想要使Python更加強大且具備跨平台性,我們可以下載許多第三方模塊。下面將從幾個方面詳細介紹如何下載第三方模塊。 一、使用pip下載第三方模塊 pip是Python的軟體包管理器…

    編程 2025-04-28
  • Codemaid插件——讓你的代碼優美整潔

    你是否曾為了混雜在代碼里的冗餘空格、重複代碼而感到煩惱?你是否曾因為代碼缺少注釋而陷入困境?為了解決這些問題,今天我要為大家推薦一款Visual Studio擴展插件——Codem…

    編程 2025-04-28
  • Kong 使用第三方的go插件

    本文將針對Kong使用第三方的go插件進行詳細闡述。首先,我們解答下標題的問題:如何使用第三方的go插件?我們可以通過編寫插件來達到此目的。 一、插件架構介紹 Kong的插件系統采…

    編程 2025-04-28
  • python第三方規模的龐大

    Python語言第三方規模是龐大的,多方面的指標都可以證明。下面從幾個方面闡述。 一、模塊、包數量 Python第三方模塊數量是Python生態系統最顯著的特徵之一。截至2019年…

    編程 2025-04-28
  • 使用 DRF 實現文件上傳

    文件上傳是 web 應用程序中最常見的需求之一,本文將介紹如何使用 Django Rest Framework (DRF) 來實現文件上傳。通過本文,你將學習到如何使用 DRF 中…

    編程 2025-04-28
  • Python文本處理第三方庫有哪些

    Python是一種高級語言,它的功能非常強大和全面,其中最重要之一就是它的文本處理能力。文本處理對於自然語言處理以及大數據分析都有著非常重要的作用。Python的標準庫提供了字元串…

    編程 2025-04-27
  • Python打開文件夾下所有文件

    本文將從以下幾個方面對Python打開文件夾下所有文件進行詳細闡述,希望對大家有所幫助: 一、如何使用Python打開指定文件夾下的所有文件 在Python中,可以使用os模塊的w…

    編程 2025-04-27
  • 如何釘釘接入第三方

    本文將從以下多個方面對釘釘接入第三方進行詳細闡述,包括: 開發者註冊 創建企業應用 獲取access_token 推送消息 接受回調 一、開發者註冊 在使用釘釘的開發者平台時,首先…

    編程 2025-04-27

發表回復

登錄後才能評論