本文目錄一覽:
- 1、php 上傳大文件 插件 有哪些
- 2、zblog網站怎麼上傳插件php
- 3、php上傳文件時,顯示百分比用什麼插件比較好
- 4、SWFUpload 文件上傳插件常用的配置講解
- 5、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-hk/n/330036.html