Board logo

标题: 刷新自动更换图片 PHP代码 [打印本页]

作者: TMD    时间: 2012-1-20 11:00     标题: 刷新自动更换图片 PHP代码

数年前经常在网络论坛上看到类似这样的帖子:黑客高手制作的,刷新一下就更换图片、当打开页面每次刷新一次图片确实自动的更换一次,甚至看到有些签名中图片、头像也有类似的功能、

那时候不知道具体是用什么方法来完成此项任务的,这天在论坛里看到某一帖子,详细介绍了图片刷新自动更换的方法、byNai.com在该篇文章贴出图片刷新自动更换的实现技巧、


图像自动换实现教程:

在你的网站上随便创建一个文件夹(例如文件名为b),然后在文件夹下创建一个.php页面,内容拷贝下面的PHP脚本(例如命名为pic.php):

<?php
$file = glob("*.*");
function isimages($v) {
if(strpos($v,".gif") || strpos($v,".png") || strpos($v,".jpg"))return true;
return false;
}
$file = array_filter($file,"isimages");
$rand = array_rand($file);
readfile('./'.$file[$rand]);
?>

该脚本有文件自动判断的功能,直接在该文件夹(例如文件夹b)存放图片格式的文件即可、

然后图片的外链地址引用创建的这个PHP脚本,例如:(你创建的.php地址后面加上?.php)

演示(按F5刷新将看到下面的图片自动更换):
  1. http://404.info.cm/tu/pic.php?.gif
复制代码

作者: TMD    时间: 2012-1-20 11:01

或者
把这个段代码直接保存为bar.php
同时建一个文件夹为bar.当然你也可以改成别的,但是必须与文件里面的url统一.
图片地址写http://你的网址/bar.php 就可以啦。

<?php
$url=’bar’;
$files=array();
if ($handle=opendir(“$url”)) {
  while(false !== ($file = readdir($handle))) {
      if ($file != “.” && $file != “..”) {
      if(substr($file,-3)==’gif’ || substr($file,-3)==’jpg’) $files[count($files)] = $file;
      }
  }
}
closedir($handle);
$random=rand(0,count($files)-1);
readfile(“$url/$files[$random]“);
?>
作者: TMD    时间: 2012-1-20 11:11

大家会发现经常有人发帖说什么恐怖图片,回复会变化(其实刷新就可以,那是骗回帖的)。其实是通过简单代码实现的!!!


PHP版本
首先建个pic文件夹

然后随意建个后缀为php的文件,把以下代码加入,代码如下:

[codes=php]$url=’pic’;
$files=array();
if ($handle=opendir(”$url”)) {
   while(false !== ($file = readdir($handle))) {
       if ($file != “.” && $file != “..”) {
       if(substr($file,-3)==’gif’ || substr($file,-3)==’jpg’) $files[count($files)] = $file;
       }
   }
}
closedir($handle);
$random=rand(0,count($files)-1);
readfile(”$url/$files[$random]”);

?>[/codes]

上传多张图片放入pic文件夹中

访问:你的地址+建立的随意的.php文件


ASP的
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
Function AllPath()
Dim Domain,GFilePath
Domain = Request.ServerVariables("SERVER_NAME")
GFilePath = Request.ServerVariables("PATH_INFO")
GFilePath = lcase(left(GFilePath,instrRev(GFilePath,"/")))
AllPath = "http://"&Domain&GFilePath
End Function

Function ShowFileList(folderspec)
Dim Path,objFSO,objFolder,count,objFile,nume,S
Path = Server.MapPath(folderspec)
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(Path) Then
Set objFolder = objFSO.GetFolder(Path)
count = 0
For Each objFile in objFolder.Files
count = count+1
Next
randomize
nume = Int((count*rnd)+1)
S = 0
ShowFileList = ""
For Each objFile in objFolder.Files
S = S + 1
If S = nume Then
ShowFileList = objFile.Name
Exit For
End If
Next
Set objFolder = Nothing
Else
ShowFileList = "NO"
End If
Set objFSO = Nothing
End Function

Dim list,filename,address,str

list = trim(Request.QueryString("list"))
if list = "" then
Response.write "访问的正确格式应为:"&AllPath&"pic.asp?list=pic"
Response.End()
end if

filename = ShowFileList("./"&list&"/")
if filename = "NO" then
Response.write "您指定的目录<b>"&list&"</b>不存在,请重新指定!"
Response.End()
end if

if filename = "" then
Response.write "您指定的目录<b>"&list&"</b>没有相关的图片文件存在,请重新指定!"
Response.End()
end if

str = right(filename,3)
if str<>"jpg" and str<>"gif" then
filename = "erro.gif"
end if

address = AllPath&list&"/"
address = address&filename
%>
<%Response.redirect(address)%>

访问的正确格式应为:"&AllPath&"pic.asp?list=pic"后面的pic改成文件夹名即可!
作者: TMD    时间: 2012-1-20 11:22

