用PHP来设置网页导航

 更新时间:2016年11月25日 17:13  点击:1879

说明:

  实现的原理是网页中包含一个特定的页,在你的网页中为了实现导航必须加上 '?id=pagename'来显示。

  代码如下:

<?
if($id=="home"){
include("yourhomepage.html");
}
elseif($id=="page"){
include("yourpage.html");
}
//假如你的浏览器没有连接到指定的页面,或连接页面出现错误则显示下面的页面。
else{
include("yourpage.html");
}
?>

把下列代码放到网页的指定显示位置:

<?php

$now_time = time();

$time = gmdate("M d Y", mktime($now_time));

echo $time;

?>

我们经常看到有些论坛的最下面都写着页面加载时间是......,其实,实现的的方法非常简单,具体把下面代码拷贝到具体位置即可。

<?php
$load = microtime();
print (number_format($load,2));
?> seconds

商业应用的网站,其传输效率是十分重要的,通常在一些电子商务的站点上,服务器的反应速度决定了其服务质量,服务器的负载决定了它的最大可提供客户的访问容量。技术人员总是想方设法地尽可能地提高服务器的响应速度。而zendcache也正是为了提高服务器的响应速度而开发的一个优秀产品。有数据证实,使用zendcache可以将服务器的响应速度提高到原来的300%以上。

  一、zendcache是什么

  先看一下php是如何运行的,一个请求php脚本发到服务器后,服务器从磁盘上查找相应的文件,先编译脚本,然后执行之,最后将结果送出。所花时间由查找文件 打开文件 读文件 编译文件几部分组成。zendcache是一个php脚本高速cache,它可以将刚执行的php脚本文件的编译结果存放在web服务器的内存中,假如下一次有人再请求此页,它就可以很快将其送出。免去了每次用户请求php文件,服务器都编译一次脚本所花的时间。同时,免取了从磁盘上查找、读取php文件所花的时间。所以可以大大提高服务器的相应速度。

  目前zendcache只能运行在linux (glibc 2.1)、solaris 2.6以上、freebsd 3.4及4.0。很可惜,目前它沿不支持windows系统。

  二、安装及使用zendcache

  在zend.com上注册一个用户,以此用户登录zend.com,然后到以下地址下载http://www.zend.com/store/products/zend-cache.php。由于zendcache是一个要会费的软件,我们这里只能下载一个可供使用30天的一个限制日期的试用版,不过,它是一个全功能的软件包。试试看,你可以体验到它强大的功能。要下载其试用版,直接选择“test drive available”下载。

  整个下载要分三步,第一步,下载zendcache软件包,直接从“supported platforms”中选择相应平台的软件包即可。注重软件适用的平台及相应php的版本、类库的类型。

  第二步是 “request product license”,即从zend.com取得授权,要求用户提供自己机器的host id,也即计算机上网卡的mac地址,zend.com提供了一个读取主机网卡地址的工具,用户可以从zend.com是下载一个叫lmutil.z的小程序,解压缩后,执行它,即可获得计算机的网卡地址。执行方法:

# ./lmutil lmhostid

  即可获得主机id。另外,用户也可以从/var/log/messages中找到网卡的mac地址。

  此将此id号填入申请license的form中,选择“request”,然后耐心等待,zend.com会在48小时内给你发邮件,通知你可以去下载自己的license了。收到邮件后,直接进入http://www.zend.com/store/pickup.php去下载。license是一个名为zend_cache.dat的文件.

  安装(本文以linux环境下的安装为例)

  解压缩zendcache-1[1].0.0-php_4.0.4-linux_glibc2.1-i386.tar.gz文件

# tar 

php作为一种服务器端的脚本语言,象编写简单,或者是复杂的动态网页这样的任务,它完全能够胜任。但事情不总是如此,有时为了实现某个功能,必须借助于操作系统的外部程序(或者称之为命令),这样可以做到事半功倍。

