php.ini设置脚本时间

 更新时间:2016年11月25日 15:12  点击:1301

php.ini设置脚本时间

设置php脚本运行时长,有二种设置方法一种在.php文件里面设计,别一种是在php.ini里面设置

方法一php.ini

找到php.ini里面的

 

max_execution_time = 30     ; Maximum execution time of each script, in seconds

把30换成你想要的时间,这里单位为秒


方法二.php文件

@set_time_limit(0);

<?php
 @set_time_limit(0);//为0时代表无限,它的单位也是为秒
?>
 

php strtr与str_replace区别比较

函数都是具有替换字符功能的。但是strtr比str_replace性能上要块4倍。具体情况请

看如下分解:

首先是strtr函数:

实例1:当

以下为引用的内容:

<?php

//这个时候输出的为baicai而不是bai123cai,因为str("pao")<strlen("bai123")

echo strtr("paocai!","pao","bai123");

?>

 


实例2:当被替换的值长度小于被替换目标的时候

以下为引用的内容:

<?php

//这个时候输出的为laocai而不是lacai,因为str("pao")>strlen("la")
 
echo strtr("paocai!","pao","la");
 
?>
 


实例3:支持数组替换

以下为引用的内容:

<?php

$Arr=array('ao'=>'oa','ai'=>'ia');

echo strtr("paocai!",$Arr); //这个时候输出的为poacia

?>
 


其次是str_replace:

以下为引用的内容:

<?php

echo str_replace("you","paocai","I love you!"); //会输出I love paocai!

?>
 


总结:strtr他是跟字符长度有关系的,但是str_replace就没有关系,估计在运行步骤

的时候会读取字符串长度所以才会比strtr慢很多。

< ?php  // application library 1  namespace AppLib1;   const MYCONST = 'AppLib1MYCONST';   function MyFunction() {   return __FUNCTION__;  }   class MyClass {   static function WhoAmI() {  eturn __METHOD__;   }  }  ?>  lib2.php

< ?php  // application library 2  namespace AppLib2;   const MYCONST = 'AppLib2MYCONST';   function MyFunction() {   return __FUNCTION__;  }   class MyClass {   static function WhoAmI() {  eturn __METHOD__;   }  }  ?>  开始之前先要理解几个PHP命名空间相关术语。

◆完全限定名称(Fully-qualified name)

任何PHP代码都可以引用完全限定名称,它是一个以命名空间反斜线开头的标识符,如AppLib1MYCONST,AppLib2MyFunction( )等。

完全限定名称是没有任何歧义的,开头的反斜线和文件路径的作用有点类似,它表示“根”全局空间,如果我们在全局空间中实现了一个不同的MyFunction( ),可以使用MyFunction( )从lib1.php或lib2.php调用它。

完全限定名称对一次性函数调用或对象初始化非常有用,但当你产生了大量的调用时它们就没有实用价值了,在下面的讨论中我们将会看到,PHP提供了其它选项以解除我们为命名空间打字的烦恼。

◆限定名称(Qualified name)

至少有一个命名空间分隔符的标识符,如Lib1MyFunction( )。

◆非限定名称(Unqualified name)

没有命名空间分隔符的标识符,如MyFunction( )。

在相同的命名空间内工作

仔细思考下面的代码:

myapp1.php

< ?php  namespace AppLib1;   require_once('lib1.php');  require_once('lib2.php');   header('Content-type: text/plain');  echo MYCONST . "n";  echo MyFunction() . "n";  echo MyClass::WhoAmI() . "n";  ?>  即使我们同时包括了lib1.php和lib2.php,MYCONST,MyFunction和MyClass标识符只能在lib1.php中引用,这是因为myapp1.php的代码在相同的AppLib1命名空间内。

执行结果:

AppLib1MYCONST  AppLib1MyFunction  AppLib1MyClass::WhoAmI  命名空间导入

可以使用use操作符导入命名空间,如:

myapp2.php

