当前位置:  编程技术>php
本页文章导读:
    ▪详解PHP中include与require的用法区别      本节主要内容: PHP中include与require的用法区别 在PHP编程中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来。 二者在用法.........
    ▪301用法与错误详解      301转向 301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。 .........
    ▪php getdate函数用法举例      1,输出月,日年   代码示例: <?php $a = getdate(); printf('%s %d, %d',$a['month'],$a['mday'],$a['year']); ?>     2,getdate()使用指定的timestamp   代码示例: <?php $a = getdate(163727100); printf('%s %d, %d'.........

[1]详解PHP中include与require的用法区别
    来源: 互联网  发布时间: 2013-12-24

本节主要内容:
PHP中include与require的用法区别

在PHP编程中,include()与require()的功能相同,include(include_once) 与 require(require_once)都是把把包含的文件代码读入到指定位置来。
二者在用法上的区别:(include()是有条件包含函数,而require()则是无条件包含函数)

1,使用方式不同

(1) require 的使用方法如 require("requireFile.php"); 。这个函式通常放在 PHP 程式的最前面,PHP 程式在执行前,就会先读入 require 所指定引入的档案,使它变成 PHP 程式网页的一部份。常用的函式,亦可以这个方法将它引入网页中。引入是无条件的,发生在程序执行前,不管条件是否成立都要导入(可能不执行)。

(2) include 使用方法如 include("includeFile.php"); 。这个函式一般是放在流程控制的处理区段中。PHP 程式网页在读到 include 的档案时,才将它读进来。这种方式,可以把程式执行时的流程简单化。引入是有条件的,发生在程序执行时,只有条件成立时才导入(可以简化编译生成的代码)。

例1,如果变量$somgthing为真,则将包含文件somefile:
 

代码示例:
if($something){
include("somefile");
}

例2,但不管$something取何值,将把文件somefile包含进文件里:
 

代码示例:
if($something){
require("somefile");
}

例3,充分说明了这两个函数之间的不同。
 

代码示例:
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}

在这段代码中,每一次循环时,程序都将把同一个文件包含进去。
从代码中,可以看出这段代码希望在每次循环时,将不同的文件包含进来。
如果要完成这个功能,必须求助函数include():
 

代码示例:
$i = 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}

2,执行时报错方式不同

include和require的区别:
include引入文件时,如果碰到错误,会给出提示,并继续运行下边的代码,require引入文件时,如果碰到错误,会给出提示,并停止运行下边的代码。
例子:
写两个php文件,名字为test1.php  和test2.php,注意相同的目录中,不要存在一个名字是test3.php的文件。
test1.php
 

代码示例:
<?PHP
include  (”test3.php”);
echo  “abc”;
?>

test2.php
 

代码示例:
<?PHP
require (”test3.php”)
echo  “abc”;
?>

代码说明:

浏览第一个文件,因为没有找到test999.php文件,所以出现了报错信息,同时,报错信息的下边显示了abc,你看到的可能是类似下边的情况:
Warning: include(test3.php) [function.include]: failed to open stream: No such file or directory in D:\WebSite\test.php on line 2

Warning: include() [function.include]: Failed opening ‘test3.php' for inclusion (include_path='.;C:\php5\pear') in D:\WebSite\test.php on line 2
abc (下面的被执行了)

浏览第二个文件,因为没有找到test3.php文件,所以出现了报错信息,但是,报错信息的下边没有显示abc,你看到的可能是类似下边的情况:
Warning: require(test3.php) [function.require]: failed to open stream: No such file or directory in D:\WebSite\test2.php on line 2

Fatal error: require() [function.require]: Failed opening required ‘test3.php' (include_path='.;C:\php5\pear') in D:\WebSite\test.php on line 2

下面的未被执行,直接结束。

总之,include时执行时调用的,是一个过程行为,有条件的,而require是一个预置行为,无条件的。


    
[2]301用法与错误详解
    来源: 互联网  发布时间: 2013-12-24

301转向

301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

其它常见的状态码还包括,200表示一切正常,404网页找不到,302暂时转向等。

为什么要做网址转向?

除了前面介绍过的网址规范化问题外,还有很多需要做网址转向的情形。
比如,为保护版权,你拥有不同TLD的多个域名:
 

company.com
company.net
company.org
company.com.cn
company.cn
 

等等。
这些域名全部指向一个网站。如用company.com为主域名,其它域名就可以转向到company.com。

或注册了公司全称域名longcompanyname.com,但太长,也注册了缩写域名方便用户记住lcn.com,其中一个做主域名,另一个就可以转向到主域名。

为什么要用301转向?

网址转向方法主要包括:301转向,302转向,JavaScript转向,PHP/ASP/CGI转向,META REFRESH网页META刷新,等。302转向可能会有URL规范化问题。其它方法都是常用的作弊手法,当然不是说不可以正当地用,方法本身没有错,但被作弊者用多了,搜索引擎对这些可疑的转向都很敏感。何必冒险呢。

