当前位置:  编程技术>php
本页文章导读:
    ▪关于php程序报date()警告的处理(date_default_timezone_set)       在写php程序中有时会出现这样的警告: PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any o.........
    ▪php 修改、增加xml结点属性的实现代码       php 修改 增加xml结点属性的代码,供大家学习参考。php修改xml结点属性,增加xml结点属性的代码,有需要的朋友,参考下。 1、xml文件 代码如下:<?xml version="1.0" encoding="UTF-8" ?><clientSet&g.........
    ▪PHP的构造方法,析构方法和this关键字详细介绍       一.什么是构造方法    构造方法是类的一种特殊的方法,它的主要作用是完成对新对象初始化.    特点:1.    没有返回值.2.    在创建一个新的对象时,系统会自动调用该类的构造方法完.........

[1]关于php程序报date()警告的处理(date_default_timezone_set)
    来源: 互联网  发布时间: 2013-11-30

在写php程序中有时会出现这样的警告:

PHP Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in D:\PHPWEB ews\file.php on line 17 。

这是因为PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入格林威治标准时间和北京时间大概差8个小时左右,我们可以按照下面的方法解决:

1、在页头使用date_default_timezone_set()设置我的默认时区为北京时间,即 <?php date_default_timezone_set("PRC"); ?>就可以了。

2、在php.ini中设置date.timezone的值为PRC,设置好以后的为:date.timezone=PRC或者date.timezone = Asia/Shanghai,同时取消这一行代码的注释,即去掉前面的分号就可以了。

然后重启apache即可!


    
[2]php 修改、增加xml结点属性的实现代码
    来源: 互联网  发布时间: 2013-11-30

php 修改 增加xml结点属性的代码,供大家学习参考。
php修改xml结点属性,增加xml结点属性的代码,有需要的朋友,参考下。

1、xml文件

代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<clientSet>
<server url="192.168.0.180" port="1935" />
<rootPath value="" />
<homePath value="http://www.aaa.com" />
<helpPath value="help.html" />
<language value="en" />
<theme value="default" />
<visibleMarquee value = "true" />
<visibleWhitePaper value="true" />
<showMemberRoomForGuest value = "true" />
<emotions enabled="true" column="5" autoPlay="false">
<item name="Birthday" src="/blog_article/cartoon/movie/birthday.swf" thumb="cartoon/preview/birthday-small.swf" duration="15"/>
<item name="Boom" src="/blog_article/cartoon/movie/boom.swf" thumb="cartoon/preview/boom-small.swf" duration="6"/>
<item name="Bubble" src="/blog_article/cartoon/movie/bubble.swf" thumb="cartoon/preview/bubble-small.swf" duration="7.5"/>
<item name="Cry" src="/blog_article/cartoon/movie/cry.swf" thumb="cartoon/preview/cry-small.swf" duration="5.4"/>
<item name="Doggie" src="/blog_article/cartoon/movie/doggie.swf" thumb="cartoon/preview/doggie-small.swf" duration="13"/>
<item name="Greeting" src="/blog_article/cartoon/movie/greeting.swf" thumb="cartoon/preview/greeting-small.swf" duration="7.4"/>
<item name="Football" src="/blog_article/cartoon/movie/football.swf" thumb="cartoon/preview/football-small.swf" duration="2.2"/>
</emotions >
</clientSet>

2、php代码

代码如下:

<?
$dom=new DOMDocument('1.0');
$dom->load('x.xml');
$em=$dom->getElementsByTagName('emotions');
$em=$em->item(0);
$items=$em->getElementsByTagName('item');
foreach($items as $a){
foreach($a->attributes as $b){
if($b->nodeValue=='Birthday'){
$a->setAttribute('name','nBirthday');
}
}
}
$t=$dom->createElement('item');
$t->setAttribute('name','x');
$t->setAttribute('src','www.baidu.com');
$t->setAttribute('duration','duration');
$em->appendChild($t);
$dom->save('x.xml');
?>

PHP解析XML文档属性并编辑

代码如下:

<?php
//读取xml
 $dom=new DOMDocument('1.0');
$dom->load('data.xml');
$em=$dom->getElementsByTagName('videos');//最外层节点
$em=$em->item(0);
$items=$em->getElementsByTagName('video');//节点
//如果不用读取直接添加的话把下面这一段去掉即可
foreach($items as $a){
foreach($a->attributes as $b){//$b->nodeValue;节点属性的值$b->nodeName;节点属性的名称
 echo $b->nodeName;
 echo ":";
 echo $b->nodeValue;
 echo "<br/>";
}
}
//下面是往xml写入一行新的
$t=$dom->createElement('video');//<video
$t->setAttribute('title','1');//<video name="data"
$t->setAttribute('src','2');//<video name="data" src="/blog_article/2/index.html"
$t->setAttribute('img','1');//<video name="data" img="1"
$em->appendChild($t);//<video name="data" img="1"/>
$dom->save('data.xml');
?> 
 

