1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

PHP随机图片代码

本帖由 小叶2006-04-23 发布。版面名称:后端开发

  1. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    PHP:
    $url='../images'//图片地址,只可以用./you/images这样的路径

    $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);
    if(
    substr($files[$random],-3)=='gif'header("Content-type: image/gif");
    elseif(
    substr($files[$random],-3)=='jpg'header("Content-type: image/jpeg");
    readfile("$url/$files[$random]");
     
  2. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    PHP:
    <?php

    // 创建图片存放文件夹, 如 "../itgoos" or "任意目录/itgoos/".

    // 如果图片和本文件在同意目录下为空,否则添入.

    $folder '';



    // 文件扩展名以空格分隔.

    $exts 'jpg jpeg png gif';



    $files = array(); $i = -1;

    if (
    '' == $folder$folder './';

    $handle opendir($folder);

    $exts explode(' '$exts);

    while (
    false !== ($file readdir($handle))) {

        foreach(
    $exts as $ext) {

            if (
    preg_match('/\.'.$ext.'$/i'$file$test)) {

                
    $files[] = $file;

                ++
    $i;

                }

            }

        }

    closedir($handle);

    mt_srand((double)microtime()*1000000);

    $rand mt_rand(0$i);



    header('Location: '.$folder.$files[$rand]);

    ?>
     
  3. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    PHP:
    <?php
    $dir
    ="imagetop/";//图片目录
    $imgwidth=0;//图片宽度,为0则为原始大小
    $iforder=0;//顺序显示还是随机显示,1为顺序显示,0为随机显示

    session_start();
    if(
    $imgwidth==0){$imgwidth=="";}else{$imgwidth=="width='".$imgwidth."'";}
    $handle=opendir($dir);
    while (
    $file_name=readdir($handle)){
    if((
    $file_name!==".")&&($file_name!=="..")){$file_list[]=$file_name; }
    }
    closedir($handle);
    if(
    $iforder==1){
    if(isset(
    $_SESSION['sess_suijitupian'])){
        if(
    $_SESSION['sess_suijitupian']<count($file_list)-1){
            
    $i=$_SESSION['sess_suijitupian'];$_SESSION['sess_suijitupian']=$_SESSION['sess_suijitupian']+1;
        }else{
            
    $i=0;$_SESSION['sess_suijitupian']=1;
      }
    }else{
    $i=0;$_SESSION['sess_suijitupian']=1;}
    }else{
    $num=count($file_list)-1;
    $i=rand(0,$num);
    }
    readfile($dir.$file_list[$i]);
    ?>
     
  4. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    readrand.php(此程序实际上是生成一句javascript语言)
    PHP:
    <?
    $arrayall=file("tp.txt");读出tp.txt内容到数组
    $arrays
    =count($arrayall);
    if (
    $arrays==1){//because rand(0,0) is wrong
    $selectrand=0;
    }else{
    srand((double)microtime()*1000000);//设定随机数种子
    $selectrand=rand(0,$arrays-1);
    }
    $exstr=explode(chr(9),$arrayall[$selectrand]);//从全部中随机取出一个并分割
    ?>
    document.write('<a href="<? echo $exstr[1];?>" target="new"><img src="<? echo $exstr[2];?>" width="200" height="50" alt="<? echo $exstr[0];?>" ></a>');


    HTML文件
    <html>
    <body>
    <script language='javascript' src='readrand.php'>
    </script>
    </body>
    </html>
    (你可以把scripty放到你需要的位置,并可以加入setTimeout()函数以实现定时刷新)
     
  5. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    最简单的。 <?readfile(rand(1,15).".gif");?>
     
  6. muyufan

    muyufan New Member

    注册:
    2006-01-09
    帖子:
    91
    赞:
    1
    好多啊
     
  7. 小宝

    小宝 New Member

    注册:
    2006-02-19
    帖子:
    267
    赞:
    1