我个人并不太喜欢smarty的语法,写起来比较啰嗦易出现匹配出错,但是旧项目中有许多工程都是采用它作模板。最近需要在此上稍微加一些PHP的内容,但我不想在模板控制层去一个一个assign,而想在模板文件中直接嵌入PHP的代码。

搜索了一下smarty中确实有直接使用PHP代码的标签,是

{php}
//PHP语句

echo 'yes';
{/php}

于是便用上它了。但注意这是默认的方式,如果你自定制了smarty标签的定界符,那么也得将{ 和 }进行相对应的改动。

我看到有些是用<?  ?>作定界符,那就应该这样写

<?php?>
//PHP语句

echo 'yes';
<?/php?>

Tags: , , ,

关于这个问题,搜索引擎上搜到一大片的文章,有很多问题,在这找到一篇正确的说法:http://mimiz.cn/index.php/php/php-http_host-server_name-difference/

转载一下

引用

最近在开发站群软件,用到了根据访问域名判断子站点的相关问题。PHP获取当前域名有两个变量 HTTP_HOST 和 SERVER_NAME,我想知道两者的区别以及哪个更加可靠。

首先我想说,百度上那些转来转去的文章都是扯淡!
有说相同的,有说不同的,都没说明原因,没经过验证就互相转来转去的,浪费观众时间。

下面说说本人经过亲自验证 + 查阅官方文档 + 官方BUG列表 + 官方邮件列表 + sitepoint + webmasterworld + google的总结:

相同点:
当满足以下三个条件时,两者会输出相同信息。
1. 服务器为80端口
2. apache的conf中ServerName设置正确
3. HTTP/1.1协议规范

不同点:
1. 通常情况:
_SERVER["HTTP_HOST"] 在HTTP/1.1协议规范下,会根据客户端的HTTP请求输出信息。
_SERVER["SERVER_NAME"] 默认情况下直接输出apache的配置文件httpd.conf中的ServerName值。

2. 当服务器为非80端口时:
_SERVER["HTTP_HOST"] 会输出端口号,例如:mimiz.cn:8080
_SERVER["SERVER_NAME"] 会直接输出ServerName值
因此在这种情况下,可以理解为:HTTP_HOST = SERVER_NAME : SERVER_PORT

3. 当配置文件httpd.conf中的ServerName与HTTP/1.0请求的域名不一致时:
httpd.conf配置如下:
<virtualhost *>
ServerName mimiz.cn
ServerAlias www.mimiz.cn
</virtualhost>
客户端访问域名www.mimiz.cn
_SERVER["HTTP_HOST"] 输出 www.mimiz.cn
_SERVER["SERVER_NAME"] 输出 mimiz.cn

所以,在实际程序中,应尽量使用_SERVER["HTTP_HOST"] ,比较保险和可靠。

Tags: ,

String uuid = UUID.randomUUID().toString();

主要的用途:上传文件时,数据库中保存用户真是上传的文件,而服务器上保存java生成随机字符串 + 用户上传文件的扩展名,没有扩展名就保存java生成随机字符串加用户上传的名称即 可。

Tags: , ,

JS自动关闭窗口

快乐无极 , 2010/10/21 15:17 , 开发文档 , 评论(0) , 阅读(19121) , Via 本站原创

这段关闭自己的代码,兼容IE6-8,9未测试,应该可以,Chrome/opera都试过可以。

目的是关闭自己而不提示。

Firefox不行,原因是dom.allow_scripts_to_close_windows默认是false,可以在about:config中将其改为true便可以。

window.opener = null; //for Ie6
window.open("","_self");  //for ie7-8
window.close();

 

PHP设置文件php.ini中明明已经设置display_errors = Off,但是在运行过程中,网页上还是会出现错误信息。这是什么原因?

经查log_errors= On,据官方的说法,当这个log_errors设置为On,那么必须指定error_log文件,如果没指定或者指定的文件没有权限写入,那么照样会输出到正常的输出渠道,那么也就使得display_errors 这个指定的Off失效,错误信息还是打印了出来。于是将log_errors = Off,问题就解决了。

Tags: ,

PHP返回404

快乐无极 , 2010/08/18 11:10 , 开发文档 , 评论(1) , 阅读(43015) , Via 本站原创

有时候有特殊需要PHP要返回404,页面不存在,代码如下:

PHP 代码复制内容到剪贴板
  1. header('HTTP/1.1 404 Not Found');
  2. header("status: 404 Not Found");
Tags:
分页: 9/22 第一页 上页 4 5 6 7 8 9 10 11 12 13 下页 最后页 [ 显示模式: 摘要 | 列表 ]