当时的xml文档:
 
代码如下:

<?xml version="1.0"?>
<videos>
 <video img="a" url="1" title="1" nickname="1" tag="1" vid="1" star="1"/>
 <video img="b" url="2" title="2" nickname="2" tag="2" vid="2" star="2"/>
 <video img="c" url="3" title="3" nickname="3" tag="3" vid="3" star="3"/>
 <video title="d" src="/blog_article/2/index.html" img="1"/>
</videos>

//下面这一个文件是后改的可以修改xml

代码如下:

<?php
$doc = new DOMDocument();
$doc->load('data.xml');

//查找 videos 节点
$root = $doc->getElementsByTagName('videos');

//第一个 videos 节点
$root = $root->item(0);

//查找 videos 节点下的 video 节点
$userid = $root->getElementsByTagName('video');

//遍历所有 video 节点
foreach ($userid as $rootdata)
{
//遍历每一个 video 节点所有属性
foreach ($rootdata->attributes as $attrib)
{
$attribName = $attrib->nodeName;   //nodeName为属性名称
$attribValue = $attrib->nodeValue; //nodeValue为属性内容

//查找属性名称为ip的节点内容
if ($attribName =='img')
{
//查找属性内容为ip的节点内容
if ($attribValue =='1')
{
//将属性为img,img内容为1的修改为image;
$rootdata->setAttribute('img','image');
$doc->save('data.xml');
}
}
}

?>

    
[3]PHP的构造方法,析构方法和this关键字详细介绍
    来源: 互联网  发布时间: 2013-11-30

一.什么是构造方法
    构造方法是类的一种特殊的方法,它的主要作用是完成对新对象初始化.
    特点:
1.    没有返回值.
2.    在创建一个新的对象时,系统会自动调用该类的构造方法完成对新对角的初始化.
    语法:
    php5:        修饰符 function __construct()

                        {
                            //code

                        }
    php4:        修饰符 function 类名()

                        {
                            //code

                        }
注意:
   1. php5里对两者都支持,如果两种构造方法同时存在的话,优先选择第一种.
   2. 一个类里面默认有一个不带参数为空的构造方法,一旦自定义了一个构造方法,就会覆盖默认的构造方法.

      所以说一个类有且只有一个构造方法.
   3.一个类只能有一个构造方法.(不能重载)
   4.构造方法默认的访问修饰符为public.
二.this关键字
    this代表当前对象.可以理解为:谁调用它,它就代表谁.
    注意事项:
    this不在类定义的使用,只能在类定义的方法中使用.
三.实例

代码如下:

<?php
    header("Conter-Type:text/html;charset=utf-8");
    class Person
    {
        public $name;  //成员变量
        public $age;

       // function __construct()
        //{
          //  echo "不带参数的构造方法";

        //}
        function __construct($name,$age)
        {
            $this -> name = $name;
            $this -> age = $age;
            echo "带参数的构造方法"."<br />";
        }
        //成员方法
        function view()
        {
            //this的引用.
            echo "姓名:".$this ->name.", 年龄:".$this ->age;

        }
    }
        //new一个新的对象
    //$p = new Person();
    $p2 = new Person("李四",13);
    $p2 ->view();
?>

结果如下:
    带参数的构造方法

代码如下:

<SPAN color="#ff00ff">    姓名:李四, 年龄:13</SPAN>

四:析构方法:
    析构方法是PHP5引入的新概念.主要作用:释放资源(比如:释放数据库链接,图片资源...).
    语法:
    function __destruct(){}
    特点:

    1.析构方法没有返回值.

    2.主要作用是释放资源.并不是销毁对象本身.
    3.在销毁对象前,系统自动调用该类的析构方法.

    4.一个类最多只有一个析构方法.

五:例子:

代码如下:

<?php
    header("Conter-Type:text/html;charset=utf-8");

    class Person
    {
        public $name;
        public $age;
        //构造方法
        function __construct($name,$age)
        {
            $this ->name = $name;
            $this ->age = $age; 

        }
        //析构方法
        function __destruct()
        {
            echo "姓名:".$this->name.", 年龄".$this->age."-->销毁<br />";
        }

    }

    $p1= new Person("小一",18);
    $p2= new Person("小二",17);
?>

结果:
    姓名:小二, 年龄17-->销毁
    姓名:小一, 年龄18-->销毁

分析结论:
    1.析构方法会自动调用.

    2.析构方法调用的顺序是先创建的对象后被销毁.

    3.当一个对象没有引用,被垃圾回收机制确认为垃圾时,调用析构方法.


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3