QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1094|回复: 1

[求助] 这段代码要如何改才能按指定的方式来显示?

[复制链接]
发表于 2003-10-28 12:50:31 | 显示全部楼层 |阅读模式
写了一段显示当前目录下图片的代码,但是我想把图片按照每行4张来显示,并且每页显示5行,其它的自动分页,请问应该怎么改? 谢谢谢谢!

[code:1]
<?php
$dir = getcwd();
$filenum=0;
$a_img = array();

echo "<title>图片显示</title>";
myreaddir();
echo "<br>实际共有图片".$totimg."张 - 共显示图片".$filenum."张";
                           
function myreaddir(){
       
        global $dir,$filenum,$col,$maxrow,$totimg;
       
        //如果目录可以打开
        if ($dh = opendir($dir)) {
               
                //当读取目录成功时
            while (($file = readdir($dh)) !== false) {
                   
                    //除去 "." 和 ".."
                    if ($file != "." && $file != "..")
                    {
                            $type = substr($file,-3); //取得文件后缀
                            $name = substr($file,0,-4); //取得文件名
                           
                            if( $type=="gif" || $type=="jpg" || $type=="png" || $type=="GIF" || $type=="JPG" || $type=="PNG") //校对后缀名
                            {
                                    //统计图片文件数
                                        $a_img[count($a_img)] = $file;
                                        sort($a_img);
                                        reset ($a_img);
                                        $totimg = count($a_img);
                                        $x=0;
                                       
                                    $size = getimagesize ("$file"); //取得图片尺寸
                                    $halfw = round($size[0]); //取得宽度
                                    $halfh = round($size[1]); //取得高度
                                                                       
                                    echo "<a href='$file'><img src='$file' width='$halfw' height='$halfh' border='0' alt='$file 尺寸:$halfw X $halfh'></a> ";       
                                    $filenum++; //计算显示文件数
                            }
                    }
            }
        closedir($dh);
        }
}
?>

[/code:1]
发表于 2003-10-28 15:12:44 | 显示全部楼层
[code:1]
用双循环,把图像画在一个4*5表格里。(只是一个例子,估计有问题)

echo"<table width='75%' border='0' cellpadding='0' cellspacing='0'>";

for($i=0;$i<5;$i++)
{
         echo"<tr>";

         for($j=0;$j<4;$j++)
         {
                   echo"<td>";
                   echo 你的图像(如文件名 $pic[$k],如果文件名为空,echo 一个" "
                   echo"</td>";
                   $k++;
          }

         echo"</tr>";
}
echo"</table>";

至于分页,你可以读取目录后,把需要用到的20个文件名传给这个循环(如用上例 $pic[$k] 那个数组。用URL传递页码。)
用一个数组,只把本页码需要的20个文件名传给那个双循环。如:

$pic_list[] 是所有的文件名,$page 为页码。
for($i=0;$i<20;$i++)
{
               $pic[$i]=$pic_list[$i + $page*20];
}

$pic[] 里只包含本页需要的20个图像文件名。
[/code:1]
有短时间没写代码了,可能会有错误
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-5-11 05:39 , Processed in 0.093586 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表