2006年10月10日

人生就象一泡屎,有时候你已经很努力了,可出来的只是一个屁~~~

 

一笑而过.

2006年08月29日

‘判断图片的高度与宽度

<%
Class ImgWHInfo ‘获取图片宽度和高度的类,支持JPG,GIF,PNG,BMP
Dim ASO
Private Sub Class_Initialize
Set ASO=Server.CreateObject("ADODB.Stream")
ASO.Mode=3
ASO.Type=1
ASO.Open
End Sub
Private Sub Class_Terminate
Err.Clear
Set ASO=Nothing
End Sub

Private Function Bin2Str(Bin)
Dim I, Str
For I=1 To LenB(Bin)
clow=MidB(Bin,I,1)
If ASCB(clow)<128 Then
Str = Str & Chr(ASCB(clow))
Else
I=I+1
If I <= LenB(Bin) Then Str = Str & Chr(ASCW(MidB(Bin,I,1)&clow))
End If
Next
Bin2Str = Str
End Function

Private Function Num2Str(Num,Base,Lens)
Dim Ret
Ret = ""
While(Num>=Base)
Ret = (Num Mod Base) & Ret
Num = (Num – Num Mod Base)/Base
Wend
Num2Str = Right(String(Lens,"0") & Num & Ret,Lens)
End Function

Private Function Str2Num(Str,Base)
Dim Ret,I
Ret = 0
For I=1 To Len(Str)
Ret = Ret *base + Cint(Mid(Str,I,1))
Next
Str2Num=Ret
End Function

Private Function BinVal(Bin)
Dim Ret,I
Ret = 0
For I = LenB(Bin) To 1 Step -1
Ret = Ret *256 + AscB(MidB(Bin,I,1))
Next
BinVal=Ret
End Function

Private Function BinVal2(Bin)
Dim Ret,I
Ret = 0
For I = 1 To LenB(Bin)
Ret = Ret *256 + AscB(MidB(Bin,I,1))
Next
BinVal2=Ret
End Function