< ?php  use AppLib2;   require_once('lib1.php');  require_once('lib2.php');   header('Content-type: text/plain');  echo Lib2MYCONST . "n";  echo Lib2MyFunction() . "n";  echo Lib2MyClass::WhoAmI() . "n";  ?>  可以定义任意数量的use语句,或使用逗号分隔成独立的命名空间,在这个例子中我们导入了AppLib2命名空间,但我们仍然不能直接引用MYCONST,MyFunction和MyClass,因为我们的代码还在全局空间中,但如果我们添加了“Lib2”前缀,它们就变成限定名称了,PHP将会搜索导入的命名空间,直到找到匹配项。

执行结果:

AppLib2MYCONST  AppLib2MyFunction  AppLib2MyClass::WhoAmI 命名空间别名

命名空间别名可能是最有用的构想了,别名允许我们使用较短的名称引用很长的命名空间。

myapp3.php

< ?php  use AppLib1 as L;  use AppLib2MyClass as Obj;   header('Content-type: text/plain');  require_once('lib1.php');  require_once('lib2.php');   echo LMYCONST . "n";  echo LMyFunction() . "n";  echo LMyClass::WhoAmI() . "n";  echo Obj::WhoAmI() . "n";  ?>  第一个use语句将AppLib1定义为“L”,任何使用“L”的限定名称在编译时都会被翻译成“AppLib1”,因此我们就可以引用LMYCONST和LMyFunction而不是完全限定名称了。

第二个use语句定义了“obj”作为AppLib2命名空间中MyClass类的别名,这种方式只适合于类,不能用于常量和函数,现在我们就可以使用new Obj( )或象上面那样运行静态方法了。

执行结果:

AppLib1MYCONST  AppLib1MyFunction  AppLib1MyClass::WhoAmI  AppLib2MyClass::WhoAmI  PHP命名解析规则

PHP标识符名称使用下列命名空间规则进行解析,请参考PHP用户手册了解更详细的信息:

1.在编译时调用完全限定函数、类或常量;

2.非限定名称和限定名称根据导入规则进行翻译,例如,如果ABC导入为C,调用CDe( )就会被翻译成ABCDe( );

3.在PHP命名空间内,所有限定名称尚未根据导入规则转换,例如,如果在命名空间AB中调用CDe( ),那么会被翻译成ABCDe( );

4.非限定类名称根据当前的导入规则进行转换,使用全名替换导入的短名称,例如,如果类C在命名空间AB中被导入为X,那么new X( )就会被翻译为new ABC( );

5.在命名空间中非限定函数调用在运行时解析,例如,如果MyFunction( )在命名空间AB中被调用,PHP首先会查找函数ABMyFunction( ),如果没有找到,然后会在全局空间中查找MyFunction( );

6.调用非限定或限定类名在运行时被解析,例如,如果我们在命名空间AB中调用new C( ),PHP将会查找类ABC,如果没有找到,PHP会尝试自动载入ABC
PHP命名空间高级特性

接下来让我们看一看PHP命名空间的一些高级特性。

__NAMESPACE__常量

__NAMESPACE__是一个PHP字符串,它总是返回当前命名空间的名称,在全局空间中它是一个空字符串。

< ?php  namespace AppLib1;  echo __NAMESPACE__; // outputs: AppLib1  ?>   这个值在调试时非常有用,它也可由于动态生成一个完全限定类名,如:

< ?php  namespace AppLib1;   class MyClass {   public function WhoAmI() {  return __METHOD__;   }  }   $c = __NAMESPACE__ . '\MyClass';  $m = new $c;  echo $m->WhoAmI(); // outputs: AppLib1MyClass::WhoAmI  ?>  namespace关键字

namespace关键字可以用于明确引用一个当前命名空间或子命名空间中的项目,它等价于类中的self命名空间:

< ?php  namespace AppLib1;   class MyClass {   public function WhoAmI() {  return __METHOD__;   }  }   $m = new namespaceMyClass;  echo $m->WhoAmI(); // outputs: AppLib1MyClass::WhoAmI  ?>  自动载入命名空间类

PHP 5中最省时省力的特性是自动载入,在全局(非命名空间)PHP代码中,可以写一个标准自动载入函数:

