月份: 2013-11

沈阳市沈北路81号

jquery 得到当前页面高度和宽度的两个函数

//======需引用jquery框架======//

//返回当前页面高度

function pageHeight(){
if($.browser.msie){
return document.compatMode == “CSS1Compat”? document.documentElement.clientHeight :
document.body.clientHeight;
}else{
return self.innerHeight;
}
};

//返回当前页面宽度
function pageWidth(){
if($.browser.msie){
return document.compatMode == “CSS1Compat”? document.documentElement.clientWidth :
document.body.clientWidth;
}else{
return self.innerWidth;
}
};

php curl_init函数用法

使用PHP的cURL库可以简单和有效地去抓网页。你只需要运行一个脚本,然后分析一下你所抓取的网 页,然后就可以以程序的方式得到你想要的数据了。无论是你想从从一个链接上取部分数据,或是取一个XML文件并把其导入数据库,那怕就是简单的获取网页内 容,cURL 是一个功能强大的PHP库。
PHP中的CURL函数库(Client URL Library Function)
curl_close — 关闭一个curl会话
curl_copy_handle — 拷贝一个curl连接资源的所有内容和参数
curl_errno — 返回一个包含当前会话错误信息的数字编号
curl_error — 返回一个包含当前会话错误信息的字符串
curl_exec — 执行一个curl会话
curl_getinfo — 获取一个curl连接资源句柄的信息
curl_init — 初始化一个curl会话
curl_multi_add_handle — 向curl批处理会话中添加单独的curl句柄资源
curl_multi_close — 关闭一个批处理句柄资源
curl_multi_exec — 解析一个curl批处理句柄
curl_multi_getcontent — 返回获取的输出的文本流
curl_multi_info_read — 获取当前解析的curl的相关传输信息
curl_multi_init — 初始化一个curl批处理句柄资源
curl_multi_remove_handle — 移除curl批处理句柄资源中的某个句柄资源
curl_multi_select — Get all the sockets associated with the cURL extension, which can then be “selected”
curl_setopt_array — 以数组的形式为一个curl设置会话参数
curl_setopt — 为一个curl设置会话参数
curl_version — 获取curl相关的版本信息
curl_init()函数的作用初始化一个curl会话,curl_init()函数唯一的一个参数是可选的,表示一个url地址。
curl_exec()函数的作用是执行一个curl会话,唯一的参数是curl_init()函数返回的句柄。
curl_close()函数的作用是关闭一个curl会话,唯一的参数是curl_init()函数返回的句柄。
例子一: 基本例子
基本例子
﹤?php
// 初始化一个 cURL 对象
$curl = curl_init();
// 设置你需要抓取的URL
curl_setopt($curl, CURLOPT_URL, ‘http://www.cmx8.cn’);
// 设置header
curl_setopt($curl, CURLOPT_HEADER, 1);
// 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
// 运行cURL,请求网页
$data = curl_exec($curl);
// 关闭URL请求
curl_close($curl);
// 显示获得的数据
var_dump($data);
?>
例子二: POST数据
sendSMS.php,其可以接受两个表单域,一个是电话号码,一个是短信内容。
POST数据
﹤?php
$phoneNumber = ’13812345678′;
$message = ’This message was generated by curl and php’;
$curlPost = ’pNUMBER=’ . urlencode($phoneNumber) . ’&MESSAGE=’ . urlencode($message) . ’&SUBMIT=Send’;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, ’http://www.lxvoip.com/sendSMS.php’);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
$data = curl_exec();
curl_close($ch);
?﹥
例子三:使用代理服务器
使用代理服务器
﹤?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, ’http://www.cmx8.cn’);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXY, ’proxy.lxvoip.com:1080′);
curl_setopt($ch, CURLOPT_PROXYUSERPWD, ’user:password’);
$data = curl_exec();
curl_close($ch);
?﹥
例子四: 模拟登录
Curl 模拟登录 discuz 程序,适合DZ7.0,将username改成你的用户名,userpass改成你的密码就可以了.
Curl 模拟登录 discuz 程序
<?php

!extension_loaded(‘curl’) && die(‘The curl extension is not loaded.’);

$discuz_url = ‘http://www.lxvoip.com’;//论坛地址
$login_url = $discuz_url .’/logging.php?action=login’;//登录页地址
$get_url = $discuz_url .’/my.php?item=threads’; //我的帖子

$post_fields = array();
//以下两项不需要修改
$post_fields[‘loginfield’] = ‘username’;
$post_fields[‘loginsubmit’] = ‘true’;
//用户名和密码,必须填写
$post_fields[‘username’] = ‘lxvoip’;
$post_fields[‘password’] = ‘88888888’;
//安全提问
$post_fields[‘questionid’] = 0;
$post_fields[‘answer’] = ”;
//@todo验证码
$post_fields[‘seccodeverify’] = ”;

//获取表单FORMHASH
$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec($ch);
curl_close($ch);
preg_match(‘/<input\s*type=”hidden”\s*name=”formhash”\s*value=”(.*?)”\s*\/>/i’, $contents, $matches);
if(!empty($matches)) {
$formhash = $matches[1];
} else {
die(‘Not found the forumhash.’);
}

//POST数据,获取COOKIE
$cookie_file = dirname(__FILE__) . ‘/cookie.txt’;
//$cookie_file = tempnam(‘/tmp’);
$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_exec($ch);
curl_close($ch);

//带着上面得到的COOKIE获取需要登录后才能查看的页面内容
$ch = curl_init($get_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$contents = curl_exec($ch);
curl_close($ch);

var_dump($contents);

php换行符PHP_EOL变量的使用

PHP_EOL 是php的一个常量,他表代表换行符。

一个小小的换行,其实在不同的平台有着不同的实现,为什么要这样,可以是世界是多样的。本来在unix世界换行就用/n来代替,但是windows为了体现他的不同,就用/r/n,更有意思的是在mac中用/r。因此unix系列用 /n,windows系列用 /r/n,mac用 /r,这样就用你写的程序在不同的平台上运行有着不少的麻烦。

为了避免编写的程序在不同的平台下 换行符不同意 建议换行符使用 php常量 PHP_EOL

例如“去除换行符”;

$str = str_replace(PHP_EOL, ”, $str);

Maximum execution time of 30 seconds exceeded

Maximum execution time of 30 seconds exceeded 错误解决方案.

简单总结一下解决办法:

报错一:内存超限,具体报错语句忘了,简单说一下解决办法。

利用循环分批导入;
每个循环内部开始处使用sleep(5);语句,做延迟执行,防止服务器内存同一时间占用过多,里面数字据情况修改;
每个循环内部结束地方使用 ob_flush();刷新输出缓冲
flush();将当前为止程序的所有输出发送到用户的浏览器
两者必须同时使用来刷新输出缓冲

报错二:30秒运行超时的错误(Maximum execution time of 30 seconds exceeded)

解决办法:

方法一,修改php.ini文件

max_execution_time = 30; Maximum execution time of each script, in seconds
把它设置成需要的值就可以了。如果设置成0的话,就是永不过期。
方法二,修改php执行文件
加上
<?
set_time_limit(0);
?>

max_execution_time = 30; Maximum execution time of each script, in seconds
把它设置成需要的值就可以了。如果设置成0的话,就是永不过期。

30岁前不要去在乎的29件事

1、漂泊 

    漂泊不是一种不幸,而是一种资格。趁著没有家室拖累,趁著身体健康,此时不飘何时飘?

2、稳定  
  
    三十岁之前就在乎稳定的生活,那只有两种可能,要么就是中了彩票,要么就是未老先衰。 

3、评价 

    我们最不应该做出的牺牲就是因为别人的评价而改变自我,因为那些对你指手画脚的人自己也不知道他们遵从的规则是什么。千万不要只遵从规矩做事,规矩还在创造之中,要根据自己的判断做每一件事,虽然这样会麻烦点。 

4、幼稚 

    不要怕人说我们幼稚,这正说明你还年轻,还充满活力。「成熟」是个吓人的词儿,也是个害人的词儿。成熟和幼稚是对一个人最大而无当、最不负责任、最没用的 概括。那些庸人,绝不会有人说他们幼稚。不信,到哪天你被生活压得老气横秋,暮气沉沉的时候,人们一定会说你成熟了,你就会知道「成熟」是个什么东西。 

5、不适应 

    在一首摇滚里有这么一句:「这个城市改变了我,这个城市不需要我。」不要盲目地适应你生存的环境,因为很可能这环境自身已经不适应这个社会的发展了。

6、失败 

    我的老师曾经跟我说,一个人起码要在感情上失恋一次,在事业上失败一次,在选择上失误一次,才能长大。不要说失败是成功之母那样的老话,失败来得越早越好,要是三十岁,四十岁之后再经历失败,有些事,很可能就来不及了。  
 
7、浅薄 

    如果每看一次《泰坦尼克号》就流一次眼泪,每看一次《大话西游》就笑得直不起腰,就会有人笑你浅薄。其实那只能说明你的神经依旧非常敏锐,对哪怕非常微弱的刺激都会迅速做出适应的反应;等你的感觉迟钝了,人们就会说你深沉了。
 
8、明星 

不是不必在乎,是不能在乎。明星在商品社会是一种消费品,花了钱,听了歌,看了电影,明星们的表现再好,不过是物超所值而己,也不值得崇拜呀?就像你在地摊上花五十块钱买的裙子,别人都猜是八百块钱买的,物超所值了吧?你就崇拜上这身裙子了? 

9、代价 

    不是不计代价,而是要明白做任何事都要付出代价。对我们这个年龄的人来说,这绝不是一句废话。否则,要到三十岁的时候才会明白自己曾经付出了多少代价,却不明白为什么付出,更不明白自己得到了多少,得到什么。

10、孤独 

    这是为自由付出的代价。 

11、错误    

    这是年轻人的专利。 

12、失意 

    包括感情上的,事业上的,也许仅仅是今天花了冤枉钱没买到可心的东西,朋友家高朋满座自己却插不上一句话。过分在乎失意的感受不是拿命运的捉弄来捉弄自己,就是拿别人的错误来惩罚自己。

13、缺陷 

    也许你个子矮,也许你长得不好看,也许你的嗓音像唐老鸭、、、那么你的优势就是你不会被自己表面的浅薄的亮点所耽搁,少花一些时间,少走一些弯路,直接发现你内在的优势,直接挖掘自己深层的潜能。
 
14、误会 

    如果出于恶意,那么解释也没有用;如果出于善意,就不需要解释。专门说到「误会」倒不是因为一个人在三十岁之前被人误会的时候更多,而是这个年龄的人想不开的时候更多。

15、谣言 

    这是一种传染病,沉默是最好的疫苗。除非你能找出传染源,否则解释恰恰会成为病毒传播最理想的条件。
 
16、疯狂 

    这是年轻人最好的心理调适,只能说明你精力旺盛,身心健康。说你「疯狂」是某些生活压抑、心力交瘁的中老年人恶意的评价,他们就像一部年久失修的机器,最需要调适,但只能微调,一次大修就会让他们完蛋。
   
17、压力 

    中年人能够承受多大压力检验的是他的韧性;年轻人能承受多大压力,焕发的是他的潜能。 

18、出国 

    也许是个机会,也许是个陷阱。除非从考大学的那一刻你就抱着这个目标,否则,对待出国的态度应该像对待爱情一样,努力争取,成败随缘。
 
19、薪水 

    只是给人打工,薪水再高也高不到哪儿去。所以在三十岁之前,机会远比金钱重要,事业远比金钱重要,将来远比金钱重要。对大多数人来说,三十岁之前干事业的首要目标绝不是挣钱,而是挣未来。

20、存款 

    这倒不一定是因为我们钱少,年轻人现在谁都知道钱是有生命的。机会这么多,条件这么好,可以拿钱去按揭,做今天的事,花明天的钱;也可以拿钱去投资,拿钱去「充电」。钱只有在它流通的过程中才是钱,否则只是一叠世界上质量最好的废纸。 

21、房子 

    除非你买房子是为了升值,要嘛就是你结婚了。我有个同学,家在外地,大学毕业之后,单位没有宿舍,家里就给他买了一套房子。他曾经有过去北京工作的机会, 但是他觉得刚买了房子就离开这座城市说不过去,就放弃了。到现在他工作稳定,但一事无成。唯一的成就就是结婚了,并且有了孩子,因为他觉得不该让这房子永 远空著,所以房子变成了家。房子是都市生活的寓言,这个寓言不应该过早的和我们相关。 

22、年龄 

女孩子一过二十五就开始隐瞒自己的年龄,其实大可不必。现在青年期都延迟到四十五岁了,二十五又算得了什么呢? 

23、在乎 

    这是一种拿不起、放不下的心态,它的反面不是放弃,而是天马行空,自由自在,永远保持革命乐观主义的精神。 

24、失业 

    三十岁以前就尝到失业的滋味当然是一件不幸的事,但不一定是坏事。三十岁之前就过早地固定在一个职业上终此一生也许才是最大的不幸。失业也许让你想起埋藏很久而尘封的梦想,也许会唤醒连你自己都从未知道的潜能。也许你本来就没什么梦想,这时候也会逼著你去做梦。
 
25、时尚 

    不要追赶时尚。按说青年人应该是最时尚的,但是独立思考和个性生活更重要。在这个物质社会,其实对时尚的追求早已经成为对金钱的追求。今天,时尚是物欲和世俗的同义语。
 
26、格调 

    这是小资的东西,「小资」这个词在今天又二度流行,追求格调就是他们的专利。小资们说,有格调要满足四大要件:智慧、素养、自信和金钱。格调就是把「高 尚」理解成穿著、气质、爱好的品味和室内装潢。也就是大老粗只会表现谈吐的庸俗,「小资」们已经有能力庸俗他们的心灵了。主流观念倒不是非要另类,另类已 经成为年轻人观念的主流了,在今天,老土倒显得另类。关键是当今社会是一个创造观念的时代,而不是一个固守陈旧观念的时代。
 
27、放弃 

    把握的反面就是放弃,选择了一个机会,就等于放弃了其他所有的可能。当新的机会摆在面前的时候,敢于放弃已经获得的一切,这不是功亏一篑,这不是半途而 废,这是为了谋求更大的发展空间;或者什么都不为,只因为喜欢这样做,因为,年轻就是最大的机会。人,只有在三十岁之前才会有这个胆量,有这个资本,有这 种资格。 

28、失恋 

    不是不在乎,是在乎不起。三十岁前最怕失去的不是已经拥有的东西,而是梦想。爱情如果只是一个过程,那么正是这个年龄应当经历的,如果要承担结果,三十岁 以后,可能会更有能力,更有资格。其实,三十岁之前我们要做的事情很多,稍纵即逝,过久地沉溺在已经乾涸的爱河的河床中,与这个年龄的生命节奏不合。 

29、离婚 

    不是不在乎,是一切还来得及。一位三十八岁的女友与老公结婚十五年,冷战十三年,终于分手。她说:「如果说后来不愿意离婚是为了孩子,那他第一次提出离婚 我没有同意,现在想来真不知道为什么。如果那个时候早分手,我的生活绝不会是今天这个样子。现在再重新开始,总觉得一切都晚了。

jQuery 页面滚动插件:Scrolld.js

Scrolld.js是一个jQuery的独特开源插件。Scrolld.js提供了一种完美的高精度的布局方法,且使用实时更新的数据值生成导航。使用 Scrolld.js滚动到项目将永远精准且将提供最好的用户体验。Scrolld.js是专门为支持响应式布局而设计的,可以将页面长导航变成一个简单 的任务栏。Scrolld.js设计初衷是为能方便使用,并能够在几分钟内快速部署。

项目主页:http://www.open-open.com/lib/view/home/1383621915305

显示/隐藏密码插件Hide/Show Password Plugin

Hide/show Password插件让你轻易隐藏和显示密码输入栏中的内容。这个插件最酷的部分就是”innerToggle“选项。当设置为开的时候,它可以很容易创 建漂亮隐藏/显示 控件,你可以定制自己喜欢的样式。在触屏浏览器中,你滑动的时候它甚至能保持输入焦点。

演示地址:http://cloudfour.github.io/hideShowPassword/

下载地址:https://github.com/cloudfour/hideShowPassword