• 技术文章 >后端开发 >php教程

    一些PHP写的小东西_php技巧

    2016-05-17 09:43:09原创255
    一些小东西有时候可能用得上!


    1.得到客户端IP地址


    function getip(){
    if (! empty($_SERVER["HTTP_X_FORWARDED_FOR"])){ //使用代理的情况
    $tip = split(",", $_SERVER["HTTP_X_FORWARDED_FOR"]);
    $cip = $tip[0];
    }
    else
    $cip = $_SERVER["REMOTE_ADDR"];[
    return dechex(ip2long($cip));
    }


    2.session控制的函数


    function session_begin(){
    global $userid, $sid, $ip, $session, $db, $islogin;
    $ip = getip();
    /* 短期而言,系统默认需要支持cookie. */
    if (!isset($_COOKIE['userid'])) return false;
    else $userid = $_COOKIE['userid'];
    if (!isset($_COOKIE['sid'])) return false;
    else $sid = $_COOKIE['sid'];
    /* 以上返回false意味着用户没有登陆,页面将跳转至首页(登陆页). */

    $query = "SELECT * FROM user WHERE nickname = '$userid'";
    $result = $db->sql_query($query);
    if ($row = $db->sql_fetchrow($result)){
    if ($row['sid'] != $sid) return false; /* cookie传送的sid和数据库保存的不吻合 */
    if ($row['lastloginip'] != $ip) return false; /* IP不吻合 */
    /* 是否要考虑 session的过期 问题呢? */
    }
    else return false; /* 没有这个userid */
    $session = $row;
    // $session[''] = $row[''];
    unset($row);

    $islogin = true;
    return true;
    }

    /* bool session_end(int $userid, string $sid) */
    function sesssion_end($userid, $sid){
    return true;
    }


    3.做选美的投票程序


    header("Refresh:0;url=./"); //一秒刷新
    ?>



    4.smarty的搜索程序


    require_once('mysql.php');
    $db = new sql_db('localhost','root','','selectmm');
    require_once('functions.php');
    require_once('session.php');
    session_begin();
    require('./Libs/Smarty.class.php');
    $smarty = new Smarty;
    $title = "首页";
    $smarty->assign("islogin",$islogin);
    $smarty->assign("title",$title);
    $age=$_GET['age'];
    $arr=explode(',',$age);
    $y=date('Y');
    $md=date('-m-d');
    $begin=($y-$arr[1]).$md;
    $end=($y-$arr[0]).$md;
    $sql="select p.* from pic_info p,user u where p.user_id=u.user_id and u.birthday between '$begin' and '$end' group by u.user_id";
    $link=$db->sql_query($sql) or die(mysql_error());
    $row = $db->sql_fetchrowset($link);
    $db->sql_freeresult();
    $smarty->assign("pic",$row);
    $smarty->display('index.tpl.htm');
    ?>


    5.注册程序


    require('mysql.php');
    $str=new sql_db('localhost','root','','selectmm');
    $METHOD = $_POST;
    if (isset($METHOD['nickname']) && $METHOD['nickname'] != '') $nickname = $METHOD['nickname'];
    else { echo ""; echo ""; }
    if (isset($METHOD['password']) && strlen($METHOD['password'])>=6) $password = $METHOD['password'];
    else { echo ""; echo ""; }
    $password2 = $METHOD['password2'];
    if ($password != $password2)
    { echo ""; echo ""; }
    if (isset($METHOD['name']) && $METHOD['name'] != '') $name = $METHOD['name'];
    else { echo ""; echo ""; }
    $birthday=$METHOD['Year'].$METHOD['Month'].$METHOD['Day'];
    $stature = $METHOD['stature'];
    $astrology = $METHOD['astrology'];
    $bloodtype = $METHOD['bloodtype'];
    $goodat = $METHOD['goodat'];
    $work = $METHOD['work'];
    $educate = $METHOD['educate'];
    $homeplace = $METHOD['homeplace'];
    $address = $METHOD['address'];
    $tel = $METHOD['tel'];
    $qq = $METHOD['qq'];
    if (isset($METHOD['email']) && $METHOD['email'] != '') $email = $METHOD['email'];
    else { echo ""; echo ""; }
    if (!eregi("^[0-9a-z.-_]+@[0-9a-z.]+.[a-z]$",$email)) { echo ""; echo ""; }
    $dian =$METHOD['dian'];
    if (isset($METHOD['myself']) && $METHOD['myself'] != '') $myself = $METHOD['myself'];
    else { echo ""; echo ""; }
    if(isset($METHOD['enounce'])&& $METHOD['enounce']!='')$enounce = $METHOD['enounce'];
    else { echo ""; echo ""; }


    $query = "SELECT * FROM user WHERE nickname ='$nickname' or email='$email'";
    $result = $str->sql_query($query)or die(mysql_error()); ;
    if ($row = $str->sql_fetchrow($result))
    { echo ""; echo ""; }
    $password = md5($password);
    $query = "INSERT INTO `user` (`nickname`,`password`,`name`,`birthday`,`astrology`,`bloodtype`,`stature`,`goodat`,`work`,`educate`,`homeplace`,`address`,`tel`,`email`,`qq`,`dian`,`myself`,`enounce`) VALUES('$nickname','$password','$name','$birthday','$astrology','$bloodtype','$stature','$goodat','$work','$educate','$homeplace','$address','$tel','$email','$qq','$dian','$myself','$enounce')";
    if($str->sql_query($query))
    $str->sql_close();
    echo "";

    echo "";
    ?>


    6.提交参数 JS控制


    echo "
    删除该用户";


    7.在给同事做一个文本处理,两个文档一个有7万条记录,开始用嵌套循环,php死了,后面用数组解决了问题


    if(($fp=fopen("1.txt","a+"))===false)
    {
    die("打开文件失败");
    }
    $data1=file("old.txt") or die("打开文件失败");
    $data2=file("sports.txt") or die("打开文件失败");
    foreach($data1 as $data)
    {
    $x = split("[./]",$data);
    $name = $x[count($x)-2];
    $a[$name]['md5']=$data;
    }
    foreach($data2 as $data)
    {
    $x = split("[,./]",$data);
    $name = $x[count($x)-2];
    if(isset($a[$name]))
    $a[$name]['name']=$x[0];
    }
    foreach($a as $value)
    {
    $str=$value['md5'].','.$value['name'];
    fwrite($fp,$str);
    echo $value['md5'].','.$value['name']."
    ";
    fwrite($fp,$str);
    }
    ?>


    8.验证码


    /*
    * Filename:authimg.php
    */

    Header("Content-type:image/PNG");
    session_start();
    $auth_num = "";
    /*创建一个基于调色板的图像*/
    $im = imagecreate(63, 20);
    /*初始化一个随机种子*/
    srand((double)microtime() * 1000000);
    $auth_num_k = md5(rand(0, 9999));
    $auth_num = substr($auth_num_k, 17, 5);
    /*赋值会话变量*/
    $_SESSION['authnum'] = $auth_num;
    $black = ImageColorAllocate($im, 0, 0, 0);
    $white = ImageColorAllocate($im, 255, 255, 255);
    $gray = ImageColorAllocate($im, 200, 200, 200);
    ImageFill($im, 63, 20, $black);
    imagestring($im, 5, 10, 3, $auth_num,$gray);

    for ($i = 0;$i < 200;$i++){
    $randcolor = ImageColorallocate($im, rand(0,255), rand(0,255), rand(0,255));
    imagesetpixel($im, rand()%70, rand()%30, $randcolor);
    }
    ImagePNG($im);
    ImageDestroy($im);
    ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:用缓存实现静态页面的测试_php技巧 下一篇:关于时间计算的结总_php技巧
    PHP编程就业班

    相关文章推荐

    • 揭秘PHP深受Web开发者喜爱的原因_PHP教程• 54点提高PHP编程效率 引入缓存机制提升性能_PHP教程• php加密解密实用类分享_PHP教程• 在Windows下安装Apache + PHP3_PHP教程• PHP教程.经验技巧(上)_PHP教程

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网