php输出变量加大括号,这是什么写法?看下面一段代码:
代码如下 | 复制代码 |
<?php header("Content-Type:text/html; charset=utf-8"); $test="1变量1"; //echo "前面有字符串aa ".$test." bb后面字符串"; echo "前面有字符串aa {$test} bb后面字符串"; ?> |
可以看出php输出变量加大括号同使用.运算符输出变量字符串效果是一样,总结出下面3点以帮助理解php输出变量加大括号{}的作用:
1. 表示{}里面的是一个变量 ,执行时按照变量来处理;
2. 在字符串中引用变量使用的特殊包括方式,这样就可以不使用.运算符,从而减少代码的输入量了;
3. 防止变量名和后面的字符串连在一起。
附:
字符串变量中大括号{}的作用:
PHP 变量后面加上一个大括号{},里面填上数字,就是指 PHP 变量相应序号对应的字符。
例如:
代码如下 | 复制代码 |
$str = 'hello'; |
如果要检查某个字符串是否满足多少长度,可以考虑用这种大括号{} 加 isset 的方式替代 strlen 函数,因为 isset 是语言结构,strlen 是函数,所以使用 isset 比使用 strlen 效率更高。
比如判断一个字符串的长度是否小于 5:
代码如下 | 复制代码 |
if ( !isset ( $str{5} ) ) 就比 if ( strlen ( $str ) < 5 ) 好。 |
PHP如何判断浏览器类型及浏览器语言因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型、语言)。
这里我们主要分析的是_SERVER["HTTP_USER_AGENT"](浏览器类型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](浏览器语言)。
我们所要做的就是把这些内容读出来,然后用strpos或者preg_match函数来对比就可以了。
判断浏览器类型:
代码如下 | 复制代码 |
<?php echo $_SERVER["HTTP_USER_AGENT"];?> |
先给出PHP代码部分,有些不是很全,需要的朋友自己依葫芦画瓢自行添加去。(下面这个代码有个小错误,请将文章看完并自行修改)
代码如下 | 复制代码 |
<?php |
打开opera浏览器,可以看到它的页面请求头信息如下:
Opera/9.80 (Windows NT 5.1; U; Edition IBIS; zh-cn) Presto/2.10.229 Version/11.61
但是 strpos($_SERVER["HTTP_USER_AGENT"],"Opera") 返回的值始终是“0”
解决方法比较也比较简单,
代码如下 | 复制代码 |
else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera")) 替换成 else if(strpos($_SERVER["HTTP_USER_AGENT"],"pera")) |
下面再补一个更强的可判断是浏览器用户还是seo/seo.html" target="_blank">搜索引擎
代码如下 | 复制代码 |
|
修改php.ini这个选项,网上有很多的教程,可以随便搜。
1、先用root账号,登录到nobody的账户。
2、然后用whereis php命令查看,php.ini所在的位置,修改这个php.ini的文件就可以了。
3、最后重启apache,就可以生效了。
这里的nobody账户就是apache使用的账户,权限很低。
这里主要注意的问题就是你修改的配置文件必须是nobody所使用的配置文件。
一般情况下,修改了配置但是没有生效,可以考虑一下机器上是不是有多份配置。
配置与文件上传有关的参数
所有这些参数都在php.ini中配置。
1.file_uploads
设为On,允许通过HTTP上传文件
2.upload_tmp_dir
文件上传至服务器时用于临时存储的目录,如果没指定,系统会使用默认的临时文件夹(我的机器是/tmp)。
3.upload_max_filesize
允许上传文件大小的最大值,默认为2M。
4.post_max_size
Php可接收的post数据的最大值(包括表单里的所有值的总合),默认为8M。
5.memory_limit
每个php所最占的最大内存数,这个值要大于允许上传的文件大小。
6.max_execution_time
每个php运行的最长时间(秒),默认30秒。
7.max_input_time
Php解析POST/GET数据的最长时间(秒),默认60秒。
具体方法详解
举例:假设在 index.php 中需要调用 inc.php?para=3 ,
inc.php
代码如下 | 复制代码 |
<?php echo $_GET['para']; ?> |
下面的写法是无法得到正确结果的:
index.php
代码如下 | 复制代码 |
<?php include dirname(__FILE__).'/inc.php?para=3'; ?> |
稍微变通一下,把$_GET变量在include之前定义,则可以正常运行:
index.php
代码如下 | 复制代码 |
<?php $_GET['para'] = 3 include dirname(__FILE__).'/inc.php; ?> |
如果php.ini中开启了allow_url_include功能,则可以使用include url的方式:
index.php
代码如下 | 复制代码 |
<?php include 'http://www.yoururl.com/inc.php?para=3'; ?> |
设置方法:php.ini中,找到如下行,改为On:
; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
allow_url_include = On
不过为了保证安全性,大部分的服务器都将allow_url_include 功能关闭,那样就只能视情况而定了。
这是一个朋友在学php时的一个学习笔记,其功能就是设置cookie然后注销及输出cookie值的具体操作方法。setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于 <html> 标签之前。
语法
setcookie(name, value, expire, path, domain);
下面看实例
代码如下 | 复制代码 |
//设置cookie //输出和注销cookie ?> |