< ?php  $obj= new MyClass1(); // classes/MyClass1.php is auto-loaded  $obj= new MyClass2(); // classes/MyClass2.php is auto-loaded   // autoload function  function __autoload($class_name) {   require_once("classes/$class_name.php");  }  ?>  在PHP 5.3中,你可以创建一个命名空间类的实例,在这种情况下,完全限定命名空间和类名传递给__autoload函数,例如,$class_name的值可能是AppLib1MyClass。你可以在相同的文件夹下放置所有的PHP类文件,从字符串中提取命名空间,但那样会导致文件名冲突。

另外,你的类文件层次结构会按照命名空间的结构重新组织,例如,MyClass.php文件可以创建在/classes/App/Lib1文件夹下:

/classes/App/Lib1/MyClass.php

< ?php  namespace AppLib1;   class MyClass {   public function WhoAmI() {  return __METHOD__;   }  }  ?>  在根文件夹下的文件就使用下面的代码了:

myapp.php

< ?php  use AppLib1MyClass as MC;   $obj = new MC();  echo $obj->WhoAmI();   // autoload function  function __autoload($class) {   // convert namespace to full file path   $class = 'classes/' . str_replace('\', '/', $class) . '.php';   require_once($class);  }  ?>  解释:

1.类AppLib1MyClass的别名是MC;

2. new MC( )在编译时被翻译成new AppLib1MyClass( );

3.字符串AppLib1MyClass被传递给__autoload函数,使用文件路径正斜线替换所有命名空间中的反斜线,然后修改字符串,classesAppLib1MyClass.php文件被自动载入;

总结

