菜单

解决iis环境下使用$_server['request_uri']不能正常获取的方法

在 PHP 众多预定义服务器变量中,$_SERVER["REQUEST_URI"] 算是经常用到的,但在iis环境下使用会出现无法获取的情况,因此需要一个更加通用的方式来获取 REQUEST_URI 的值,代码如下: <?php function request_uri(){ if (isset($_SERVER['argv'])){ $uri = $_SERVER['PHP_SELF'] .(empty($_SERVER['argv'])?'':('?'. $_SERVER['argv'][0])); }else{ $uri = $_SERVER['PHP_SE...

PHP生成各种验证码和Ajax验证

PHP生成各种验证码和Ajax验证

验证码在WEB应用中非常重要,通常用来防止用户恶意提交表单,如恶意注册和登录、论坛恶意灌水等。本文将通过实例讲解使用PHP生成各种常见的验证码包括数字验证码、数字+字母验证码、中文验证码、算术验证码等等以及其Ajax验证过程。 PHP生成验证码图片 PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中。PHP生成验证码的大致流程有: 产生一张png的图片; 为图片设置背景色; 设置字体颜色和样式; 产生4位数的随机...

php正则表达式的边界符是什么?正则表达式边界符详细介绍

边界符/定界符:边界,用来描述字符串或单词的边界。 正则表达式的构成公式: /原子和元字符/模式修正符 也就是说,正则表达式的原子和元字符都放在定界符之间,而模式修正符放在定界符之外。 除了字母、数字和反斜线\以外的任何字符都可以为定界符号,比如 | |、//、{}、!!等等,但是需要注意,如果没有特殊需要,我们都使用正斜线//作为正则表达式的定界符号。 注意:ereg系列的正则表达式不需要定届符,preg系列的才需要,并且定界符可以自己选择,只有前后一对就行,比如我们一般使用/符号,但是如果里面有/需要匹配那么就需要使用\/来表示,...

windows xampp安装composer教程

默认情况下,安装composer有时会失败,因为PHP配置在php.ini文件中的差异。本教程将介绍如何安装作曲与XAMPP运行在Microsoft Windows。 1、编辑X:\xampp\php\php.ini文件,(X为安装xampp的盘符,根据自己的实际安装路径查找),找到以下内容: ;extension=php_openssl.dll, ;extension=php_curl.dll, ;extension=php_sockets.dll 更改为: extension=php_openssl.dll, extensi...

php判断安卓、苹果设备的代码

有时编写php网站的东西时,需要判断访问访问的设备是苹果设备还是安卓设备,从而显示不同的东西给访客,下面是实现的php代码: <?php $userAgent = $_SERVER['HTTP_USER_AGENT']; if(strpos($userAgent,"iPhone") || strpos($userAgent,"iPad") || strpos($userAgent,"iPod")){ echo '这是苹果公司的产品'; }else if(strpos($userAgent,"Android")){ echo '这是安卓系统产品'; ...

php中$this->是什么意思?$this->表示什么?

$this 的含义是表示实例化后的具体对象! 我们一般是先声明一个类,然后用这个类去实例化对象! 但是,当我们在声明这个类的时候,想在类本身内部使用本类的属性或者方法。应该怎么表示呢? 例如: 我声明一个User类!它只含有一个属性 $name; class User { public $_name; } 现在,我给User类加个方法。就用getName()方法,输出$name属性的值吧! class User { public $name; function getNam...

PHP中 HTTP_HOST 和 SERVER_NAME 的区别

PHP获取当前域名有两个变量 HTTP_HOST 和 SERVER_NAME。 相同点: 当满足以下三个条件时,两者会输出相同信息。 1. 服务器为80端口 2. apache的conf中ServerName设置正确 3. HTTP/1.1协议规范 不同点: 1. 通常情况: _SERVER["HTTP_HOST"] 在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息。 _SERVER["SERVER_NAME"] 默认情况下直接输出apache的配置文件httpd.c...

解决 PHP 的 mail() 发送邮件时出现乱码的问题

当用php的mail()函数发送邮件时,如果包含中文标题产生乱码,需要做以下处理即可解决: $subject = '邮件标题中文-php-mail()函数'; $subject = "=?UTF-8?B?".base64_encode($subject)."?="; 对应的,邮件的header可以简单设置一下,以下举例说明发送一封邮件: $mail = 'digdeeply@staff.sina.com.cn'; $text = "邮件正文content……"; $subject = 'IVR 内置控制平台定时脚本运行SQL错误'; $subject = "...

php+jQuery限选复选框提交之后读取数据库复选框被选中

jquery操作复选框的代码 $(":checkbox").click( function() { if($(":checkbox:checked").length > 3){ $(this).attr("checked",false); alert("对不起,每人最多能选3个"); } }); php+html混编的代码 <label><input type="checkbox" value="五大联赛" name="skills[]" <?php $isIn=in_array("五大联赛",$this->...

Deprecated: Function ereg() is deprecated in 解决方案

\PHP 5.3 ereg() 无法正常使用,提示“Function ereg() is deprecated Error”。 问题根源是php中有两种正则表示方法,一个是posix,一个是perl,php6打算废除posix的正则表示方法所以后来就加了个 preg_match。 此问题解决办法很简单,在ereg前加个过滤提示信息符号即可:把ereg()变成@ereg()。 这样屏蔽了提示信息,但根本问题还是没有解决,php在5.2版本以前ereg都使用正常,在5.3以后,就要用preg_match来代替ereg。 所以就需要变成这样, ...

php中的DIRECTORY_SEPARATOR是什么?有什么作用

DIRECTORY_SEPARATOR:目录分隔符,在linux系统分隔符是“/”,在windows系统分隔符是“\”。 windows系统支持“/”和“\”两种分隔符,但在Linux系统只支持“/”分隔符,为了避免发生错误,在php中使用DIRECTORY_SEPARATOR自动对应系统生成相应的分隔符。

PHP中include和require的区别

PHP作为优秀的开源程序,她所提供的函数从名称上必定会尽可能地表达出这个函数的作用。那么理解这两个函数的区别就容易多了。 require 的英文意思是 需要,有赖于。如果使用了这条语句,也就是告诉PHP内核,我这个程序需要这个文件,有赖于这个文件。或者通俗点儿讲就是:我要她!所以,PHP如果发现require参数中的文件不存在的话,就会报fatal error,并且停止执行下面的语句。 include 的英文意思是 包括,包含。如果使用了这条语句,也就是告诉PHP内核,程序执行时,把这个文件包含进来。通俗点儿讲就是:带上她!所以,PHP如果找不到的话,仅仅会提示说...