不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2015-08-07 22:07  分类:PHP基础  编辑
/**
 * PHP计算两个时间段是否有交集(边界重叠不算)
 *
 * @param string $beginTime1 开始时间1
 * @param string $endTime1 结束时间1
 * @param string $beginTime2 开始时间2
 * @param string $endTime2 结束时间2
 * @return bool
 * @author blog.snsgou.com
 */
function is_time_cross($beginTime1 = '', $endTime1 = '', $beginTime2 = '', $endTime2 = '')
{
	$status = $beginTime2 - $beginTime1;
	if ($status > 0)
	{
		$status2 = $beginTime2 - $endTime1;
		if ($status2 >= 0)
		{
			return false;
		}
		else
		{
			return true;
		}
	}
	else
	{
		$status2 = $endTime2 - $beginTime1;
		if ($status2 > 0)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
}

 

作者:php-note.com  发布于:2015-08-05 22:35  分类:PHP基础  编辑

一年有多个周,每周的开始日期和结束日期

参考代码一:(正在用的版本

<?php
header("Content-type:text/html;charset=utf-8");
date_default_timezone_set("Asia/Shanghai");
$year = (int)$_GET['year'];
$week = (int)$_GET['week'];
$weeks = date("W", mktime(0, 0, 0, 12, 28, $year));

echo $year . '年一共有' . $weeks . '周<br />';

if ($week > $weeks || $week <= 0)
{
	$week = 1;
}

if ($week < 10)
{
	$week = '0' . $week;
}
$timestamp['start'] = strtotime($year . 'W' . $week);
$timestamp['end'] = strtotime('+1 week -1 day', $timestamp['start']);

echo $year . '年第' . $week . '周开始时间戳:' . $timestamp['start'] . '<br />';
echo $year . '年第' . $week . '周结束时间戳:' . $timestamp['end'] . '<br />';
echo $year . '年第' . $week . '周开始日期:' . date("Y-m-d", $timestamp['start']) . '<br />';
echo $year . '年第' . $week . '周结束日期:' . date("Y-m-d", $timestamp['end']);
?>
作者:php-note.com  发布于:2015-08-02 12:09  分类:PHP基础  编辑

什么是 Session

在 web 应用开发中,Session 被称为会话。主要被用于保存某个访问者的数据。

由于 HTTP 无状态的特点,服务端是不会记住客户端的,对服务端来说,每一个请求都是全新的。

既然如此,那么服务端怎么知道是哪个访问者在请求它呢?又如何将不同的数据对应上正确的访问者?答案是,给访问者一个唯一获取 Session 中数据的身份标示。

作者:php-note.com  发布于:2015-07-09 15:53  分类:PHP基础  编辑

当我们使用传统的 mysql_connect 、mysql_query方法来连接查询数据库时,如果过滤不严,就有SQL注入风险,导致网站被攻击,失去控制。虽然可以用mysql_real_escape_string()函数过滤用户提交的值,但是也有缺陷。而使用PHP的PDO扩展的 prepare 方法,就可以避免 sql injection 风险。

作者:php-note.com  发布于:2015-07-08 22:04  分类:PHP基础  编辑

PDO 提供了三种不同的错误处理模式,以满足不同风格的应用开发:

PDO::ERRMODE_SILENT

此为默认模式。 PDO 将只简单地设置错误码,可使用 PDO::errorCode() 和 PDO::errorInfo() 方法来检查语句和数据库对象。如果错误是由于对语句对象的调用而产生的,那么可以调用那个对象的 PDOStatement::errorCode() 或PDOStatement::errorInfo() 方法。如果错误是由于调用数据库对象而产生的,那么可以在数据库对象上调用上述两个方法。

作者:php-note.com  发布于:2015-07-06 15:51  分类:PHP基础  编辑

PDO是啥

PDO(PHP Data Object)是PHP5新加入的一个重大功能,因为在PHP5以前的PHP4/PHP3都是一堆的数据库扩展来跟各个数据库的连接和处理,什么 php_mysql.dllphp_pgsql.dllphp_mssql.dllphp_sqlite.dll等等扩展来连接MySQLPostgreSQLMS SQL ServerSQLite,同样的,我们必须借助 ADOdbPEAR::DBPHPlib::DB之类的数据库抽象类来帮助我们,无比烦琐和低效,毕竟,PHP代码的效率怎么能够比我们直接用C/C++写的扩展斜率高捏?所以嘛,PDO的出现是必然的,大家要平静学习的心态去接受使用,也许你会发现能够减少你不少功夫哦。

作者:php-note.com  发布于:2015-07-06 12:36  分类:PHP基础  编辑
if (!empty (get_gpc('userId'))) {
	$userId = get_gpc('userId');
} else {
	$error = "ID doesn't exist";
}

报错:

Fatal error: Can't use method return value in write context in (line number)

作者:php-note.com  发布于:2015-06-17 09:21  分类:PHP基础  编辑

定义和用法

sprintf() 函数把格式化的字符串写入一个变量中。

语法

sprintf(format,arg1,arg2,arg++)
参数 描述
format 必需。转换格式。
arg1 必需。规定插到 format 字符串中第一个 % 符号处的参数。
arg2 可选。规定插到 format 字符串中第二个 % 符号处的参数。
arg++ 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。
 
作者:php-note.com  发布于:2015-04-25 12:37  分类:PHP基础  编辑

addslashes 和 mysql_real_escape_string 都是为了使数据安全的插入到数据库中而进行的过滤,那么这两个函数到底是有什么区别呢?

作者:php-note.com  发布于:2015-04-07 11:43  分类:PHP基础  编辑

专访阿里巴巴研究员“赵海平”:Facebook的PHP底层性能优化之路

http://www.infoq.com/cn/articles/interview-alibaba-zhaohaiping