PHP如何对SESSION序列化(SESSION对象处理)
這個問題有點奇怪,在Java和.net的世界裡還未碰到過.......
看來PHP對對象的支持還不是太友好,呵呵~~~
[轉載於:] http://blog.csdn.net/yehell/archive/2007/12/19/1953826.aspx
今天在php文件中设置了一个session.并将一个类的对象保存在这个session中。可是读取session得时候却出现了__PHP_Incomplete_Class问题。print_r()一下发现session中有这个对象的值,但是却不能将值取出。
在网上检索了一下,原因出在session对象得序列化问题上。各种各样的解决方法让人看了头晕,就是不好用。
解决方法:
$_SESSION["ORDER_SEARCH_CASE"] = serialize($searchcase);//赋值时把对象序列化一下
$searchcase = unserialize($_SESSION["ORDER_SEARCH_CASE"]);//取值的时候再反序列化一下
搞定了!!
至于原理还不太清楚:)有待研究
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
php:用序列化或session对象让oo进行到底
php:用序列化或session对象让oo进行到底
php支持面向对象编程,这使得我们在编程时可以尽可能使用类及对象来简化
我们的程序,减少代码维护的工作量.
可是由于变量到脚本执行完毕就释放,我们本页所生成的对象想在其它页面使用时
便碰到了麻烦.可是,在很多情况下,有些任务在一两个页面是无法完成的.如果能够
将对象及其方法传递到我们想使用对象的页面,那岂不是个很好的主意.
虽然用get 或post的hide方法传递对象变量然后在新页面建立一新的对象,再然后
用构造函数来初始化新对象,好像也行的通,可是......,很麻烦,想必大家能想像得到吧.
经过长时间的尝试,现总结两种方法来传递对象.
一种,序列化(php4才具有的功能),利用这个功能我们可以将对象序列化,然后在我们需要
的页面将对象变量反序列化来使用.
举例如下:
//*********class.php 定义类*********
<?
class a
{
var $a;
var $b;
var $c;
function a($x,$y)
{
$this->a=$x;
&n
相关文档:
<?php
class Tree
{
// public $data=array();//所有节点值
// public $cateArray=array();//所有父节点
function Tree()
{
&n ......
cookie 常用于识别用户。
什么是 Cookie?
cookie 常用于识别用户。cookie 是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。
如何创建 cookie?
setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于 <ht ......
1.
error_reporting(E_ERROR | E_WARNING | E_PARSE); //报错级别
@set_time_limit(1000); //设置函数执行的最大时间
set_magic_quotes_runtime(0); //为了安全
define('IN_COMSENZ', TRUE);
define('ROOT_PATH', dirname(__FILE__).'/../');   ......
区别:
system() 输出并返回最后一行shell结果。
exec() 不输出结果,返回最后一行shell结果,所有结果可以保存到一个返回的数组里面。
passthru() 只调用命令,把命令的运行结果原样地直接输出到标准输出设备上。
相同点:都可以获得命令执行的状态码
////////////////////////////////////////////////////////// ......
在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了:
一个简单的例子就是计算借书的天数,这需要php根据每天的日期进行计算,下面就来谈谈实现这种日期计算的几种方法:
(1) 如果有数据库就很容易了!若是MSSQL可以使用触发器!用专门计算日期差的函数datediff()便可 ......