!--#include file="upload.asp"--
創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、網(wǎng)站建設(shè)、曹縣網(wǎng)絡(luò)推廣、微信小程序定制開發(fā)、曹縣網(wǎng)絡(luò)營銷、曹縣企業(yè)策劃、曹縣品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供曹縣建站搭建服務(wù),24小時服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
%
const upload_type=0 '上傳方法:0=無懼無組件上傳類,1=FSO上傳 2=lyfupload,3=aspupload,4=chinaaspupload
dim upload,file,formName,SavePath,filename,fileExt
dim upNum
dim EnableUpload
dim Forumupload
dim ranNum
dim uploadfiletype
dim msg,founderr
msg=""
founderr=false
EnableUpload=false
SavePath = "../DateBasc/" '存放上傳文件的目錄
if right(SavePath,1)"/" then SavePath=SavePath"/" '在目錄后加(/)
%
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
/head
body leftmargin="2" topmargin="0" marginwidth="0" marginheight="0"
%
if EnableUploadFile="No" then
response.write "系統(tǒng)未開放文件上傳功能"
else
if session("admin")="" and session("UserName")="" then
response.Write("請登錄后再使用本功能!")
else
select case upload_type
case 0
call upload_0() '使用化境無組件上傳類
case else
'response.write "本系統(tǒng)未開放插件功能"
'response.end
end select
end if
end if
%
/body
/html
%
sub upload_0() '使用化境無組件上傳類
set upload=new upload_file '建立上傳對象
for each formName in upload.file '列出所有上傳了的文件
set file=upload.file(formName) '生成一個文件對象
if file.filesize100 then
msg="請先選擇你要上傳的文件!"
founderr=true
end if
if file.filesize(MaxFileSize*1024) then
msg="文件大小超過了限制,最大只能上傳" CStr(MaxFileSize) "K的文件!"
founderr=true
end if
fileExt=lcase(file.FileExt)
Forumupload=split(UpFileType,"|")
for i=0 to ubound(Forumupload)
if fileEXT=trim(Forumupload(i)) then
EnableUpload=true
exit for
end if
next
if fileEXT="asp" or fileEXT="asa" or fileEXT="aspx" then
EnableUpload=false
end if
if EnableUpload=false then
msg="這種文件類型不允許上傳!\n\n只允許上傳這幾種文件類型:" UpFileType
founderr=true
end if
strJS="SCRIPT language=javascript" vbcrlf
if founderrtrue then
randomize
ranNum=int(900*rnd)+100
FileName=SavePathupload.form("name")".xls"
file.SaveToFile Server.mappath(FileName) '保存文件
msg="文件上傳成功!"
end if
strJS=strJS "alert('" msg "');" vbcrlf
if session("filename")"" then
strJS=strJS "document.location='add_danan.asp','right';" vbcrlf
else
strJS=strJS "history.go(-1);" vbcrlf
end if
strJS=strJS "/script"
response.write strJS
next
set upload=nothing
end sub
%
下面是upload.asp文件
%
'----------------------------------------------------------------------
'轉(zhuǎn)發(fā)時請保留此聲明信息,這段聲明不并會影響你的速度!
'******************* 無組件上傳類 ********************************
'修改者:梁無懼
'電子郵件:yjlrb@21cn.com
'網(wǎng)站:
'原作者:稻香老農(nóng)
'原作者網(wǎng)站:
'聲明:此上傳類是在化境編程界發(fā)布的無組件上傳類的基礎(chǔ)上修改的.
'在與化境編程界無組件上傳類相比,速度快了將近50倍,當(dāng)上傳4M大小的文件時
'服務(wù)器只需要10秒就可以處理完,是目前最快的無組件上傳程序,當(dāng)前版本為0.96
'源代碼公開,免費使用,對于商業(yè)用途,請與作者聯(lián)系
'文件屬性:例如上傳文件為c:\myfile\doc.txt
'FileName 文件名 字符串 "doc.txt"
'FileSize 文件大小 數(shù)值 1210
'FileType 文件類型 字符串 "text/plain"
'FileExt 文件擴展名 字符串 "txt"
'FilePath 文件原路徑 字符串 "c:\myfile"
'使用時注意事項:
'由于Scripting.Dictionary區(qū)分大小寫,所以在網(wǎng)頁及ASP頁的項目名都要相同的大小
'寫,如果人習(xí)慣用大寫或小寫,為了防止出錯的話,可以把
'sFormName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
'改為
'(小寫者)sFormName = LCase(Mid (sinfo,iFindStart,iFindEnd-iFindStart))
'(大寫者)sFormName = UCase(Mid (sinfo,iFindStart,iFindEnd-iFindStart))
'**********************************************************************
'----------------------------------------------------------------------
dim oUpFileStream
Class upload_file
dim Form,File,Version
Private Sub Class_Initialize
'定義變量
dim RequestBinDate,sStart,bCrLf,sInfo,iInfoStart,iInfoEnd,tStream,iStart,oFileInfo
dim iFileSize,sFilePath,sFileType,sFormvalue,sFileName
dim iFindStart,iFindEnd
dim iFormStart,iFormEnd,sFormName
'代碼開始
Version="無組件上傳類 Version 0.96"
set Form = Server.CreateObject("Scripting.Dictionary")
set File = Server.CreateObject("Scripting.Dictionary")
if Request.TotalBytes 1 then Exit Sub
set tStream = Server.CreateObject("adodb.stream")
set oUpFileStream = Server.CreateObject("adodb.stream")
oUpFileStream.Type = 1
oUpFileStream.Mode = 3
oUpFileStream.Open
oUpFileStream.Write Request.BinaryRead(Request.TotalBytes)
oUpFileStream.Position=0
RequestBinDate = oUpFileStream.Read
iFormEnd = oUpFileStream.Size
bCrLf = chrB(13) chrB(10)
'取得每個項目之間的分隔符
sStart = MidB(RequestBinDate,1, InStrB(1,RequestBinDate,bCrLf)-1)
iStart = LenB (sStart)
iFormStart = iStart+2
'分解項目
Do
iInfoEnd = InStrB(iFormStart,RequestBinDate,bCrLf bCrLf)+3
tStream.Type = 1
tStream.Mode = 3
tStream.Open
oUpFileStream.Position = iFormStart
oUpFileStream.CopyTo tStream,iInfoEnd-iFormStart
tStream.Position = 0
tStream.Type = 2
tStream.Charset ="gb2312"
sInfo = tStream.ReadText
'取得表單項目名稱
iFormStart = InStrB(iInfoEnd,RequestBinDate,sStart)-1
iFindStart = InStr(22,sInfo,"name=""",1)+6
iFindEnd = InStr(iFindStart,sInfo,"""",1)
sFormName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
'如果是文件
if InStr (45,sInfo,"filename=""",1) 0 then
set oFileInfo= new FileInfo
'取得文件屬性
iFindStart = InStr(iFindEnd,sInfo,"filename=""",1)+10
iFindEnd = InStr(iFindStart,sInfo,"""",1)
sFileName = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
oFileInfo.FileName = GetFileName(sFileName)
oFileInfo.FilePath = GetFilePath(sFileName)
oFileInfo.FileExt = GetFileExt(sFileName)
iFindStart = InStr(iFindEnd,sInfo,"Content-Type: ",1)+14
iFindEnd = InStr(iFindStart,sInfo,vbCr)
oFileInfo.FileType = Mid (sinfo,iFindStart,iFindEnd-iFindStart)
oFileInfo.FileStart = iInfoEnd
oFileInfo.FileSize = iFormStart -iInfoEnd -2
oFileInfo.FormName = sFormName
file.add sFormName,oFileInfo
else
'如果是表單項目
tStream.Close
tStream.Type = 1
tStream.Mode = 3
tStream.Open
oUpFileStream.Position = iInfoEnd
oUpFileStream.CopyTo tStream,iFormStart-iInfoEnd-2
tStream.Position = 0
tStream.Type = 2
tStream.Charset = "gb2312"
sFormvalue = tStream.ReadText
form.Add sFormName,sFormvalue
end if
tStream.Close
iFormStart = iFormStart+iStart+2
'如果到文件尾了就退出
loop until (iFormStart+2) = iFormEnd
RequestBinDate=""
set tStream = nothing
End Sub
Private Sub Class_Terminate
'清除變量及對像
if not Request.TotalBytes1 then
oUpFileStream.Close
set oUpFileStream =nothing
end if
Form.RemoveAll
File.RemoveAll
set Form=nothing
set File=nothing
End Sub
'取得文件路徑
Private function GetFilePath(FullPath)
If FullPath "" Then
GetFilePath = left(FullPath,InStrRev(FullPath, "\"))
Else
GetFilePath = ""
End If
End function
'取得文件名
Private function GetFileName(FullPath)
If FullPath "" Then
GetFileName = mid(FullPath,InStrRev(FullPath, "\")+1)
Else
GetFileName = ""
End If
End function
'取得擴展名
Private function GetFileExt(FullPath)
If FullPath "" Then
GetFileExt = mid(FullPath,InStrRev(FullPath, ".")+1)
Else
GetFileExt = ""
End If
End function
End Class
'文件屬性類
Class FileInfo
dim FormName,FileName,FilePath,FileSize,FileType,FileStart,FileExt
Private Sub Class_Initialize
FileName = ""
FilePath = ""
FileSize = 0
FileStart= 0
FormName = ""
FileType = ""
FileExt = ""
End Sub
'保存文件方法
Public function SaveToFile(FullPath)
dim oFileStream,ErrorChar,i
SaveToFile=1
if trim(fullpath)="" or right(fullpath,1)="/" then exit function
set oFileStream=CreateObject("Adodb.Stream")
oFileStream.Type=1
oFileStream.Mode=3
oFileStream.Open
oUpFileStream.position=FileStart
oUpFileStream.copyto oFileStream,FileSize
oFileStream.SaveToFile FullPath,2
oFileStream.Close
set oFileStream=nothing
SaveToFile=0
end function
End Class
%
GetFile-----從FTP服務(wù)器上下載文件 BOOL GetFile( LPCTSTR pstrRemoteFile, LPCTSTR pstrLocalFile, BOOL bFailIfExists = TRUE, DWORD dwAttributes = FILE_ATTRIBUTE_NORMAL, DWORD dwFlags = FTP_TRANSFER_TYPE_BINARY, DWORD dwContext = 1 ); pstrRemoteFile //標識在FTP服務(wù)器上下載的文件名稱pstrLocalFile //標識下載到本地時的文件名稱bFailIfExists //標識如果本地的文件名已存在,是否進行下載如果為True 并且本地文件存在GetFile執(zhí)行失敗dwAttributes //標識文件屬性 dwFlags //標識傳輸?shù)姆绞?,莫仍采用二進制傳輸dwContext //表示傳遞文件時的內(nèi)容標識符
1、首先打開gopro4。
2、其次進入模式切換,依次選擇setup,wifi,app。
3、最后手機打開“gopro”應(yīng)用,輸入hero4彈出來的秘鑰就可使gopro4的圖像傳到手機里的圖像清晰。
table width="780" border="0" align="center" bgcolor="#BBD1E8"trtd height="28" align="center"
!--#include file="images/logo.jpg"--/td/tr/table
!--#include FILE="images/yancd.cn.inc"--
%
set upload=new upload_5xsoft
for each formName in upload.File
set file=upload.file(formName)
if file.filesizecint(uploadsize)*500 then '500單位為字節(jié),要改多少,把數(shù)字改了就行了。
HtmEnd "文件大小超過了限制。"
set upload=nothing
response.end
end if
set file=upload.file("file1")
kzm=right(file.filename,4)
name="img/" year(now)month(now)day(now)hour(now)minute(now)second(now)kzm
if file.fileSize0 Then
If kzm".gif" And kzm".jpg" Then
response.Write("script language=javascriptalert('只支持“.gif”和“.jpg”文件類型的圖片上傳!');history.go(-1)/script")
else
file.SaveAs Server.mappath(name)
set conn=server.createobject("adodb.connection")
connstr="Provider=Microsoft.jet.oledb.4.0;data source="server.mappath("images/yancd.cn.asp")
conn.open connstr
set rs=server.createobject("adodb.recordset")
sql="select * from pic"
rs.open sql,conn,1,3
rs.addnew
rs("name")=name
rs("classid")=upload.form("classid")
rs("pic_name")=upload.form("pic_name")
rs.update
rs.close
set rs=nothing
conn.close
set rs=Nothing
Response.Redirect "index.asp?page=1""classid="classid
End If
end If
set file=nothing
set upload=Nothing
%
SCRIPT language=JavaScript
function CheckForm()
{
if (document.form1.classid.value.length == 0)
{
alert("請選擇圖片類別!");
document.form1.classid.focus();
return false;
}
if (document.form1.pic_name.value.length == 0)
{
alert("請?zhí)顚憟D片名稱!");
document.form1.pic_name.focus();
return false;
}
}
/script
上傳圖片原理:首先判斷文件類型是否為圖片格式,若是則上傳文件,然后重命名文件(一般都是避免上傳文件重名,現(xiàn)在基本上都是以為時間來命名),接著把文件上傳到指定目錄,成功上傳后輸出上傳圖片的預(yù)覽。
1.首先我們開始判斷文件類型是否為圖片類型用到的函數(shù)
{
strrchr:查找字符串在另一個字符串中最后一次出現(xiàn)的位置,并返回從該位置到字符串結(jié)尾的所有字符。
substr: 取部份字符串。
$HTTP_POST_FILES['file']['name']:獲取當(dāng)前上傳的文件全稱。
}
圖片類型就是“.”后面的字符(比如:一個文件名稱為XXX.JPG 那么它的類型就是“.”后面的JPG)。 我們可以用PHP中的函數(shù)來截取上傳者文件名字的。我們來寫個獲取文件類型的函數(shù)
?
function type()
{
return substr(strrchr($HTTP_POST_FILES['file']['name'],'.'),1);
}
?
2.若是則上傳文件,然后重命名文件用到的函數(shù)
{ strtolower:把字符串的字母全部轉(zhuǎn)換為小寫字母. in_array: 函數(shù)在數(shù)組中搜索給定的值。 implode:函數(shù)把數(shù)組元素組合為一個字符串 random:隨機生成的數(shù) $_FILES['userfile']['name']:上傳文件名稱 $uploaddir:自己定義的變量。比如在同一個文件夾里面,你想把上傳的文件放到這個文件夾的FILE文件夾下,你可以這樣定義$uploaddir="./file/";注意寫法 } 這邊會出現(xiàn)很多問題,第一先寫一個能上傳類型的數(shù)組。第二判斷文件合法性。第三給文件重名。*(這邊判斷文件大小就不寫了)先定義允許上傳文件的類型數(shù)組:$type=array("jpg","gif","bmp","jpeg","png");第二用一個IF。。else。。寫一個判斷文件合法性的控制流語句。if(!in_arry(strtolower(type()),$type))//如果不存在能上傳的類型 { $text=implode('.',$type); echo "您只能上傳以下類型文件: ",$text,"br"; } 下面就是給他們重新命名了,else { $filename=explode(".",$_FILES['userfile']['name']);//把上傳的文件名以“.”好為準做一個數(shù)組。 $time=date("m-d-H-i-s");//去當(dāng)前上傳的時間 $filename[0]=$time;//取文件名t替換 name=implode(".",$filename); //上傳后的文件名 $uploadfile=$uploaddir.$name;//上傳后的文件名地址 } 3.最后把文件上傳到指定目錄,成功上傳后輸出上傳圖片的預(yù)覽用到的函數(shù){ move_uploaded_file:執(zhí)行上傳文件 } if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile)) { echo "center您的文件已經(jīng)上傳完畢 上傳圖片預(yù)覽: /centerbrcenterimg src='$uploadfile'/center"; echo"brcentera href='javascrīpt:history.go(-1)'繼續(xù)上傳/a/center"; } else { echo"傳輸失??!"; }