代码很长哟,呵呵!
我以前也做过一个类似这样的小程序。也是读取目录文件的。我分页的思路大体如下:
1 常规准备。文件总数,当前页码,每页文件数的计算。
对于文件总数,不用每次操作都计算,可以将其放到session里。
2 根据过滤条件遍历目录。将符合条件的文件放到数组里。
比如说,你要请求从第20个文件开始,你要设置个计数器,只有当计数到20的时候才将文件保存在数组里。
数组保存每页数量够了以后,终止遍历。
3 将数组排序,输出数组。 这样做的目的可以避免每次请求都遍历整个目录。但缺点是,只能对请求出来的文件进行排序,如果要所有文件
排序,还要遍历整个数组。当然如果在linux系统下,你也可以结合shell命令来进行目录操作。
我以前也做过一个类似这样的小程序。也是读取目录文件的。我分页的思路大体如下:
1 常规准备。文件总数,当前页码,每页文件数的计算。
对于文件总数,不用每次操作都计算,可以将其放到session里。
2 根据过滤条件遍历目录。将符合条件的文件放到数组里。
比如说,你要请求从第20个文件开始,你要设置个计数器,只有当计数到20的时候才将文件保存在数组里。
数组保存每页数量够了以后,终止遍历。
3 将数组排序,输出数组。 这样做的目的可以避免每次请求都遍历整个目录。但缺点是,只能对请求出来的文件进行排序,如果要所有文件
排序,还要遍历整个数组。当然如果在linux系统下,你也可以结合shell命令来进行目录操作。
解决方案 »
- 关于mysql 分页存储过程高手请指点。。急急急
- 新闻数据表为空时,出现mysql_fetch_object(): supplied argument is not a valid MySQL result resource,该如何解决呢?
- 调查一下,大家都用哪个框架??
- php 环境下多站点共用同一函数或include同一文件
- PHP日期格式化问题
- 怎么把11变成000000011? 长度固定10位!
- 构造SQL语句直接生成链接的经验并问个问题
- 哪里可以下个PHP做的论坛或是聊天室呀?
- 郁闷!!苦恼,愤怒
- 如何将发表的文章中的类似于http://www.csdn.net/的网址转化为超级链接显示出来?
- 法瑞思招聘php专才(月薪6K~8K,能力强者,另外面议)
- [兼职] 求PHP高手修改一个网站
for ($i=0; $i <$contentsListLength-2; $i++)
{
$contentFileName = $contents[$i];
$fileType = explode(".", $contentFileName);
$previewUrl = $rootFolder . $contentsFolder . $contentFileName;
$isShown = false; if ($type == "videoFile" && in_array($fileType[1], $controlVideoFileTypeArr))
{
$isShown = true;
}
elseif ($type == "picFile" && in_array($fileType[1], $controlPicFileTypeArr))
{
$isShown = true;
}
}
就是把满足不同if条件的存放进不同的数组。
你只是要求分页.
假定你已经把所有的文件都取出来放到数组里,并且放到session里.
哪么你要做的就是:
1 检查session有没有数组,没有就重新遍历.
2 如果存在,取出来,获取文件总数,然后根据每页显示条数,计算可能有多少页等分页数据.
3 根据上述计算的数据,输出数据.另外从你上面的代码上来看,你把视频和图片放到不同的数组里了.这样的话,你可能要制定一些策略吧.一些显示几张图片,显示几个视频.可能将问题复杂化了.