当网页A用301重定向转到网页B时,搜索引擎可以肯定网页A永久的改变位置,或者说实际上不存在了,搜索引擎就会把网页B当作唯一有效目标。好处是,第一,没有网址规范化问题,第二,也很重要的,网页A的PR网页级别会传到网页B。

很多时候其它网站会链接到:
http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html

而不是希望的:
http://www.domainname.com

这样链接的PR也会传递到所有URL,如果你用301转向把前三个URL转到:
http://www.domainname.com
PR也就集中在网页http://www.domainname.com了。

怎样判断网站有网址规范化问题?

英语中有句话,东西没坏就别修理。很多网站没做301转向排名也没影响,那就别动它。

如果你觉得网站排名没有预想的好,可以看看是否有网址规范化问题:

1) 查一下这些URL是否都有差不多的PR值和网页快照:
 

http://domainname.com
http://www.domainname.com/index.html
http://domainname.com/index.html
http://www.domainname.com

如果是,那可能有问题。

2)搜一下site:domain.com看是否结果中有多个主页版本。

3)你的网站是否在Google有大量网页被标为“ 补充材料”(Supplemental Result)。一般认为被归为“ 补充材料”是网址规范化问题的征兆。

怎样做301转向

如果你用的是Unix/Linux主机,可以用文件(Unix/Linux中用于目录特定指令如密码,转向,错误处理等的文件)。

比如把/old.htm转到http://www.domain.com/new.htm,可以用这个指令:
redirect 301 /old.htm http://www.domain.com/new.htm 或redirect permanent /old.htm http://www.domain.com/new.htm

如果要把所有http://domain.com形式的URL用301重定向转到 http://www.domain.com,包括:
http://domain.com/about.htm
转到 http://www.domain.com/about.htm及http://domain.com/dir/index.htm
转到 http://www.domain.com/dir/index.htm

等等,还要用到mod_rewrite:
 

代码示例:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

如果你用的是 Windows主机,应该在控制面板做301转向设定。

编辑推荐:
php伪静态 URL REWRITE重写规则介绍
php URL rewrite路径重写一例

补充 :
在网址规范化评论里回答石头王的问题,可能对大家有帮助:

据我所知,HTML无法做301转向。在HTML里只能做JS或META REFRESH,但不是301转向。HTML一被读取,就已经返回200 OK状态码了。

如果你的页面是ASP或PHP还可以做301转向:
ASP:
 

代码示例:
<%@ Language=VBScript %>
<%
Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” http://www.domain.com”
>

PHP:
 

代码示例:
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.domain.com” );
?>

另外,DOThtaccess文件只是一个普通文字文件,你用Notepad建这个文件,放上指令,存在你帐号的根目录下就行了。不需要修改Apache。

问:网页用301重新定向后搜索引擎多久能处理

网页用301重新定向后原搜索引擎收录老域名的页面是不是会转交给定向到的新域名。搜索引擎收录老域名的页面会发生什么变化,比如说
site:www.xxx.com 后老域名里的东西会转到新域名下吗,要多久大概。

答:如果您的旧网址使用 HTTP 301(永久)重定向指向您的新网站,搜索引擎漫游时会自动获知新网址,并在六到八周内自动进行更新。

301重定向可促进搜索引擎优化效果

从搜索引擎优化角度出发,301重定向是网址重定向最为可行的一种办法。当网站的域名发生变更后,搜索引擎只对新网址进行索引,同时又会把旧地址下原有的外部链接如数转移到新地址下,从而不会让网站的排名因为网址变更而收到丝毫影响。同样,在使用301永久性重定向命令让多个域名指向网站主域时,亦不会对网站的排名产生任何负面影响。


    
[3]php getdate函数用法举例
    来源: 互联网  发布时间: 2013-12-24

1,输出月,日年
 

代码示例:
<?php
$a = getdate();
printf('%s %d, %d',$a['month'],$a['mday'],$a['year']);
?>
 

 
2,getdate()使用指定的timestamp
 

代码示例:
<?php
$a = getdate(163727100);
printf('%s %d, %d',$a['month'],$a['mday'],$a['year']);
?>

3,getdate()获取当前日期
 

代码示例:
<html>
<head>
<title>getdate()获取当前日期-www.</title>
</head>
<body>
<div>
<?php
$date_array = getdate();
foreach ( $date_array as $key => $val ) {
  print "$key = $val<br/>";
}
?>
<hr/>
<p>
<?
print "Today's date: ";
print $date_array['mon']."/".$date_array['mday']."/".$date_array['year'];
?>
</p>
</div>
</body>
</html>
 

附,getdate( )函数的返回值的对应关系
 

Key             Value
seconds         Seconds
minutes         Minutes
hours           Hours
mday            Day of the month
wday            Day of the week, numeric (Sunday is 0, Saturday is 6)
mon             Month, numeric
year            Year, numeric (4 digits)
yday            Day of the year, numeric (e.g., 299)
weekday         Day of the week, textual, full (e.g., "Friday")
month           Month, textual, full (e.g., "January")
0               Seconds since epoch (what time( ) returns)

    
最新技术文章:
▪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