Warning: Undefined array key "aHxDTi" in /www/wwwroot/hesiwei.cn/wp-includes/rewrite.php on line 1

Warning: Undefined array key "wOZyTK" in /www/wwwroot/hesiwei.cn/wp-includes/class-wp-block-type-registry.php on line 1
个人网络日志 – 第 6 页

Warning: Undefined array key “bjFGYX” in /www/wwwroot/hesiwei.cn/wp-content/themes/twentytwentyfive/patterns/hidden-blog-heading.php on line 1

博客

  • 15分钟学会使用Git和远程代码库(转)

    Git是个了不起但却复杂的源代码管理系统。它能支持复杂的任务,却因此经常被认为太过复杂而不适用于简单的日常工作。让我们诚实一记吧:Git是复杂的,我们不要装作它不是。但我仍然会试图教会你用(我的)基本的Git和远程代码库干活的工作步骤,在15分钟内。

     

    工作步骤

    我会展示以下的步骤,通常能帮我独自在一台或多台机器上做项目。
    1. 创建一个远程的空代码库(在BitBucket上)
    2. 在本地代码库添加一个项目
    3. 在分支上开发新功能
    4. a) 保留新功能 或者 b) 丢弃它们
    5. 也许,回到某个早先的时间点
    6. 将本地代码库推送到远程代码库
    7. 在另一台机器上取得远程代码库

    安装Git

    在大多数*nix系统(Linux、OS X)上,Git已经被安装了。你通过发送下面的命令,可以通过Git自身,把它更新到最新的的开发版本(不推荐)。
    git clone https://github.com/git/git
    在Windows上,你可以在这里下载Git的安装程序。如果你真的需要其他系统的安装程序,Mac OS X安装文件在这里,Linux的操作指导在这里

  • Git的使用

    linux下安装:
    用yum来装git, 但是第一次装找不到源,最后显示 “nothing to do”,添加源:

    再安装:
    yum install git
    使用:

    首先配置:
    git config –global user.name XXX
    git config –global user.email XXX
    git config –global push.default upstream

    要对现有的某个项目开始用 Git 管理,只需到此项目所在的目录,执行:

    $ git init

    从现有仓库克隆

    git clone git://github.com/XXX

    Git的基本命令    

         现在我们有了本地和远程的版本库,让我们来试着用用Git的基本命令吧:

            git pull:从其他的版本库(既可以是远程的也可以是本地的)将代码更新到本地,例如:’git pull origin master’就是将origin这个版本库的代码更新到本地的master主枝,该功能类似于SVN的update

            git add是将当前更改或者新增的文件加入到Git的索引中,加入到Git的索引中就表示记入了版本历史中,这也是提交之前所需要执行的一步,例如’git add app/model/user.rb’就会增加app/model/user.rb文件到Git的索引中

            git rm:从当前的工作空间中和索引中删除文件,例如’git rm app/model/user.rb’

            git commit:提交当前工作空间的修改内容,类似于SVN的commit命令,例如’git commit -m “story #3, add user model”‘,提交的时候必须用-m来输入一条提交信息

            git push:将本地commit的代码更新到远程版本库中,例如’git push origin’就会将本地的代码更新到名为orgin的远程版本库中

            git log:查看历史日志

            git revert:还原一个版本的修改,必须提供一个具体的Git版本号,例如’git revert bbaf6fb5060b4875b18ff9ff637ce118256d6f20’,Git的版本号都是生成的一个哈希值、

            上面的命令几乎都是每个版本控制工具所公有的,下面就开始尝试一下Git独有的一些命令:

     

  • 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/)