有关PHP命名空间的使用就介绍到这里,希望您能够对PHP的命名空间有一个新的认识,并希望你能在新项目中真正使用命名空间。

 

]<?php
$host = "www.123cha.com";
$referer = "http://".$host;
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
if (!$fp){
        echo "$errstr ($errno)<br>;n";
}else{
$request = "
GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */"."*
Referer: http://$host
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: $host
Connection: Close"
."rnrn";


fputs ($fp, "$request");
while (!feof($fp))
{
   $res[] = fgets($fp,1024);
}
$html = join("",$res);
fclose ($fp);
$fp = file_put_contents("123cha.html",$html);
echo "done";
}[/

php cookie设置,js cookie设置方法
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<?
$value ='oicq';
$array = array(20,25,26);
$aid = $array[mt_rand(0,2)];
echo $aid;
if( empty( $_COOKIE["cook"] ) )
{
 echo $_COOKIE["cook"];
}
else
{
 setcookie("cook", $value, time()+7200, "/");
}
?>

下面为js cookie

<SCRIPT type=text/javascript> 
function Set(Cookie_name)  
{  
 var Then = new Date()  
 Then.setTime(Then.getTime() + 1*3600000 ) //小时  
 document.cookie = Cookie_name+"=true;expires="+ Then.toGMTString()  
}  
function Get(Cookie_name)  
{  
 var cookieString = new String(document.cookie)  
 var cookieHeader = Cookie_name+"="  
 var beginPosition = cookieString.indexOf(cookieHeader)  
 if (beginPosition != -1) //cookie已经设置值,应该 不显示提示框  
 {  
   alert(Cookie_name+"返回"+cookieString.substring(beginPosition + cookieHeader.length));  
 }  
 else //cookie没有设置值,应该显示提示框  
 {  
  alert("Cookie 未找到!");  
 }  
}  
function Move(Cookie_name)  
{  
 document.cookie = Cookie_name+"=;expires=Fri, 02-Jan-1970 00:00:00 GMT";  
}  
</SCRIPT> 
<P> 
<INPUT onclick="Set('steven lu')" type=button value=设置cookie值><P> 
 <INPUT onclick="Get('steven lu')" type=button value=查看cookie值><P> 
  <INPUT onclick="Move('steven lu')" type=button value=清除cookie值><PRE></PRE>
</head>

<body>
</body>
</html>

[!--infotagslink--]

相关文章

  • 在java中获取List集合中最大的日期时间操作

    这篇文章主要介绍了在java中获取List集合中最大的日期时间操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-08-15
  • 教你怎么用Java获取国家法定节假日

    这篇文章主要介绍了教你怎么用Java获取国家法定节假日,文中有非常详细的代码示例,对正在学习java的小伙伴们有非常好的帮助,需要的朋友可以参考下...2021-04-23
  • mysql中获取一天、一周、一月时间数据的各种sql语句写法

    创建表:复制代码 代码如下:create table if not exists t( id int, addTime datetime default '0000-00-00 00:00:00′)添加两条初始数据:insert t values(1, '2012-07-12 21:00:00′);insert t values(2, '2012-07...2014-05-31
  • .NET/C# 使用Stopwatch测量运行时间

    这篇文章主要介绍了.NET/C# 使用Stopwatch测量运行时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-06-25
  • Android设置TextView竖着显示实例

    TextView默认是横着显示了,今天我们一起来看看Android设置TextView竖着显示如何来实现吧,今天我们就一起来看看操作细节,具体的如下所示。 在开发Android程序的时候,...2016-10-02
  • 常用的日期时间正则表达式

    常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(...2016-11-25
  • 非常全面的php日期时间运算汇总

    实例讲解之前,先来介绍几个核心函数: mktime 函数 mktime() 函数返回一个日期的 Unix 时间戳。 参数总是表示 GMT 日期,因此 is_dst 对结果没有影响。 参数可以从右到左依次空着,空着的参数会被设为相应的当前 GMT 值。...2015-11-08
  • C#中动态显示当前系统时间的实例方法

    想在网页中动态地显示当前系统的时间,找了好多,不过都是一些停在那里不动的。。。不过皇天不负有心人,终于让我找到了...2020-06-25
  • postgresql 中的时间处理小技巧(推荐)

    这篇文章主要介绍了postgresql 中的时间处理小技巧(推荐),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-29
  • JavaScript时间操作之年月日星期级联操作

    这篇文章主要介绍了JavaScript时间操作之级联日期选择操作,涉及到年、月、日、星期,感兴趣的小伙伴们可以参考一下...2016-01-18
  • 从chrome调试工具中把拖延时间的东西找出来

    我打开android开发手册的时候:http://www.csdn123.com/html/android/reference/packages.html 发现打开速度很慢,我用按了一下F12打开调试面板,切换到网络的选项卡network...2016-05-19
  • C# 当前系统时间获取及时间格式详解

    这篇文章主要介绍了C# 当前系统时间获取及时间格式详解的相关资料,这里提供代码实例,帮助大家学习参考,需要的朋友可以参考下...2020-06-25
  • 帝国CMS显示指定时间内更新的信息数量

    /*解决代码高亮太长不换行*/ .syntaxhighlighter{word-break:break-all;} uParse('#newstext', {rootPath: '/e/extend/ueditor/'}) 帝国CMS显示指定时间内更新的信息数...2016-11-01
  • C#使用TimeSpan时间计算的简单实现

    这篇文章主要给大家介绍了关于C#使用TimeSpan时间计算的相关资料,以及通过一个实例代码给大家介绍了C#使用timespan和timer完成一个简单的倒计时器的方法,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧...2020-06-25
  • C#获取文件创建时间的方法

    这篇文章主要介绍了C#获取文件创建时间的方法,涉及C#文件操作的技巧及CreattionTime属性的使用方法,需要的朋友可以参考下...2020-06-25
  • PowerShell中使用Get-Date获取日期时间并格式化输出的例子

    这篇文章主要介绍了PowerShell中使用Get-Date获取日期时间并格式化输出的例子,本文讲解了直接调用Get-Date、在Write-Host中使用Get-Date、格式化输出的方法,需要的朋友可以参考下...2020-06-30
  • php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法

    php获取今日开始时间戳和结束时间戳$beginToday=mktime(0,0,0,date('m'),date('d'),date('Y'));$endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1;//php获取昨日起始时间戳和结束时间...2013-10-04
  • Vue 中获取当前时间并实时刷新的实现代码

    这篇文章主要介绍了Vue 中获取当前时间并实时刷新,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-05-13
  • 在页面中输出当前客户端时间javascript实例代码

    这篇文章主要介绍了在页面中输出当前客户端时间javascript实例代码的相关资料,需要的朋友可以参考下...2016-03-03
  • Mybatis和Mybatis-Plus时间范围查询方式

    这篇文章主要介绍了Mybatis和Mybatis-Plus时间范围查询方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-08-06