php 分页函数 带参数说明

 更新时间:2016年11月25日 15:59  点击:2191

关于分页函式的使用说明:
#### 检索分页函式 ####
Int $HALT - 检索结果仅分1页时是否(1/0)显示页码条
Int $LRLIST - (页码条显示页码数-1)/2
Int $ECHOCNT - 检索时每页显示记录的数量
Int $paper - 页数,预提取:$paper=$HTTP_GET_VARS[paper];
Varchar $table - 数据表名,预附值:$table="db.table";
Varchar $where - 检索条件,预附值:$where="where field='value'";
Varchar $enwhere - 将原$where进行两次base64_encode()编码后以GET的方式提交
Varchar $splitstr - 页码条输出字串,执行函式后在相应的位置执行 echo $splitstr;
函式调用前需获取变量:
$paper=$HTTP_GET_VARS[paper];
$sumcnt=$HTTP_GET_VARS[sumcnt];
$enwhere=$HTTP_GET_VARS[enwhere];
Return (Varchar $where) - 分页后检索语句的检索条件
注意:本函式需调用出错处理函式:nerror($error);

<?php
//分页函式
function splitlist($HALT,$LRLIST,$ECHOCNT,$paper,$table,$where,$page_id,$userid){
global $splitstr,$sumcnt;
if($paper=="" || $sumcnt==""){
$query = "select count(*) as num from $table $where";
$result = mysql教程_query($query);
$row = mysql_fetch_array($result);
$sumcnt=$row["num"];
if($sumcnt==0){
nerror("该版内还没有选择发布新闻!");
}
$paper=1;
}
$sumpaper=($sumcnt-$sumcnt%$ECHOCNT)/$ECHOCNT;
if(($sumcnt%$ECHOCNT)!=0) $sumpaper+=1;
if($sumpaper==1 && $HALT==0) return($where);
$enwhere=base64_encode(base64_encode($where));
if(($LRLIST*2+1) < $sumpaper){
if(($paper-$LRLIST) < 2){
$tract=1;
$sub=$LRLIST*2+1;
}else if(($paper+$LRLIST) >= $sumpaper){
$tract=$sumpaper-($LRLIST*2);
$sub=$sumpaper;
}else{
$tract=$paper-$LRLIST;
$sub=$paper+$LRLIST;
}
}else{
$tract=1;
$sub=$sumpaper;
}
$uppaper=$paper-1;
$downpaper=$paper+1;
$startcnt=($paper-1)*$ECHOCNT;
$where.=" limit ${ startcnt },${ ECHOCNT }";
if($tract > 1) { $splitstr="【 << "; }
else $splitstr="【 << ";
for($i=$tract;$i<=$sub;$i++){
if ($i!=$paper) $splitstr.="".$i." ";
else $splitstr.="".$i." ";
}
if ($sub!=$sumpaper) $splitstr.=">> 】";
else $splitstr.=">> 】";
return($where);
}
?>

 

简单的目录删除程序
<?php教程
//目录删除函式
function del_DIR($directory){
$mydir=dir($directory);
while($file=$mydir->read()){
if((is_dir("$directory/$file")) AND ($file!=".") AND ($file!="..")){
del_DIR("$directory/$file");
}else{
if(($file!=".") AND ($file!="..")){
unlink("$directory/$file");
//echo "unlink $directory/$file ok
";
}
}
}
$mydir->close();
rmdir($directory);
//echo "rmdir $directory ok
";
}
?>