那么,是否可以在php脚本中调用外部命令呢?假如能,如何去做呢?有些什么方面的顾虑呢?相信你看了本文后,肯定能够回答这些问题了。

是否可以?

答案是肯定的。php和其它的程序设计语言一样,完全可以在程序内调用外部命令,并且是很简单的:只要用一个或几个函数即可。

前提条件

由于php基本是用于web程序开发的,所以安全性成了人们考虑的一个重要方面。于是php的设计者们给php加了一个门:安全模式。假如运行在安全模式下,那么php脚本中将受到如下四个方面的限制:

执行外部命令
在打开文件时有些限制
连接mysql数据库
基于http的认证
在安全模式下,只有在特定目录中的外部程序才可以被执行,对其它程序的调用将被拒绝。这个目录可以在php.ini文件中用safe_mode_exec_dir指令,或在编译php是加上--with-exec-dir选项来指定,默认是/usr/local/php/bin。

假如你调用一个应该可以输出结果的外部命令(意思是php脚本没有错误),得到的却是一片空白,那么很可能你的网管已经把php运行在安全模式下了。

如何做?

在php中调用外部命令,可以用如下三种方法来实现:

1) 用php提供的专门函数

php提供共了3个专门的执行外部命令的函数:system(),exec(),passthru()。

system()

原型:string system (string command [, int return_var])

system()函数很其它语言中的差不多,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。

例子:

<?
system("/usr/local/bin/webalizer/webalizer");
?>

exec()

原型:string exec (string command [, string array [, int return_var]])

exec()函数与system()类似,也执行给定的命令,但不输出结果,而是返回结果的最后一行。虽然它只返回命令结果的最后一行,但用第二个参数array可以得到完整的结果,方法是把结果逐行追加到array的结尾处。所以假如array不是空的,在调用之前最好用unset()最它清掉。只有指定了第二个参数时,才可以用第三个参数,用来取得命令执行的状态码。

例子:

<?
exec("/bin/ls -l");
exec("/bin/ls -l", $res);
#$res是一个数据,每个元素代表结果的一行
exec("/bin/ls -l", $res, $rc);
#$rc的值是命令/bin/ls -l的状态码。成功的情况下通常是0
?>

passthru()

原型:void passthru (string command [, int return_var])

passthru()只调用命令,不返回任何结果,但把命令的运行结果原样地直接输出到标准输出设备上。所以passthru()函数经常用来调用象pbmplus(unix下的一个处理图片的工具,输出二进制的原始图片的流)这样的程序。同样它也可以得到命令执行的状态码。

例子:

<?
header("content-type: image/gif");
passthru("./ppmtogif hunte.ppm");
?>

2) 用popen()函数打开进程

上面的方法只能简单地执行命令,却不能与命令交互。但有些时候必须向命令输入一些东西,如在增加linux的系统用户时,要调用su来把当前用户换到root才行,而su命令必须要在命令行上输入root的密码。这种情况下,用上面提到的方法显然是不行的。

[!--infotagslink--]

