一些PHP写的小东西

5年以前  |  阅读数:473 次  |  编程语言:PHP 

一些小东西有时候可能用得上!

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.做选美的投票程序

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

4.smarty的搜索程序

<?php
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死了,后面用数组解决了问题

<?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.验证码

<?php
/*

  • 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);
?>

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例