仓酷云

标题: PHP教程之PHP下若何对文件停止加锁 [打印本页]

作者: 灵魂腐蚀    时间: 2015-2-3 23:57
标题: PHP教程之PHP下若何对文件停止加锁
php   manual(PHP手册)肯定是要从网上下载一个的,它很权威,也很全面,我自己认为它是一本很好的参考书,但是不适合新手当教材使用。   <?php
/**********************************************
*file lock
*@author Zeal Li
*http://www.zeali.net/
***********************************************/
/*
*lock_thisfile:取得独享锁
*@param $tmpFileStr 用来作为同享锁文件的文件名(可以随意起一个名字)
*@param $locktype 锁类型,缺省为false(非壅塞型,也就是一旦加锁掉败则直接前往false),设置为true则会一向守候加锁胜利才前往
*@return 假如加锁胜利,则前往锁实例(当利用unlock_thisfile办法的时分需求这个参数),加锁掉败则前往false.
*/
function lock_thisfile($tmpFileStr,$locktype=false){
    if($locktype == false)
        $locktype = LOCK_EX|LOCK_NB;
    $can_write = 0;
    $lockfp = @fopen($tmpFileStr.".lock","w");
    if($lockfp){
        $can_write = @flock($lockfp,$locktype);
    }
    if($can_write){
        return $lockfp;
    }
    else{
        if($lockfp){
            @fclose($lockfp);
            @unlink($tmpFileStr.".lock");
        }
        return false;
    }
}
/**
*unlock_thisfile:对先前获得的锁实例停止解锁
*@param $fp lock_thisfile办法的前往值
*@param $tmpFileStr 用来作为同享锁文件的文件名(可以随意起一个名字)
*/
function unlock_thisfile($fp,$tmpFileStr){
    @flock($fp,LOCK_UN);
    @fclose($fp);
    @fclose($fp);
    @unlink($tmpFileStr.".lock");
}
?>
<?php
// 利用举例
$tmpFileStr = "/tmp/mylock.loc";
// 守候获得操作权限,假如要当即前往则把第二个参数设为false.
$lockhandle = lock_thisfile($tmpFileStr,true);
if($lockhandle){
    // 在这里停止一切需求独有的事务处置。
    // ... ...
    // 事务处置终了。
    unlock_thisfile($lockhandle,$tmpFileStr);
}
?>
工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量。
作者: 飘灵儿    时间: 2015-2-4 07:14
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 若相依    时间: 2015-2-9 18:38
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者: 只想知道    时间: 2015-2-12 07:44
当然这种网站的会员费就几十块钱。
作者: 若天明    时间: 2015-2-16 01:18
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
作者: 小女巫    时间: 2015-2-24 06:37
有时候汉字的空格也能导致页面出错,所以在写代码的时候,要输入空格最好用引文模式。
作者: 深爱那片海    时间: 2015-3-7 11:39
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 精灵巫婆    时间: 2015-3-15 02:07
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 飘飘悠悠    时间: 2015-3-21 15:58
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
作者: 变相怪杰    时间: 2015-3-25 08:55
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 山那边是海    时间: 2015-3-27 02:12
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
作者: 爱飞    时间: 2015-3-29 02:25
首先我是坚决反对新手上来就用框架的,因为对底层的东西一点都不了解,造成知识上的真空,会对以后的发展不利。我的观点上手了解下框架就好,代码还是手写。当然啦如果是位别的编程语言的高手的话,这个就另当别论啦。
作者: 愤怒的大鸟    时间: 2015-4-16 00:07
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
作者: 海妖    时间: 2015-5-4 21:32
爱上php,他也会爱上你。
作者: 活着的死人    时间: 2015-5-5 10:51
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
作者: 透明    时间: 2015-6-11 13:39
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
作者: 老尸    时间: 2015-6-12 23:06
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 分手快乐    时间: 2015-6-14 21:23
再就是混迹于论坛啦,咱们的phpchina的论坛就很强大,提出的问题一般都是有达人去解答的,以前的帖子也要多看看也能学到不少前辈们的经验。别的不错的论坛例如php100,javaeye也是很不错的。
作者: 乐观    时间: 2015-6-19 22:41
建议加几个专业的phper的群,当然啦需要说话的人多,一处一点问题能有人回答你的,当然啦要让人回答你的问题,平时就得躲在里面聊天,大家混熟啦,愿意回答你问题的人自然就多啦。
作者: 冷月葬花魂    时间: 2015-6-20 21:15
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: 小妖女    时间: 2015-6-20 21:33
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2