分类: 开发编程

  • MYSQL–事务处理

    事务处理在各种管理系统中都有着广泛的应用,比如人员管理系统,很多同步数据库操作大都需要用到事务处理。比如说,在人员管理系统中,你删除一个人员,你即需要删除人员的基本资料,也要删除和该人员相关的信息,如信箱,文章等等,这样,这些数据库操作语句就构成一个事务! (更多…)

  • Kloxo 升级php

    背景:
    ThinkPHP3.2 需要5.3+的php版本,而kloxo的php还是5.2.17的 
    kloxo官方目前可用的PHP版本:
    php-pdo-5.2.17-13
    php-5.2.17-13
    php-mysql-5.2.17-13
    php-devel-5.2.17-13
    php-pear-1.4.9-8.el5
    php-xml-5.2.17-13
    php-common-5.2.17-13
    php-cli-5.2.17-13
    lxphp-5.2.1-400
    php-imap-5.2.17-13
    php-mbstring-5.2.17-13
    php-gd-5.2.17-13
    php-mcrypt-5.2.17-13
    所以需要手动升级
     
    过程:
    • 移除掉PHP
    yum remove php
    • 移除掉公共包
    yum remove php-common
    • 安装php 5.3
    yum install php53
    • 安装mysql支持库
    yum install php53-mysql
    不然web会提示mysql不可用
    • 安装xml支持库
    yum install php53-xml
    不然会出现找不到dom啥的
    • 安装gd支持库
    yum install php53-gd
    不然验证码插件使用不了
  • PHP获取远程图片


    $path = ‘upload/pic.jpg’;  //写入路径、文件
    $path_tmp = $path.”_tmp”; //临时写入路径、文件
            //写入路径权限设置

            $realdir = ”;
                    $file_dir = explode(‘/’,$path);
                    array_pop($file_dir); //取得路径
                    foreach ($file_dir as $dir) {
                        if ( $dir == ” )
                          continue;
                       $realdir .= ‘/’ . $dir;
                        if ( ! is_dir($realdir) ) {
                            if ( ! mkdir($realdir) ) {
                            return ”;
                            }else{
                                chmod 777 $realdir;
                            }
                        }
                    }
                     //获取图片到临时路径、文件
                    $cmd = wget -q -x -t3 -T5 -O $path_tmp $url;
                  if(is_file($path_tmp)){
                        if(filesize($path_tmp) > 10){//10 byte
                            mv $path_tmp $path;
                            chmod 777 $path;
                        }else{
                            rm $path_tmp;
                        }
                    }

  • php中如何通过get方法传递带空格的字符串

    $sousuo = urlencode($input);
    echo “<a href=$PHP_SELF?input=$input>”;

    用urldecode转回来
    $input = urldecode($input);
    echo $sousuo;

    上边$input是带空格的字符串,使用urlencode()这样空格会在传递的时候转成’20%‘,在接收的时候一般会自动转成空格。
  • php中使用jsonp跨域传递内容

    我们现在www.test.com这个域名下面有这么个html文件testjsonp.html:
    <!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
     <html xmlns=”http://www.w3.org/1999/xhtml” >
     <head>
         <title>Untitled Page</title>
          <script type=”text/javascript” src=”jquery-1.7.2.min.js”></script>
          <script type=”text/javascript”>
         jQuery(document).ready(function(){
            $.ajax({
                 type: “GET”,
                 async: false,
                 url: “http://test/jsonp.php”,
                 dataType: “jsonp”,
                 jsonp: “callback”,//传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
                 jsonpCallback:”flightHandler”,//自定义的jsonp回调函数名称,默认为jQuery自动生成的随机函数名,也可以写”?”,jQuery会自动为你处理数据
                 success: function(json){
                     alert(‘您查询到航班信息:票价: ‘ + json.price + ‘ 元,余票: ‘ + json.tickets + ‘ 张。回调函数名为: ‘+json.func);
                 },
                 error: function(){
                     alert(“fail”);
                 }
             });
         });
         </script>
         </head>
      <body>
      </body>
     </html>
    注意,要真正运行上面的代码可能需要jquery的文件,你可以将<script type=”text/javascript” src=”jquery-1.7.2.min.js”></script>改为你目录中jquery的文件路径:
    如:<script type=”text/javascript” src=”js/jquery.js”></script>
    然后,你可以再找个另外一个域名的web目录,将文件jsonp.php:
    <?php
    $callback = $_GET[“callback”];
    $a = array(
        ‘code’=>’CA1998’,
        ‘price’=>’6000’,
        ‘tickets’=>20,
        ‘func’=>$callback,
    );
    $result = json_encode($a);
    echo “flightHandler($result)”;
    exit;
    放到这个目录下面去。这样就可以测试了。
    直接在浏览器访问testjsonp.html.就可以看到效果了。
  • 比RBAC更好的权限认证方式(Auth类认证)

    Auth 类已经在ThinkPHP代码仓库中存在很久了,但是因为一直没有出过它的教程, 很少人知道它, 它其实比RBAC更方便 。
    RBAC是按节点进行认证的,如果要控制比节点更细的权限就有点困难了,比如页面上面的操作按钮, 我想判断用户权限来显示这个按钮, 如果没有权限就不会显示这个按钮; 再比如我想按积分进行权限认证, 积分在0-100时能干什么, 在101-200时能干什么。 这些权限认证用RABC都很困难。
    下面介绍 Auth权限认证, 它几乎是全能的, 除了能进行节点认证, 上面说的RABC很难认证的两种情况,它都能实现。  (更多…)
  • 截取内容200字符至摘要

            $str = strip_tags($_POST[‘content’]);去掉HTML标签
            $str = mb_substr($str,0,200,’utf-8′);//中文字符截取,防止乱码
            $str = $str.’…’;
  • Linux Crontab 定时任务 命令详解

    一.  Crontab 介绍

            crontab命令的功能是在一定的时间间隔调度一些命令的执行。

     1.1 /etc/crontab 文件

           /etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab

     如: (更多…)

  • vsftpd服务器

    一、简介
           vsftpd 是一个 UNIX 类操作系统上运行的FTP服务器的名字,它可以运行在诸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服务器不支持的特征,FTP服务器对用户的管理,在默认的情况下是根据 /etc/passwd及/etc/group 来进行的,所以我们一定要了解Linux系统用户和用户组的管理,用户和用户组的管理是一切应用的的基础

    (更多…)

  • PHP中使用curl方式抓取网页代码

    PHP抓取页面的主要方法: 1. file()函数 
    2. file_get_contents()函数 
    3. fopen()->fread()->fclose()模式 
    4.curl方式 
    5. fsockopen()函数 socket模式 
    6. 使用插件(如:http://sourceforge.net/projects/snoopy/) 

    (更多…)