<?php教程
//===================================
//
// 功能:IP地址获取真实地址函数
// 参数:$ip - IP地址
//
//===================================
function convertip($ip) {
$dat_path = '../QQWry.Dat';       
if(!preg_match("/^d{1,3}.d{1,3}.d{1,3}.d{1,3}$/", $ip)) {
return 'IP Address Error';

if(!$fd = @fopen($dat_path, 'rb')){
return 'IP date file not exists or access denied';

$ip = explode('.', $ip);
$ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3]; 
$DataBegin = fread($fd, 4);
$DataEnd = fread($fd, 4);
$ipbegin = implode('', unpack('L', $DataBegin));
if($ipbegin < 0) $ipbegin += pow(2, 32);
$ipend = implode('', unpack('L', $DataEnd));
if($ipend < 0) $ipend += pow(2, 32);
$ipAllNum = ($ipend - $ipbegin) / 7 + 1;
$BeginNum = 0;
$EndNum = $ipAllNum; 
while($ip1num>$ipNum || $ip2num<$ipNum) {
$Middle= intval(($EndNum + $BeginNum) / 2);
fseek($fd, $ipbegin + 7 * $Middle);
$ipData1 = fread($fd, 4);
if(strlen($ipData1) < 4) {
fclose($fd);
return 'System Error';
}
$ip1num = implode('', unpack('L', $ipData1));
if($ip1num < 0) $ip1num += pow(2, 32);

if($ip1num > $ipNum) {
$EndNum = $Middle;
continue;

$DataSeek = fread($fd, 3);
if(strlen($DataSeek) < 3) {
fclose($fd);
return 'System Error';
}
$DataSeek = implode('', unpack('L', $DataSeek.chr(0)));
fseek($fd, $DataSeek);
$ipData2 = fread($fd, 4);
if(strlen($ipData2) < 4) {
fclose($fd);
return 'System Error';
}
$ip2num = implode('', unpack('L', $ipData2));
if($ip2num < 0) $ip2num += pow(2, 32); 
if($ip2num < $ipNum) {
if($Middle == $BeginNum) {
fclose($fd);
return 'Unknown';
}
$BeginNum = $Middle;
}

$ipFlag = fread($fd, 1);
if($ipFlag == chr(1)) {
$ipSeek = fread($fd, 3);
if(strlen($ipSeek) < 3) {
fclose($fd);
return 'System Error';
}
$ipSeek = implode('', unpack('L', $ipSeek.chr(0)));
fseek($fd, $ipSeek);
$ipFlag = fread($fd, 1);
}
if($ipFlag == chr(2)) {
$AddrSeek = fread($fd, 3);
if(strlen($AddrSeek) < 3) {
fclose($fd);
return 'System Error';
}
$ipFlag = fread($fd, 1);
if($ipFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if(strlen($AddrSeek2) < 3) {
fclose($fd);
return 'System Error';
}
$AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while(($char = fread($fd, 1)) != chr(0))
$ipAddr2 .= $char;
$AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));
fseek($fd, $AddrSeek);
while(($char = fread($fd, 1)) != chr(0))
$ipAddr1 .= $char;
} else {
fseek($fd, -1, SEEK_CUR);
while(($char = fread($fd, 1)) != chr(0))
$ipAddr1 .= $char;
$ipFlag = fread($fd, 1);
if($ipFlag == chr(2)) {
$AddrSeek2 = fread($fd, 3);
if(strlen($AddrSeek2) < 3) {
fclose($fd);
return 'System Error';
}
$AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
fseek($fd, $AddrSeek2);
} else {
fseek($fd, -1, SEEK_CUR);
}
while(($char = fread($fd, 1)) != chr(0)){
$ipAddr2 .= $char;
}
}
fclose($fd); 
if(preg_match('/http/i', $ipAddr2)) {
$ipAddr2 = '';
}
$ipaddr = "$ipAddr1 $ipAddr2";
$ipaddr = preg_replace('/CZ88.NET/is', '', $ipaddr);
$ipaddr = preg_replace('/^s*/is', '', $ipaddr);
$ipaddr = preg_replace('/s*$/is', '', $ipaddr);
if(preg_match('/http/i', $ipaddr) || $ipaddr == '') {
$ipaddr = 'Unknown';
}
return $ipaddr;
}
?>


使用说明:
1、先把上面的代码保存为php文件,然后在网上下载纯真IP数据库教程QQWry.Dat,修改上述函数中的数据库连接路径代码“$dat_path = '../QQWry.Dat';”;
2、调用函数:
<?php
echo convertip($navinfor['infoip']);
?>

参考了网上部分资料,自己改写了一个方便的获取经纬度信息的类Geo,其中Latitude和Longtitude分别是纬度和经度。其中最重要的构造函数就是传入地名,通过Webrequest从Google Map获得经纬度值,在含有地理位置信息的项目里可以很方便的调用,即Geo g = new Geo("北京师范大学");然后g.Latitude和g.Longtitude就是北京师范大学的纬度和经度了,它们分别是39.9614580,116.3692820。Geo的实现如下:

using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.IO;

namespace YourNameSpace
{
    /// <summary>
    /// a class for latitude and longtitude
    /// </summary>
    [Serializable]
    public class Geo
    {
        /// <summary>
        /// latitude
        /// </summary>
        private string _latitude = "";

        /// <summary>
        /// longtitude
        /// </summary>
        private string _longtitude = "";

        /// <summary>
        /// default constructor
        /// </summary>
        public Geo()
        {

        }

        /// <summary>
        /// construct geo given latitude and longtitude
        /// </summary>
        /// <param name="latitude"></param>
        /// <param name="longtitude"></param>
        public Geo(string latitude, string longtitude)
        {
            _latitude = latitude;
            _longtitude = longtitude;
        }
       
        /// <summary>
        /// construct geo given name of a place
        /// </summary>
        /// <param name="location"></param>
        public Geo(string location)
        {
            string output = "csv";
            string url = string.Format("http://maps.google.com/maps/geo?q={0}&output={1}", location, output);
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            using (StreamReader sr = new StreamReader(response.GetResponseStream()))
            {
                string[] tmpArray = sr.ReadToEnd().Split(',');
                _latitude = tmpArray[2];
                _longtitude = tmpArray[3];
            }
        }

        /// <summary>
        /// get latitude(纬度)
        /// </summary>
        public string Latitude
        {
            get { return _latitude; }
            set { _latitude = value; }
        }

        /// <summary>
        /// get longtitude(经度)
        /// </summary>
        public string Longtitude
        {
            get { return _longtitude; }
            set { _longtitude = value; }
        }
    }

这个脚本一次上传多个文件。对于一次上传多个文件,首先创建一个按规定的文件数表上载。在创建表时,文件应该分别张贴在每一行和列。在之后安排文件的确切位置,你必须设置为UFile的,键入等于文件输入姓名,身份证UFile的大小等于等于50。类似的,你必须设置为居中对齐,投入,提交类型,提交和上传值名称。关闭表逐一并关闭窗体从该数据进行访问。经过开发了GUI在HTML页面中,您将使用PHP代码的。

让我们来看看设计图形用户界面形式的步骤:

设置标准的HTML来命名的doctype公众公开的HTML代码

开始与<HTML> HTML标记,开始用的<head>代码标记;

名称该程序的名称,开始在身体的程序代码。

确定表格的宽度,边框,对齐和颜色看上去就在输出屏幕。

开始形式使用表单操作命令。定义表单动作等于“multiple_upload_ac.php”,方法等于“后”,字符编码=“mutipart /表单数据”,名称等于“Form1的”和id =“Form1的”

载于下一行的表结构。设置表格的宽度为100%,边境= 0(可设置2个或3点厚),cellpading,可以隐藏和表的颜色。

命名的如“多文件上传粗体字母代码”称号

现在,选择一个文件之一,输入名称,类型,ID和文件的大小,并呼吁该计划之一之一。

对于提交按钮,设置对齐等于中心,输入类型等于提交,提交相同的名称和价值等于上传。

关闭表,然后关闭该窗体。

关闭HTML文件的身体和结束标记。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> Multiple Files Upload </TITLE>
<BODY>
<table width="500" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form action="multiple_upload_ac.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td><strong>Multiple Files Upload </strong></td>
</tr>
<tr>
<td>Select First file
<input name="ufile[]" type="file" id="ufile[]" size="50" /></td>
</tr>
<tr>
<td>Select Second file
<input name="ufile[]" type="file" id="ufile[]" size="50" /></td>
</tr>
<tr>
<td>Select Third file
<input name="ufile[]" type="file" id="ufile[]" size="50" /></td>
</tr>
<tr>
<td align="center"><input type="submit" name="Submit" value="Upload" /></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
</BODY>
</HTML>


现在,你将不得不使用PHP程序中的多个上传文件的GUI这个HTML代码。为此,你必须先设置所有三个文件的路径。这些文件可以发布,但变量$ _FILES命令,上载文件。现在,你应该从复制文件的路径设置到目标存储空间。在复制文件时,也必须给予,在处理工作,设置文件名,文件大小,文件的所有三个文件类型的临时名称。也给印刷给予命令'IMG的src'的路径和文件大小的屏幕上的图像文件的命令。现在,使用命令来打印文件错误或进程的成功。此后,申请条件语句打印的失败上传分别命令。

见的步骤:

开始PHP标签“?PHP的

第一组的所有三个文件的路径。

复制文件从源头到目的地的地方是暂时的名称上载

给印刷的文件名,文件大小,文件类型和每个文件的图像源的命令进行上传。

显示给予命令错误或文件的成功。

使用条件语句打印上载或每个文件的失败。

<?php
// Setting path for files

$path1= "C:\wamp\www\projects\public_html\upload_file\".$_FILES['ufile']['name'][0];
$path2= "C:\wamp\www\projects\public_html\upload_file\".$_FILES['ufile']['name'][1];
$path3= "C:\wamp\www\projects\public_html\upload_file\".$_FILES['ufile']['name'][2];

//copy file to where you want to store file

copy($_FILES['ufile']['tmp_name'][0], $path1);
copy($_FILES['ufile']['tmp_name'][1], $path2);
copy($_FILES['ufile']['tmp_name'][2], $path3);

echo "File Name :".$_FILES['ufile']['name'][0]."<BR/>";
echo "File Size :".$_FILES['ufile']['size'][0]."<BR/>";
echo "File Type :".$_FILES['ufile']['type'][0]."<BR/>";
echo "<img src="$path1" width="150" height="150">";
echo "<P>";

echo "File Name :".$_FILES['ufile']['name'][1]."<BR/>";
echo "File Size :".$_FILES['ufile']['size'][1]."<BR/>";
echo "File Type :".$_FILES['ufile']['type'][1]."<BR/>";
echo "<img src="$path2" width="150" height="150">";
echo "<P>";

echo "File Name :".$_FILES['ufile']['name'][2]."<BR/>";
echo "File Size :".$_FILES['ufile']['size'][2]."<BR/>";
echo "File Type :".$_FILES['ufile']['type'][2]."<BR/>";
echo "<img src="$path3" width="150" height="150">";


//code to display the error or success.

$filesize1=$_FILES['ufile']['size'][0];
$filesize2=$_FILES['ufile']['size'][1];
$filesize3=$_FILES['ufile']['size'][2];

if($filesize1 && $filesize2 && $filesize3 != 0)
{
echo "<BR />";
echo "your files have entered successfully";
}

else {
echo "ERROR.....";
}

if($filesize1==0) {
echo "There're something problem in your first file!";
echo "<BR />";
}

if($filesize2==0) {
echo "There're something problem in your second file!";
echo "<BR />";
}

if($filesize3==0) {

echo "There're something problem in your third file!";
echo "<BR />";
}

?>

[!--infotagslink--]

相关文章

  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • php KindEditor文章内分页的实例方法

    我们这里介绍php与KindEditor编辑器使用时如何利用KindEditor编辑器的分页功能实现文章内容分页,KindEditor编辑器在我们点击分页时会插入代码,我们只要以它为分切符,就...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • 自己动手写的jquery分页控件(非常简单实用)

    最近接了一个项目,其中有需求要用到jquery分页控件,上网也找到了需要分页控件,各种写法各种用法,都是很复杂,最终决定自己动手写一个jquery分页控件,全当是练练手了。写的不好,还请见谅,本分页控件在chrome测试过,其他的兼容性...2015-10-30
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • jquery实现的伪分页效果代码

    本文实例讲述了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
  • Nest.js参数校验和自定义返回数据格式详解

    这篇文章主要给大家介绍了关于Nest.js参数校验和自定义返回数据格式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-28
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • 解决Springboot get请求是参数过长的情况

    这篇文章主要介绍了解决Springboot get请求是参数过长的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-17
  • vue.js 表格分页ajax 异步加载数据

    Vue.js通过简洁的API提供高效的数据绑定和灵活的组件系统.这篇文章主要介绍了vue.js 表格分页ajax 异步加载数据的相关资料,需要的朋友可以参考下...2016-10-20
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31