关于PHP的随机显示图片
1、打开Notepad++后选择新建

2、加入PHP头尾
<?php
?>

3、插入以下代码即可实现读取当前域名下或者子目录下随机图片
function getFullUrl(){
$requestUri = '';
if (isset($_SERVER['REQUEST_URI'])) {
$requestUri = $_SERVER['REQUEST_URI'];
}
else {
if (isset($_SERVER['argv'])) {
$requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0];
} else if(isset($_SERVER['QUERY_STRING'])) {
$requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING'];
}
}
$scheme = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = strstr(strtolower($_SERVER["SERVER_PROTOCOL"]), "/",true) . $scheme;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
$_fullUrl = $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $requestUri;
return $_fullUrl;
}
echo getFullUrl();
$img_array = glob("*.{gif,jpg,png,bmp}",GLOB_BRACE);
$img = array_rand($img_array);
header("location:$_fullUrl$img_array[$img]");

4、如果需要改为子目录下图片可以钩盖源码为
function getFullUrl(){
$requestUri = '';
if (isset($_SERVER['REQUEST_URI'])) {
$requestUri = $_SERVER['REQUEST_URI'];
}
else {
if (isset($_SERVER['argv'])) {
$requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0];
} else if(isset($_SERVER['QUERY_STRING'])) {
$requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING'];
}
}
$scheme = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = strstr(strtolower($_SERVER["SERVER_PROTOCOL"]), "/",true) . $scheme;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
$_fullUrl = $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $requestUri;
return $_fullUrl;
}
echo getFullUrl();
$img_array = glob("image/*.{gif,jpg,png,bmp}",GLOB_BRACE);
//这里的“image/”就是下级子目录了
$img = array_rand($img_array);
header("location:$_fullUrl$img_array[$img]");

5、如果我们不想被别人随便引用连接可以在前面加上检测连接的代码
if(!in_array($_SERVER['HTTP_HOST'],array('127.0.0.1','localhost','www.donghuiweiye.com'))){
//这里的网址域名可以任意设置,包含的就通过,不包含的就会直接显示下面的提示文字 array('www.baidu.com','163.com','www.bestkidbaby.com')
exit('程序未授权:东辉伟业');
//这里是验证没有通过时页面显示的提示,可以任意修改成自己想要显示的内容 '就不让你看'
}

6、最后保存成PHP文件即可,我这里直接存为了Index.php,源码为
<?php
//这里的网址域名可以任意设置,包含的就通过,不包含的就会直接显示下面的提示文字 array('www.baidu.com','163.com','www.bestkidbaby.com')
if(!in_array($_SERVER['HTTP_HOST'],array('127.0.0.1','localhost','www.donghuiweiye.com'))){
//这里是验证没有通过时页面显示的提示 '就不让你看'
exit('程序未授权:东辉伟业');
}
//以下是随机显示当前目录下图片的源码
function getFullUrl(){
$requestUri = '';
if (isset($_SERVER['REQUEST_URI'])) {
$requestUri = $_SERVER['REQUEST_URI'];
}
else {
if (isset($_SERVER['argv'])) {
$requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0];
} else if(isset($_SERVER['QUERY_STRING'])) {
$requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING'];
}
}
$scheme = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = strstr(strtolower($_SERVER["SERVER_PROTOCOL"]), "/",true) . $scheme;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
$_fullUrl = $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $requestUri;
return $_fullUrl;
}
echo getFullUrl();
$img_array = glob("*.{gif,jpg,png,bmp}",GLOB_BRACE);
//这里也可以改成自定义子目录下随机图片 $img_array = glob("image/*.{gif,jpg,png,bmp}",GLOB_BRACE);
$img = array_rand($img_array);
header("location:$_fullUrl$img_array[$img]");
//这里所得到的结果就是域名加上图片名称加上后缀名,如果带有子目录的话就会在图片名称前带有子目录,也就是说,只要打开这个页面,就会随机得到一张图片。
?>

7、这时可以在PHP文件根目录放入图片,源码里已经给出了支持的格式glob("image/*.{gif,jpg,png,bmp}
所以这些格式以外的不会显示
由于是本地测试,我这里填加了'127.0.0.1'和'localhost'位验证地址,本地架设好PHP环境设置Index.php所在目录或者Index.php所在的上级目录为WEB路径即可

8、打开浏览器输入127.0.0.1或者localhost即可浏览到随机的图片,如果传到服务器或者虚拟主机需要填加好已经解析的域名,比如后面的www.donghuiweiye.com,一共填加里三个就代表此文件可以同时提供给这三个地址使用,如果修改为三个域名就是同时可以给三个域名公用,如果只设置一个就是只允许一个域名使用,如果在浏览器打开地址127.0.0.1后会自动跳转成“127.0.0.1/”后面加上随机选中的一张图片的名字和后缀,域名同理。