Private Function GetImageSize(filespec)
Dim bFlag
Dim Ret(3)
ASO.LoadFromFile(filespec)
bFlag=ASO.Read(3)
Select Case Hex(binVal(bFlag))
Case "4E5089":
ASO.Read(15)
ret(0)="PNG"
ret(1)=BinVal2(ASO.Read(2))
ASO.Read(2)
ret(2)=BinVal2(ASO.Read(2))
Case "464947":
ASO.read(3)
ret(0)="gif"
ret(1)=BinVal(ASO.Read(2))
ret(2)=BinVal(ASO.Read(2))
Case "535746":
ASO.read(5)
binData=ASO.Read(1)
sConv=Num2Str(ascb(binData),2 ,8)
nBits=Str2Num(left(sConv,5),2)
sConv=mid(sConv,6)
While(len(sConv)<nBits*4)
binData=ASO.Read(1)
sConv=sConv&Num2Str(AscB(binData),2 ,8)
Wend
ret(0)="SWF"
ret(1)=Int(Abs(Str2Num(Mid(sConv,1*nBits+1,nBits),2)-Str2Num(Mid(sConv,0*nBits+1,nBits),2))/20)
ret(2)=Int(Abs(Str2Num(Mid(sConv,3*nBits+1,nBits),2)-Str2Num(Mid(sConv,2*nBits+1,nBits),2))/20)
Case "FFD8FF":
Do
Do: p1=binVal(ASO.Read(1)): Loop While p1=255 And Not ASO.EOS
If p1>191 And p1<196 Then Exit Do Else ASO.read(binval2(ASO.Read(2))-2)
Do:p1=binVal(ASO.Read(1)):Loop While p1<255 And Not ASO.EOS
Loop While True
ASO.Read(3)
ret(0)="JPG"
ret(2)=binval2(ASO.Read(2))
ret(1)=binval2(ASO.Read(2))
Case Else:
If left(Bin2Str(bFlag),2)="BM" Then
ASO.Read(15)
ret(0)="BMP"
ret(1)=binval(ASO.Read(4))
ret(2)=binval(ASO.Read(4))
Else
ret(0)=""
End If
End Select
ret(3)="width=""" & ret(1) &""" height=""" & ret(2) &""""
getimagesize=ret
End Function

Public Function imgW(IMGPath)
Dim FSO,IMGFile,FileExt,Arr
Set FSO = Server.CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists(IMGPath)) Then
Set IMGFile = FSO.GetFile(IMGPath)
FileExt=FSO.GetExtensionName(IMGPath)
Select Case FileExt
Case "gif","bmp","jpg","png":
Arr=GetImageSize(IMGFile.Path)
imgW = Arr(1)
End Select
Set IMGFile=Nothing
Else
imgW = 0
End If
Set FSO=Nothing
End Function

Public Function imgH(IMGPath)
Dim FSO,IMGFile,FileExt,Arr
Set FSO = server.CreateObject("Scripting.FileSystemObject")
If (FSO.FileExists(IMGPath)) Then
Set IMGFile = FSO.GetFile(IMGPath)
FileExt=FSO.GetExtensionName(IMGPath)
Select Case FileExt
Case "gif","bmp","jpg","png":
Arr=getImageSize(IMGFile.Path)
imgH = Arr(2)
End Select
Set IMGFile=Nothing
Else
imgH = 0
End If
Set FSO=Nothing
End Function
End Class

IMGPath="图片地址"

Set PP = New ImgWHInfo
W = PP.imgW(Server.Mappath(IMGPath))
H = PP.imgH(Server.Mappath(IMGPath))
Set pp = Nothing

Response.Write("宽:"&W&";高:"&H)
‘%>

2006年08月25日

有些函数老是用,自己都觉得麻烦,整理下,方便自己,或许还可以方便点别人

‘随机生成任意长度字符串

Function xRnd(codeLen) ‘codeLen为字符串长度
 ychar="0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"
   yc=split(ychar,",")
   ub=ubound(yc)
   for i=1 to codeLen
  Randomize
  ycode=ycode&yc(Int((ub*Rnd))) 
   next
  xRnd="a"&ycode
End Function

‘生成唯一id
Function Name()
 dim s1,s2,s3
 s1=year(now)&month(now)&day(now)
 s2=hour(now)&minute(now)&second(now)
 randomize
 s3= Hex(Int((99 – 1 + 1) * Rnd + 1))
 name=hex(s1)+hex(s2)
 name=name&xRnd(6)&s3  ‘此处调用了xRnd(codeLen)函数
End Function

 

‘文本转换函数,加入数据库需要
function unHtml(content)
unHtml=content
if content <> "" then
 unHtml=replace(unHtml,"&","&amp;")
 unHtml=replace(unHtml,"<","&lt;")
 unHtml=replace(unHtml,">","&gt;")
 unHtml=replace(unHtml,chr(34),"&quot;")
 unHtml=replace(unHtml,chr(13),"<br>")
 unHtml=replace(unHtml,chr(32),"&nbsp;")
end if
end function

‘文本转换函数,显示数据需要
function HTMLEncode(fString)
    fString = replace(fString, ">", "&gt;")
    fString = replace(fString, "<", "&lt;")
    fString = Replace(fString, CHR(13), "")
    fString = Replace(fString, CHR(10) & CHR(10), "</P><P>")
    fString = Replace(fString, CHR(10), "<BR>")
    HTMLEncode = fString
end function

”””使用FSO写文件某一行的函数
function   FSOlinewrite(filename,lineNum,Linecontent)
 if   linenum   <   1   then   exit   function
 dim   fso,f,temparray,tempCnt
 set   fso   =   server.CreateObject("scripting.filesystemobject")
 if   not   fso.fileExists(server.mappath(filename))   then   exit   function
 set   f   =   fso.opentextfile(server.mappath(filename),1)
 if   not   f.AtEndofStream   then
 tempcnt   =   f.readall
 f.close
 temparray   =   split(tempcnt,chr(13)&chr(10))
 if   lineNum>ubound(temparray)+1   then
 exit   function
 else
 temparray(lineNum-1)   =   lineContent
 end   if
 tempcnt   =   join(temparray,chr(13)&chr(10))
 set   f   =   fso.createtextfile(server.mappath(filename),true)
 f.write   tempcnt
 f.writeLine sbottom ‘写最后文件
 end   if
 f.close
 set   f   =   nothing
end   function

”””计算文件长度函数
function   FSOline(filename)
 dim   fso,f,temparray,tempcnt
 set   fso   =   server.CreateObject("scripting.filesystemobject")
 if   not   fso.fileExists(server.mappath(filename))   then   exit   function
 set   f   =   fso.opentextfile(server.mappath(filename),1)
 if   not   f.AtEndofStream   then
 tempcnt   =   f.readall
 f.close
 set   f   =   nothing
 temparray   =   split(tempcnt,chr(13)&chr(10))
 FSOline   =   ubound(temparray)
 temparray=""
 end   if
end   function

‘保存远程的文件到本地服务器
Sub eWebEditor_SaveRemoteFile(s_LocalFileName,s_RemoteFileUrl)
 Dim Ads, Retrieval, GetRemoteData
 On Error Resume Next
 Set Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
 With Retrieval
  .Open "Get", s_RemoteFileUrl, False, "", ""
  .Send
  GetRemoteData = .ResponseBody
 End With
 Set Retrieval = Nothing
 Set Ads = Server.CreateObject("Adodb.Stream")
 With Ads
  .Type = 1
  .Open
  .Write GetRemoteData
  .SaveToFile Server.MapPath(s_LocalFileName), 2
  .Cancel()
  .Close()
 End With
 Set Ads=nothing
End Sub

‘判断电子信箱格式是否正确
Function IsValidEmail(email)
 dim names, name, i, c
 IsValidEmail = true
 names = Split(email, "@")

 if UBound(names) <> 1 then
  IsValidEmail = false
 exit function
 end If
 
 for each name in names
  if Len(name) <= 0 then
   IsValidEmail = false
   exit function
   end if
   for i = 1 to Len(name)
    c = Lcase(Mid(name, i, 1))
    if InStr("abcdefghijklmnopqrstuvwxyz_-.", c) <= 0 and not IsNumeric(c) then
     IsValidEmail = false
     exit function
    end if
   next
   if Left(name, 1) = "." or Right(name, 1) = "." then
    IsValidEmail = false
    exit function
   end If
 next
  if InStr(names(1), ".") <= 0 then
   IsValidEmail = false
   exit function
  end if
  i = Len(names(1)) – InStrRev(names(1), ".")
 if i <> 2 and i <> 3 then
  IsValidEmail = false
 exit function
 end If
 
 if InStr(email, "..") > 0 then
  IsValidEmail = false
 end if

End Function

‘判断文件夹是否存在,不存在则创建之

Sub CheckFolderStatus(fldr)
  Dim fso, msg, parentPath
  Response.Write fldr
  Set fso = Server.CreateObject("Scripting.FileSystemObject")
  If Not (fso.FolderExists(fldr)) Then
 parentPath = left(fldr,InstrRev(fldr,"\")-1)
 If Not (fso.FolderExists(fldr)) Then
  CheckFolderStatus(parentPath)
 End If
    fso.CreateFolder(fldr)
  End If
End Sub

‘判断文件是否jpg或者gif文件

‘Set objFSO1 = CreateObject("Scripting.FileSystemObject")
‘Set objF = objFSO1.GetFile(Server.mappath(formPath&file.FileName) )

‘利用文件头判断文件是否是图片
‘If lcase(right(file.FileName,3))="jpg" then’
‘ if GetBytes(Server.mappath(formPath&file.FileName),5,4)="JFIF" then
‘  response.write "Good!"
‘ Else
‘  response.write "该文件不是图片!"
‘  objF.delete
‘  set objF=Nothing
‘  set objFSO1=Nothing
‘  response.end
‘ End If
‘End If
‘If lcase(right(file.FileName,3))="gif" then
‘ if GetBytes(Server.mappath(formPath&file.FileName),0,3)="GIF" then’
‘ response.write "Good"
 ’Else
‘  response.write "该文件不是图片!"
‘  objF.delete
‘  set objF=Nothing
‘  set objFSO1=Nothing
‘  response.end
 ’End If
‘End If

function GetBytes(flnm, offset, bytes)
 Dim objFSO
 Dim objFTemp
 Dim objTextStream
 Dim lngSize
 on error resume next
 Set objFSO = CreateObject("Scripting.FileSystemObject")

 ’ First, we get the filesize
 Set objFTemp = objFSO.GetFile(flnm)
  lngSize = objFTemp.Size
 set objFTemp = nothing
  fsoForReading = 1
 Set objTextStream = objFSO.OpenTextFile(flnm, fsoForReading)
 if offset > 0 then
  strBuff = objTextStream.Read(offset – 1)
 end if
 if bytes = -1 then ‘ Get All!
  GetBytes = objTextStream.Read(lngSize) ‘ReadAll
 else
  GetBytes = objTextStream.Read(bytes)
 end if
 objTextStream.Close
 set objTextStream = nothing
 set objFSO = nothing
end function

 

今天看到消息,说是冥王星被驱出九大行星

 咋了?

“没交保护费呗!”

“就一年没交保护费,就驱逐啊?小样,我还不希罕呢!”

“兄弟一场的,你随便交点吧。我们也要吃饭的。”

“我们赚点钱容易嘛,凭什么要交给你。”

“因为你小!”

“小?那你当年凭什么拉俺进来?”

“当年不是没人嘛。”

“靠!现在有人了,就来踢我了。卸磨杀驴啊!”

“我们也不愿意的啊……”

“我算认清你们这些人了。”

“…………”

—————————————————————————————————

冥王星终于和九大行星的名号告别了。

2006年06月20日

http://www.deepso.com/sxna

图书馆新闻聚合系统

歌曲:舞娘
歌手:蔡依林 专辑:舞娘

月光放肆在染色的窗边
转眼魔幻所有视觉
再一杯那古老神秘恒河水
我镶在额头的猫眼揭开了庆典

为爱囚禁数千年的关键
正诉说遗忘的爱恋
听所有喜悲系在我的腰间
让那些画面再出现再回到从前

旋转跳跃我闭著眼
尘嚣看不见你沉醉了没
白雪夏夜我不停歇
模糊了年岁时光的沙漏被我踩碎

故事刻画在旋转的指尖
是谁在痴痴的跟随
这一夜那破旧皇宫的台阶
我忘情掉落的汗水点亮了庆典

一层一层把我紧紧包围
我要让世界忘了睡
你的心事倒映在我的眉间
放弃的快乐都实现难过都摧毁

旋转跳跃我闭著眼
尘嚣看不见你沉醉了没
白雪夏夜我不停歇
模糊了年岁舞娘的喜悲没人看见

时光的沙漏被我踩碎
舞娘的喜悲没人看见

所有喜悲写在我的眼前
让那些画面再出现回到从前

旋转跳跃我闭著眼
尘嚣看不见你沉醉了没
白雪夏夜我不停歇
模糊了年岁时光的沙漏被我踩碎

旋转跳跃我闭著眼
尘嚣看不见你沉醉了没
白雪夏夜我不停歇
模糊了年岁舞娘的喜悲没人看见

2006年05月20日

改了。

估计是从限制词的算法上有了改进,只是,还有好大的差距。

估计百度禁了"hot"这个词,所以在百度的图片中,你搜不到 hotel hothead hotbed 等等一系列的以hot打头的词的图片。

只是百度禁掉的词,都是他们认为的有可能含有成人内容的。未被他们禁掉的词怎么处理?

不是我教你坏,如果你年满18岁,试着用百度的图片搜一下 black trap 吧。

祝你好运!

2006年05月11日

关于百度图片搜索中的成人图片问题,在前边提过两次:

http://blog.donews.com/zero/admin/Referrers.aspx?EntryID=795158

http://blog.donews.com/zero/archive/2006/05/02/853860.aspx

今天,试了又用 bed 试着搜了一下图片,哈,百度告诉我:"抱歉,没有找到与“bed” 相关的图片"

当然,百度说的没有结果,并不是说他底层数据库中就真的没有相关的图片,有很多,前几天艘到了那么多呢!可没有结果,只是百度把 bed 这个词屏蔽掉了.

使用任何前缀为ded的词,你将任何词都搜不到的.

百度能做的也许就这么多了.

让我们在来用 suc 搜索一下……God save me! 第一张就是A级图片!第二张也是!

让我们来猜测一下,百度什么时候把 suc 也屏蔽了……

如果这样下去,百度,你也图片搜索的英文搜索全部关掉吧。发现一个,屏蔽一个,丢人!

2006年05月09日

这个不知道是不是这个blog的又一个bug

在写文章或者编辑文章任意的某个时候,复制一个url,然后使用鼠标右键,粘贴.

注意的是:在没有字的空白的地方使用鼠标右键,此时粘贴是灰色的.点下粘贴.

看看是什么效果吧.

如果你还是看不出来效果,我们来个极端的,复制一个url,写文章,直接用鼠标右键,粘贴,发表!然后随便敲上一点文字,去看看吧.

编辑时内容都是可见的,可浏览,哈,什么都没有.

2006年05月08日

     父亲去世已经4年多了,开始的时候会经常梦到他,后来就渐渐的淡了,可这一夜,父亲又入我的梦来,醒来的时候仍然历历在目。这个梦与往常的不同,有关父亲本人的身影却少了,或者说是身影没有了,只是其他的夹杂着迷信的或者神怪的一些与他有关的事。

 

    父亲是死于尿毒症的,对于一个有钱的人家来说,或许还有生的希望,可对于一个一辈子只与土地打过交道的人来说,这个病就是死亡通知书,只是去的时间早晚的问题。

 

    在被诊断出是尿毒症的那一刻,已经很晚了。医生只是说:回去吧……那么意味深长的话。父亲在回到了家,中间偶尔到小镇的那家医院去血液净化,农村人叫它洗血。村子上的医生认识的人在那家医院管着这台仪器,给他一些钱,他就把这些手续给做了。不经过医生,钱也不经过医院。或许我应该感谢他,他为我的父亲延长了不少时间的生命。

 

    1年之后,在镇子上那个收费最便宜的医院里,父亲已经很瘦了,可肚子却胀胀的。母亲告诉我,尿不出来,只能依靠那跟排尿管。父亲什么都不能吃,他说:进去的很容易很舒服,可出来却那么困难……其实,农村也没什么好吃的,最常见到的就是鸡蛋了。我没能呆在医院里多久,因为眼见不下父亲受罪的模样。我离开了父亲,走的时候给他买了新鲜的2斤杏子。在我的心中,父亲已经熬了一年多下来,在熬个几年根本不会有问题。

 

    两个月后,电话到了,一个很直接的消息:你父亲去世了。没有任何思考的余地,就是这么直接。后来我常想:那杏子是不吉利的。你看,杏字不就是木头到了嘴巴上边了么。重病的人,说他木头已经到嘴巴了,不是说行将就木了么?从此有了忌讳,有病的时候是不吃杏子的的,平时也吃的少了。看到杏子,我就想到了我的父亲。

 

    母亲和熟悉父亲的人常常提起,父亲是被累死的。只记得小时候家里什么都没有,四口的人家住在爷爷和二爷爷两家房屋之间的两米宽不到过路上,在过路上搭一点草挡挡风雨,这就是家了。80年代中后,农村的生活渐渐的好转起来,那时我在上初中,只记得很少能见到父亲的身影。早晨起来的时候,父亲已经出门了,入睡的时候,父亲还在路上。父亲只是在为家里挣点钱,在为的以后的学业准备着。镇子里有家造纸厂,需要很多的麦子桔梗。父亲就用自己的毛驴和平板车将自己的或者别人的村子里的麦子桔梗拖到厂里卖掉。从家到麦场,再从麦场到厂上,是不下于50公里的路程的。空车的时候,父亲可以坐在车子上,让毛驴拉着他。可有货的时候,父亲要和毛驴一起拉着。那时的路并不好,特别的每次下过雨之后,泥泞特别的多。就算是天气好了,路上也很容易翻车。每此翻车,父亲都要将车子上的1吨多重的麦子桔梗重新装上去。路上如果顺利的话,这样的活,父亲一天要做两次。后来想想,父亲每天要走100多里的路,要用手挑起3吨重的东西。父亲是被累死的。

 

    父亲是在被病痛折磨了一年多后才去世的。后来的梦里,经常是父亲的病渐渐的好转起来又重新拉起了麦桔,重新为家挣起了钱。昨夜的梦就是这样的……

 

    突然有人告诉母亲,父亲在拉麦桔的路上出事了,车子翻了,去了。母亲找到了丁柜。丁柜是个人,不是姓丁名柜,他应该和族人一个姓,然后是个类似掌柜的身份,所以叫他柜,至于为什么叫他丁柜而不叫他纪柜,却说不请清楚了。他在族里辈分较长,听说有些能耐,有些通鬼神的本领。丁柜说,这次事有些麻烦了,还是去找四奶吧。四奶的族里最长的,也是最有经历的。四奶说:丁柜啊,你先将长明灯燃起,领着它在为着村子用最温柔的话哭上一圈。我还想着最温柔的哭不知道是怎么个哭法,所以我特别的在意。于是丁柜拿着长明灯哭唱着,我跟在后面,记得丁柜是这么哭唱的:你是最温柔的人儿啊……路上有人叫,是公安机关处理事故的人。要家人跟着去,我就跟着走了。把父亲的身体运回来,是用白布裹着的,四奶让大家把他放到一张辕床上,摆好祭坛,让丁柜去找到了那个乞丐,租用了他的户口。那是个靠出卖灵魂为生的乞丐,我不知道这个户口是不是灵魂证书一类的东西。把他的户口放到了祭坛里……父亲活了!可能时间耽搁的太久的原因,父亲只是动了动。四奶把户口还给乞丐的时候,乞丐叫嚷着:怎么这张上的出生日期没了? 是的,只剩下了年月日三个银色的字,原来填写好的日期都没了……四奶只是说:你去找丁柜吧。

 

    我就醒了。为什么不让四奶把父亲的灵魂找回来?为什么不让父亲从床上白布下站起来?为什么不让我再看看父亲的身影?连梦都不让人快活起来!

2006年05月02日

前些日子的贴子里,说了百度是掩耳盗铃 http://blog.donews.com/zero/admin/Referrers.aspx?EntryID=795158

今天再看,原来的掩耳盗铃模式不见了,可见百度也在改正自己的缺陷.

可奇怪的是,经过几次搜索,我还是没明白百度是怎么做的.

首先,百度肯定不是基于图片内容过滤,这一点很好说明.如果是基于图片内容的,就会过滤的很干净,可是百度的搜索结果中还会出现A级内容图片.最简单的就是搜索 bed 的图片,第四个图就是A级的,呵呵

其次,百度图片不是原来的基于词组完全匹配过滤的.因为查找 breast和查找breas \brea\bre都没有原来的A级内容了

第三,百度图片的过滤,过滤到了什么?

使用sexy查找图片,居然只有四项结果!~而google中国却有1,220,000项! 这难道是google和百度之间的差距?

看不懂百度了……