当前位置:首页
开发技术指南» 文章正文
    引言:
 

 

    摘要: 比如msn messenger,平时怎么点都是一个, 不能够启动第2个msn messenger, 如何在vb中以多进程方式启动这些程序呢? ......
 ·用户的登陆信息用什么来保存    »显示摘要«
    摘要: 我正在写一个类似论坛的东西。 用户需要登陆以后才可以访问。 要求在程序中可以随时取得用户的信息。 请问用什么来保存这些信息??? 用 session 可以吗?? ......


高分求图片上传代码

高分求图片上传代码,谢谢

NO.1   作者: simcaxe

-------------------------upload.asp-----------------------  
  <!--#include   file="cls_load.asp"-->  
   
  <%  
  dim   upload,file,sfilename,bfilename,formName,sPath,bPath,iCount  
  set   upload=new   upload_5xSoft   建立上传对象  
   
  bPath   =   "images/"   图片路径  
   
  shuoming   =   upload.form("shuoming")  
   
  set   file=upload.file("file")     上传图片  
  if   file.FileSize>0   then                   如果   FileSize   >   0   说明有文件数据  
          bfilename=file.FileName  
          file.SaveAs   Server.mappath(bPath&bfilename)       保存文件                        
          response.write   Server.mappath(bPath&bfilename)   &   "<br>"  
  end   if                      
  set   file=nothing  
  %>  
   
   
   
  -------------------------cls_load.asp-----------  
  <SCRIPT   RUNAT=SERVER   LANGUAGE=VBSCRIPT>  
   
   
  dim   upfile_5xSoft_Stream  
   
  Class   upload_5xSoft  
       
  dim   Form,File,Version  
       
  Private   Sub   Class_Initialize    
  dim   iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFormEnd,theFile  
  dim   strDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePath,iDivLen,mStr  
  Version=""  
  if   Request.TotalBytes<1   then   Exit   Sub  
  set   Form=CreateObject("Scripting.Dictionary")  
  set   File=CreateObject("Scripting.Dictionary")  
  set   upfile_5xSoft_Stream=CreateObject("Adodb.Stream")  
  upfile_5xSoft_Stream.mode=3  
  upfile_5xSoft_Stream.type=1  
  upfile_5xSoft_Stream.open  
  upfile_5xSoft_Stream.write   Request.BinaryRead(Request.TotalBytes)  
   
  vbEnter=Chr(13)&Chr(10)  
  iDivLen=inString(1,vbEnter)+1  
  strDiv=subString(1,iDivLen)  
  iFormStart=iDivLen  
  iFormEnd=inString(iformStart,strDiv)-1  
  while   iFormStart   <   iFormEnd  
      iStart=inString(iFormStart,"name=""")  
      iEnd=inString(iStart+6,"""")  
      mFormName=subString(iStart+6,iEnd-iStart-6)  
      iFileNameStart=inString(iEnd+1,"filename=""")  
      if   iFileNameStart>0   and   iFileNameStart<iFormEnd   then  
        iFileNameEnd=inString(iFileNameStart+10,"""")  
        mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10)  
        iStart=inString(iFileNameEnd+1,vbEnter&vbEnter)  
        iEnd=inString(iStart+4,vbEnter&strDiv)  
        if   iEnd>iStart   then  
          mFileSize=iEnd-iStart-4  
        else  
          mFileSize=0  
        end   if  
        set   theFile=new   FileInfo  
        theFile.FileName=getFileName(mFileName)  
        theFile.FilePath=getFilePath(mFileName)  
        theFile.FileSize=mFileSize  
        theFile.FileStart=iStart+4  
        theFile.FormName=FormName  
        file.add   mFormName,theFile  
      else  
        iStart=inString(iEnd+1,vbEnter&vbEnter)  
        iEnd=inString(iStart+4,vbEnter&strDiv)  
   
        if   iEnd>iStart   then  
          mFormValue=subString(iStart+4,iEnd-iStart-4)  
        else  
          mFormValue=""    
        end   if  
        form.Add   mFormName,mFormValue  
      end   if  
   
      iFormStart=iformEnd+iDivLen  
      iFormEnd=inString(iformStart,strDiv)-1  
  wend  
  End   Sub  
   
  Private   Function   subString(theStart,theLen)  
    dim   i,c,stemp  
    upfile_5xSoft_Stream.Position=theStart-1  
    stemp=""  
    for   i=1   to   theLen  
        if   upfile_5xSoft_Stream.EOS   then   Exit   for  
        c=ascB(upfile_5xSoft_Stream.Read(1))  
        If   c   >   127   Then  
          if   upfile_5xSoft_Stream.EOS   then   Exit   for  
          stemp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))  
          i=i+1  
        else  
          stemp=stemp&Chr(c)  
        End   If  
    Next  
    subString=stemp  
  End   function  
   
  Private   Function   inString(theStart,varStr)  
    dim   i,j,bt,theLen,str  
    InString=0  
    Str=toByte(varStr)  
    theLen=LenB(Str)  
    for   i=theStart   to   upfile_5xSoft_Stream.Size-theLen  
        if   i>upfile_5xSoft_Stream.size   then   exit   Function  
        upfile_5xSoft_Stream.Position=i-1  
        if   AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1))   then  
          InString=i  
          for   j=2   to   theLen  
              if   upfile_5xSoft_Stream.EOS   then    
                  inString=0  
                  Exit   for  
              end   if  
              if   AscB(upfile_5xSoft_Stream.Read(1))<>AscB(MidB(Str,j,1))   then  
                  InString=0  
                  Exit   For  
              end   if  
          next  
          if   InString<>0   then   Exit   Function  
        end   if  
    next  
  End   Function  
   
  Private   Sub   Class_Terminate      
      form.RemoveAll  
      file.RemoveAll  
      set   form=nothing  
      set   file=nothing  
      upfile_5xSoft_Stream.close  
      set   upfile_5xSoft_Stream=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   toByte(Str)  
        dim   i,iCode,c,iLow,iHigh  
        toByte=""  
        For   i=1   To   Len(Str)  
        c=mid(Str,i,1)  
        iCode   =Asc(c)  
        If   iCode<0   Then   iCode   =   iCode   +   65535  
        If   iCode>255   Then  
            iLow   =   Left(Hex(Asc(c)),2)  
            iHigh   =Right(Hex(Asc(c)),2)  
            toByte   =   toByte   &   chrB("&H"&iLow)   &   chrB("&H"&iHigh)  
        Else  
            toByte   =   toByte   &   chrB(AscB(c))  
        End   If  
        Next  
    End   function  
  End   Class  
   
   
  Class   FileInfo  
      dim   FormName,FileName,FilePath,FileSize,FileStart  
      Private   Sub   Class_Initialize    
          FileName   =   ""  
          FilePath   =   ""  
          FileSize   =   0  
          FileStart=   0  
          FormName   =   ""  
      End   Sub  
       
    Public   function   SaveAs(FullPath)  
          dim   dr,ErrorChar,i  
          SaveAs=1  
          if   trim(fullpath)=""   or   FileSize=0   or   FileStart=0   or   FileName=""   then   exit   f  
  unction  
          if   FileStart=0   or   right(fullpath,1)="/"   then   exit   function  
          set   dr=CreateObject("Adodb.Stream")  
          dr.Mode=3  
          dr.Type=1  
          dr.Open  
          upfile_5xSoft_Stream.position=FileStart-1  
          upfile_5xSoft_Stream.copyto   dr,FileSize  
          dr.SaveToFile   FullPath,2  
          dr.Close  
          set   dr=nothing    
          SaveAs=0  
      end   function  
  End   Class  
  </SCRIPT>  
   
   
  --------------------upload.htm------------------  
  <form     enctype="multipart/form-data"   method="post"   action="Upload.asp">  
  <p   align="left">文件说明:<input   type="text"   name="shuoming"   size="20"></p>  
  <p   align="left">请选择文件:<input   type="file"   name="file"></p>  
  <p   align="left"><input   type="submit"   name="submit"   value="UpLoad"></p>  
  </form>  
 

NO.2   作者: 54duke

邮箱?!


    摘要: 如何从一含多个框架页的页面返回到全新的页面。(例如子页是由多个框架页组成,父页为全新页面;需从子页返回父页) ......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE