php分页函数应用及实现原理详解
第13课老师提供的分页函数,我进行了适当的修改,去掉了一些我不太好理解的地方。
只要你好好研究老师的函数,想必很容易就可以判断出我修改的地方。
如果你觉得我修改有什么不当的地方欢迎指证,交流可以促使你我进步!
-变量
1.局部变量
2.全局变量(global,$GLOBALS)
a.在函数外定义的局部变量,只可以在主程序使用,不可在函数内或其他文件使用
b.在函数内定义的局部变量,只可在本函数内使用
c.在函数外定义的局部变量,想要在函数内使用,必须在函数内将变量声明为global
d.在函数内定义的局部变量,想要在函数外使用,必须在函数内将变量声明为global
注意:
1.必须先将变量声明为global,然后才赋值
错误: global $color="red";
正确: global $color;$color="red";
2.必须先声明,再使用
错误:echo $color;global $color;
正确:global $color;echo $color;
f.函数的参数为局部变量,如果想要在外部使用,不能使用global这种方式(因为不符合先声明,再使用的原则)
则使用超全局变量 $GLOBALS(大写,小写有不确定性)
代码如下 | 复制代码 |
<?php //取得当前页的地址 $lastpg = ceil($totle / $displaypg); //最后页 //开始分页导航条代码: //如果只有一页则跳出函数: //下拉跳转列表,循环列出所有页码: $result=mysql_query("SELECT * FROM `news` limit $firstcount,$displaypg "); ?> |
代码如下 | 复制代码 |
$time = date("Y-m-d H:i:s"); $server_date = date("Y-m-d"); //建立文件夹 //建立txt日期文件 //echo "建立日期文件"; //首先要确定文件存在并且可写 //将$somecontent写入到我们打开的文件中。 //echo "文件 $filename 写入成功"; echo "——错误记录被保存!"; //关闭文件 } else { //将$somecontent写入到我们打开的文件中。 //echo "文件 $filename 写入成功"; //关闭文件 } |
代码如下 | 复制代码 |
<?php readdir($dirname)."<br>"; readdir($dirname)."<br>"; { } } ?> |
只能读出html文件名,读不出abc目录下的目录名,下面我们再看一实例
代码如下 | 复制代码 |
<?php |
删除url
代码如下 | 复制代码 |
$string = preg_replace('/b(https?|ftp|file)://[-A-Z0-9+&@#/%?=~_|$!:,.;]*[A-Z0-9+&@#/%=~_|$]/i', '', $string); |
将url转换成链接
代码如下 | 复制代码 |
$url = "Jean-Baptiste Jung (http://www.111cn.net)"; $url = preg_replace("#http://([A-z0-9./-]+)#", '<a href="http://www.111cn.net $1" style="font-size: 12px; vertical-align: baseline; background-color: transparent; margin: 0px; padding: 0px; color: #3777af; text-decoration: none; font-weight: bold">$0</a>', $url); |
代码如下 | 复制代码 |
<? /** * 操纵文件类 * * 例子: * FileUtil::createDir('a/1/2/3'); 测试建立文件夹 建一个a/1/2/3文件夹 * FileUtil::createFile('b/1/2/3'); 测试建立文件 在b/1/2/文件夹下面建一个3文件 * FileUtil::createFile('b/1/2/3.exe'); 测试建立文件 在b/1/2/文件夹下面建一个3.exe文件 * FileUtil::copyDir('b','d/e'); 测试复制文件夹 建立一个d/e文件夹,把b文件夹下的内容复制进去 * FileUtil::copyFile('b/1/2/3.exe','b/b/3.exe'); 测试复制文件 建立一个b/b文件夹,并把b/1/2文件夹中的3.exe文件复制进去 * FileUtil::moveDir('a/','b/c'); 测试移动文件夹 建立一个b/c文件夹,并把a文件夹下的内容移动进去,并删除a文件夹 * FileUtil::moveFile('b/1/2/3.exe','b/d/3.exe'); 测试移动文件 建立一个b/d文件夹,并把b/1/2中的3.exe移动进去 * FileUtil::unlinkFile('b/d/3.exe'); 测试删除文件 删除b/d/3.exe文件 * FileUtil::unlinkDir('d'); 测试删除文件夹 删除d文件夹 */ class FileUtil { /** * 建立文件夹 * * @param string $aimUrl * @return viod */ function createDir($aimUrl) { $aimUrl = str_replace('', '/', $aimUrl); $aimDir = ''; $arr = explode('/', $aimUrl); foreach ($arr as $str) { $aimDir .= $str . '/'; if (!file_exists($aimDir)) { mkdir($aimDir); } } } /** * 建立文件 * * @param string $aimUrl * @param boolean $overWrite 该参数控制是否覆盖原文件 * @return boolean */ function createFile($aimUrl, $overWrite = false) { if (file_exists($aimUrl) && $overWrite == false) { return false; } elseif (file_exists($aimUrl) && $overWrite == true) { FileUtil::unlinkFile($aimUrl); } $aimDir = dirname($aimUrl); FileUtil::createDir($aimDir); touch($aimUrl); return true; } /** * 移动文件夹 * * @param string $oldDir * @param string $aimDir * @param boolean $overWrite 该参数控制是否覆盖原文件 * @return boolean */ function moveDir($oldDir, $aimDir, $overWrite = false) { $aimDir = str_replace('', '/', $aimDir); $aimDir = substr($aimDir, -1) == '/' ? $aimDir : $aimDir . '/'; $oldDir = str_replace('', '/', $oldDir); $oldDir = substr($oldDir, -1) == '/' ? $oldDir : $oldDir . '/'; if (!is_dir($oldDir)) { return false; } if (!file_exists($aimDir)) { FileUtil::createDir($aimDir); } @$dirHandle = opendir($oldDir); if (!$dirHandle) { return false; } while(false !== ($file = readdir($dirHandle))) { if ($file == '.' || $file == '..') { continue; } if (!is_dir($oldDir.$file)) { FileUtil::moveFile($oldDir . $file, $aimDir . $file, $overWrite); } else { FileUtil::moveDir($oldDir . $file, $aimDir . $file, $overWrite); } } closedir($dirHandle); return rmdir($oldDir); } /** * 移动文件 * * @param string $fileUrl * @param string $aimUrl * @param boolean $overWrite 该参数控制是否覆盖原文件 * @return boolean */ function moveFile($fileUrl, $aimUrl, $overWrite = false) { if (!file_exists($fileUrl)) { return false; } if (file_exists($aimUrl) && $overWrite = false) { return false; } elseif (file_exists($aimUrl) && $overWrite = true) { FileUtil::unlinkFile($aimUrl); } $aimDir = dirname($aimUrl); FileUtil::createDir($aimDir); rename($fileUrl, $aimUrl); return true; } /** * 删除文件夹 * * @param string $aimDir * @return boolean */ function unlinkDir($aimDir) { $aimDir = str_replace('', '/', $aimDir); $aimDir = substr($aimDir, -1) == '/' ? $aimDir : $aimDir.'/'; if (!is_dir($aimDir)) { return false; } $dirHandle = opendir($aimDir); while(false !== ($file = readdir($dirHandle))) { if ($file == '.' || $file == '..') { continue; } if (!is_dir($aimDir.$file)) { FileUtil::unlinkFile($aimDir . $file); } else { FileUtil::unlinkDir($aimDir . $file); } } closedir($dirHandle); return rmdir($aimDir); } /** * 删除文件 * * @param string $aimUrl * @return boolean */ function unlinkFile($aimUrl) { if (file_exists($aimUrl)) { unlink($aimUrl); return true; } else { return false; } } /** * 复制文件夹 * * @param string $oldDir * @param string $aimDir * @param boolean $overWrite 该参数控制是否覆盖原文件 * @return boolean */ function copyDir($oldDir, $aimDir, $overWrite = false) { $aimDir = str_replace('', '/', $aimDir); $aimDir = substr($aimDir, -1) == '/' ? $aimDir : $aimDir.'/'; $oldDir = str_replace('', '/', $oldDir); $oldDir = substr($oldDir, -1) == '/' ? $oldDir : $oldDir.'/'; if (!is_dir($oldDir)) { return false; } if (!file_exists($aimDir)) { FileUtil::createDir($aimDir); } $dirHandle = opendir($oldDir); while(false !== ($file = readdir($dirHandle))) { if ($file == '.' || $file == '..') { continue; } if (!is_dir($oldDir . $file)) { FileUtil::copyFile($oldDir . $file, $aimDir . $file, $overWrite); } else { FileUtil::copyDir($oldDir . $file, $aimDir . $file, $overWrite); } } return closedir($dirHandle); } /** * 复制文件 * * @param string $fileUrl * @param string $aimUrl * @param boolean $overWrite 该参数控制是否覆盖原文件 * @return boolean */ function copyFile($fileUrl, $aimUrl, $overWrite = false) { if (!file_exists($fileUrl)) { return false; } if (file_exists($aimUrl) && $overWrite == false) { return false; } elseif (file_exists($aimUrl) && $overWrite == true) { FileUtil::unlinkFile($aimUrl); } $aimDir = dirname($aimUrl); FileUtil::createDir($aimDir); copy($fileUrl, $aimUrl); return true; } } ?> |
相关文章
- eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
- 在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
- 我们这里介绍php与KindEditor编辑器使用时如何利用KindEditor编辑器的分页功能实现文章内容分页,KindEditor编辑器在我们点击分页时会插入代码,我们只要以它为分切符,就...2016-11-25
Python astype(np.float)函数使用方法解析
这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08- 最近接了一个项目,其中有需求要用到jquery分页控件,上网也找到了需要分页控件,各种写法各种用法,都是很复杂,最终决定自己动手写一个jquery分页控件,全当是练练手了。写的不好,还请见谅,本分页控件在chrome测试过,其他的兼容性...2015-10-30
- 这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
- 本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
- 下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
- 本文实例讲述了jquery实现的伪分页效果代码。分享给大家供大家参考,具体如下:这里介绍的jquery伪分页效果,在火狐下表现完美,IE全系列下有些问题,引入了jQuery1.7.2插件,代码里有丰富的注释,相信对学习jQuery有不小的帮助,期...2015-10-30
- CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
Android开发中findViewById()函数用法与简化
findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20- 这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
- strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
PHP函数分享之curl方式取得数据、模拟登陆、POST数据
废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07- Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
- free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
- Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统.这篇文章主要介绍了vue.js 表格分页ajax 异步加载数据的相关资料,需要的朋友可以参考下...2016-10-20
- PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
SQL Server中row_number函数的常见用法示例详解
这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08- 分享一个PHP加密解密的函数,此函数实现了对部分变量值的加密的功能。 加密代码如下: /* *功能:对字符串进行加密处理 *参数一:需要加密的内容 *参数二:密钥 */ function passport_encrypt($str,$key){ //加密函数 srand(...2015-10-30