相关文章

  • Android设置TextView竖着显示实例

    TextView默认是横着显示了,今天我们一起来看看Android设置TextView竖着显示如何来实现吧,今天我们就一起来看看操作细节,具体的如下所示。 在开发Android程序的时候,...2016-10-02
  • php根据用户语言跳转相应网页

    当来访者浏览器语言是中文就进入中文版面,国外的用户默认浏览器不是中文的就跳转英文页面。 <&#63;php $lan = substr(&#8194;$HTTP_ACCEPT_LANGUAGE,0,5); if ($lan == "zh-cn") print("<meta http-equiv='refresh' c...2015-11-08
  • 腾讯视频怎么放到自己的网页上?

    腾讯视频怎么放到自己的网页上?这个问题是一个基本的问题,要把腾讯视频放到自己的网页有许多的办法,当然一般情况就是直接使用它们的网页代码了,如果你要下载资源再放到...2016-09-20
  • 使用jQuery.Pin垂直滚动时固定导航

    这篇文章主要为大家详细介绍了使用jQuery.Pin垂直滚动时固定导航的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2017-05-27
  • 基于JavaScript实现网页倒计时自动跳转代码

    这篇文章主要介绍了基于JavaScript实现网页倒计时自动跳转代码 的相关资料,需要的朋友可以参考下...2015-12-29
  • 网页头部声明lang=”zh-cn”、lang=“zh”、lang=“zh-cmn-Hans”区别

    我们现在使用的软件都会自动在前面加一个申明了,那么在网页头部声明lang=”zh-cn”、lang=“zh”、lang=“zh-cmn-Hans”区别是什么呢?下面我们就一起来看看吧. 单...2016-09-20
  • 基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载

    这篇文章主要介绍了基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载,需要的朋友参考下...2016-01-08
  • BootStrap 附加导航组件

    Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架,主要基于 HTML、CSS、JAVASCRIPT 的。接下来通过本文给大家介绍BootStrap 附加导航组件的知识,感兴趣的朋友一起学习吧...2016-07-29
  • jQuery实现的导航下拉菜单效果

    这篇文章主要介绍了jQuery实现的导航下拉菜单效果,涉及jQuery响应鼠标事件动态操作页面元素的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2016-07-06
  • Windows Server 2008 R2远程设置选项灰色解决方法

    最近公司环境有几天Windows Server 2008R2的服务器因为没有激活导致过期后都不能远程,连接显示器后发现远程设置的地方为灰色了...2016-01-27
  • 微信小程序实现导航功能的操作步骤

    这篇文章主要给大家介绍了关于微信小程序实现导航功能的操作步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-03-10
  • vivo x9怎么设置默认输入法?vivo x9设置默认输入法教程

    本篇文章介绍了vivo x9如何设置默认输入法的方法,手机小白们快来了解一下吧。 问:vivo x9怎么设置默认输入法?答:其实设置默认输入法很容易,首先点击应用程序,然后点设...2017-01-22
  • Bootstrap导航栏各元素操作方法(表单、按钮、文本)

    这篇文章主要介绍了Bootstrap导航栏各元素操作方法,针对表单、按钮、文本进行操作,感兴趣的小伙伴们可以参考一下...2015-12-29
  • Windows 2016 服务器安全设置

    最近公司的网站升级Windows 2016服务器,选择安装了最新版的Windows 2016,以前使用Windows服务器还是Windows 2003系统,发现变化还是挺多的,依次记录下来以备后面查阅...2020-10-05
  • C#实现Winform中打开网页页面的方法

    这篇文章主要介绍了C#实现Winform中打开网页页面的方法,涉及WinForm中WebBrowser的相关使用技巧,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • jQuery实现网页顶部固定导航效果代码

    这篇文章主要介绍了jQuery实现网页顶部固定导航效果代码,涉及jQuery响应scroll事件动态操作页面元素样式的相关技巧,需要的朋友可以参考下...2015-12-25
  • PHP脚本实现Magento权限设置与缓存清理

    PHP脚本实现Magento权限设置与缓存清理的实例代码有需要的朋友可参考一下。 代码如下 复制代码 <?php ## 设置文件644,目录755 function Al...2016-11-25
  • Go语言通过http抓取网页的方法

    这篇文章主要介绍了Go语言通过http抓取网页的方法,实例分析了Go语言通过http操作页面的技巧,需要的朋友可以参考下...2020-05-05
  • win2008之IIS7中FTP设置技巧

    如果要允许用户在站点中上载或下载文件,就需要在 Web 服务器上设置 FTP。无论站点是位于 Intranet 还是位于 Internet 上,使用 FTP 在所提供的位置中上载和下载文件的原理是相同的。...2016-01-27
  • vue如何在用户要关闭当前网页时弹出提示的实现

    这篇文章主要介绍了vue如何在用户要关闭当前网页时弹出提示的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-01