|
|
|
|
|
|
|
|
趁今天有空,修正了一下这个函数,经测试,在本地服务器通过,在空间商服务器也可正常使用,没发现错误。我的卡巴斯基不报毒了。^_^
只要修改一下,这个函数是放在哪个网站都适用的。在此只与添加图片为例说明一下调用方法,其它位置方法类似。
在我本机测试成功,由于现在连不上空间的FTP,所以无办在空间上测试,发现问题请到群中提出。
一、把下面函数放到Ft_admin_conn.asp的最后
'================================== '=函 数 名:saveimgfile '=功 能: 保存远程图片 '=参数说明:imgfileurl--远程图片地址 '=修改日期: 2006-4-19 13:20 '=程序作者:冷风 '=网 站:http://www.4fnet.com.cn '================================== function saveimgfile(imgfileurl) dim img_type,savepath,imgfiletype,flag,imgbody savepath="../FUploadFile/"&year(now())&"-"&month(now()) flag=false imgfiletype=right(imgfileurl,4)'获取远程图片的格式 img_type=".gif|.bmp|.jpg|.png"'设置允许保存在本地的图片格式 typeArr=split(img_type,"|") for i=0 to ubound(typeArr)-1 if imgfiletype=typeArr(i) then flag=true exit for end if next if flag=false then'如果不是允许保存到本地的图片格式,则只连接远程图片 saveimgfile=imgfileurl else set xml_http=server.createobject("microsoft.xmlhttp") xml_http.open "get",imgfileurl,false xml_http.send imgbody=xml_http.responsebody set xml_http=nothing serverpath=server.mappath(savepath) set filefolder=server.createobject("scripting.filesystemobject") if filefolder.folderexists(serverpath)=false then filefolder.createfolder(serverpath) end if randomize savepath=savepath&"/"&year(now())&month(now())&day(now())&hour(now())&minute(now())&int(10*rnd)&imgfiletype set adodbs=server.createobject("adodb.stream") adodbs.open adodbs.type=1 adodbs.write imgbody adodbs.savetofile(server.mappath(savepath))'保存到本地 adodbs.seteos set adodbs=nothing if filefolder.fileexists(server.mappath(savepath))=false then '如果保存成功,即返回远程地址,只作远程连接,避免一些防盗连网站不能保存 saveimgfile=imgfileurl else savepath=replace(savepath,"../","") saveimgfile=savepath end if set filefolder=nothing end if end function
二、打开admin/admin_pic.asp文件 1、找到:添加图片过程中的 pic_pic=checksql("缩略图片地址",request.form("pic"),1,100) (大概在第368行)在下面插入代码:
if left(pic_url,7)="http://" and request.form("save")="true" then pic_url=saveimgfile(pic_url) pic_pic=pic_url end if 再找到:<input type="submit" name="Submit" value="确定新增"> (大概在第481行)插入以下代码:
<input type="checkbox" name="save" value="true">同时保存远程图片
2、在编辑图片过程(editpic)中的相同地方添加相应的代码即可。
ok,完工
希望大家能举一返回,其它用到图片的地方也是一样的调用方法。
欢迎光临本站:http://www.4fnet.com.cn |
|
|
::::站长友情提示:多花一分钟学点什么都好::::
|
|
|
|
|
|
|
|
|
|
|
|
=
= 免责声明 = = |
|
①
欢迎转载我网所刊信息,请注明“来源:E天下网络”。
② 凡本网注明“来源:XXX(非E天下网络)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如因作品内容、版权和其它问题需要同本网联系的,请在30日内进行。
※联系方式:Airtofly@163.com |
|
|
|
|
|
|