一、PHP代码法:
1。选择好相关的图片(最好是一个主题的图片,不要太杂)
2。裁剪成尺寸相同的图片,否则会变形的(看到PW也有人用类似的头像,但因为尺寸不一,搞的严重变形,实在是不堪入目啊)
3。新建一个php文件,在里面写:
<?php
$url='tx';
$files=array();
if ($handle=opendir("$url")) {
while(false !== ($file = readdir($handle))) {
    if ($file != "." && $file != "..") {
    if(substr($file,-3)=='gif' || substr($file,-3)=='jpg') $files[count($files)] = $file;
}
}
}
closedir($handle);
$random=rand(0,count($files)-1);
readfile("$url/$files[$random]");
?>
4。将此php文件放在空间某目录下(这个空间当然要支持php),然后在同目录下创建目录tx,将相关图片放在tx目录下。
这样就搞定了。
调用方法:500)this.style.width=500;" onmousewheel="return bbimg(this)">php" border=0 >
以上两种做法你认为那种简单就学那种,不过这两中做法都有一点限制,大家根据你上传的空间的情况选择,上传完以后就得到了会变图片的绝对地址.例如tp://www.dalang.com.cn/testpic/pics.asp?list=imgs&fname
有了这个图片地址,我们就可以到处贴我们做的回复一次变一次的图了。


二、脚本文件法:(是在网上找到的,也没试过,感觉上应该更适合在百度空间产生刷新一次背景变化一次的效果)

把以下代码加入到主页模板的</head>之前:
<script LANGUAGE="JavaScript">
bg = new Array(11);
bg[0] = 'http://图片网络地址1'
bg[1] = 'http://图片网络地址2'
bg[2] = 'http://图片网络地址3'
bg[3] = 'http://图片网络地址4'
bg[4] = 'http://图片网络地址5'
bg[5] = 'http://图片网络地址6'
bg[6] = 'http://图片网络地址7'
bg[7] = 'http://图片网络地址8'
bg[8] = 'http://图片网络地址9'
bg[9] = 'http://图片网络地址10'
bg[10] = 'http://图片网络地址11'
index = Math.floor(Math.random() * bg.length);
document.write("<BODY BACKGROUND="+bg[index]+">");
</script>


三、UBB代码法:

使用实例:img.asp?list=图片存放目录 (例如:ttp://www.dalang.com.cn/testpic/pics.asp?list=imgs&fname这个地址把代码中的img.asp改成了pics.asp)

图片目录放于本文件同目录下!需要FSO支持!
说明:只要将变化图片放于一个目录下,修改下面程序的(需要修改的地方)成你的目录名称!
上传本程序和图片文件夹到同一目录下,在发帖时候使用UBB代码即可!
  Function AllPath()
  Dim Domain,GFilePath
  Domain = Request.ServerVariables("SERVER_NAME")
  GFilePath = Request.ServerVariables("PATH_INFO")
  GFilePath = lcase(left(GFilePath,instrRev(GFilePath,"/")))
  AllPath = "http://"&Domain&GFilePath
  End Function

  Function ShowFileList(folderspec)
  Dim Path,objFSO,objFolder,count,objFile,nume,S
  Path = Server.MapPath(folderspec)
  Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
  If objFSO.FolderExists(Path) Then
  Set objFolder = objFSO.GetFolder(Path)
  count = 0
  For Each objFile in objFolder.Files
  count = count+1
  Next
  randomize
  nume = Int((count*rnd)+1)
  S = 0
  ShowFileList = ""
  For Each objFile in objFolder.Files
  S = S + 1
  If S = nume Then
  ShowFileList = objFile.Name
  Exit For
  End If
  Next
  Set objFolder = Nothing
  Else
  ShowFileList = "NO"
  End If
  Set objFSO = Nothing
  End Function

  Dim list,2004528115924.htm,address,str

list = trim(Request.QueryString("list"))
if list = "" then
  Response.write "本页需要正确参数引入,您缺少相关的参数!正确格式如下:"&AllPath&"img.asp?list=(需要修改的地方)"
  Response.End()
end if

2004528115924.htm = ShowFileList("./"&list&"/")
if 2004528115924.htm = "NO" then
  Response.write "您指定的目录<b>"&list&"</b>不存在,请重新指定!"
  Response.End()
end if

if 2004528115924.htm = "" then
  Response.write "您指定的目录<b>"&list&"</b>没有相关的图片文件存在,请重新指定!"
  Response.End()
end if

str = right(2004528115924.htm,3)
if str<>"jpg" and str<>"gif" then
2004528115924.htm = "erro.gif"
end if

address = AllPath&list&"/"
address = address&2004528115924.htm
%>
<%Response.redirect(address)%>
作者: HH365    时间: 2012-3-14 23:55

http://www.vps.hn/plugin.php?id=host:host&page=myhost




欢迎光临 0937 - 免费吧资源交流论坛 (http://tmd.pw/) Powered by Discuz! 7.2