当前位置:  编程技术>php
本页文章导读:
    ▪php生成下载链接的快捷方式      本节内容: php生成下载链接的快捷方式 点击一个页面中的某个按钮或链接,生成某链接的快捷方式同时下载到本地。 例子:   代码示例: <?php  $Shortcut = "[InternetShortcut]  URL=http://www./.........
    ▪php中heredoc的用法详解      本节内容: php heredoc php中的heredoc技术,是一种Perl风格的字符串输出技术,可以很好的实现模板与代码的分离. 代码:   代码示例: <?php $name = ''; print <<<EOT <html> <head> &l.........
    ▪php.ini中error_reporting参数配置      本节内容: php.ini中的error_reporting参数的配置。 error_reporting可以设置的参数,如下: 错误报告是位字段。可以将数字加起来得到想要的错误报告等级。   E_ALL – 所有的错误和警告(不包括 E.........

[1]php生成下载链接的快捷方式
    来源: 互联网  发布时间: 2013-12-24

本节内容:
php生成下载链接的快捷方式

点击一个页面中的某个按钮或链接,生成某链接的快捷方式同时下载到本地。

例子:
 

代码示例:
<?php 
$Shortcut = "[InternetShortcut] 
URL=http://www./ 
IconFile=http://www./ 
IconIndex=1 
IDList= 
[{000214A0-0000-0000-C000-000000000046}] 
Prop3=19,2 
"; 
header("Content-type: application/octet-stream"); 
header("Content-Disposition: attachment; filename=链接文字.url;"); 
echo $Shortcut; 
?> 

但是,IconFile这个图标没有生效;此外,这个是可以支持中文的,如果不支持中文的话,可以加上代码:
 

代码示例:
header('Content-Type: text/html; charset=utf-8'); 

将该php文件放到服务器上,然后访问即可生成一个链接的快捷方式。


    
[2]php中heredoc的用法详解
    来源: 互联网  发布时间: 2013-12-24

本节内容:
php heredoc

php中的heredoc技术,是一种Perl风格的字符串输出技术,可以很好的实现模板与代码的分离.

代码:
 

代码示例:
<?php
$name = '';
print <<<EOT
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>php中heredoc技术用法详解-</title>
</head>
<body>
Hello,$name!
</body>
</html>
EOT;
?>
 

1.以<<<End开始标记开始,以End结束标记结束,结束标记必须顶头写,不能有缩进和空格,且在结束标记末尾要有分号。开始标记和开始标记相同,比如常用大写的EOT、EOD、EOF来表示,但是不只限于那几个,只要保证开始标记和结束标记不在正文中出现即可。
2.位于开始标记和结束标记之间的变量可以被正常解析,但是函数则不可以。
3.heredoc常用在输出包含大量HTML语法d文档的时候。

比如:函数outputhtml()要输出HTML的主页。可以有两种写法。
很明显第二种写法比较简单和易于阅读。
 

代码示例:
function outputhtml(){
echo "<html>";
echo "<head><title>首页</title></head>";
echo "<body>首页内容</body>";
echo "</html>;
}
function outputhtml()
{
echo <<<EOT
<html>
<head><title>首页</title></head>
<body>首页内容</body>
</html>
EOT;
}
outputhtml();

例2,定义了一个函数template
 

代码示例:
function template($template, $EXT='htm') {
 $path = "template/$template.$EXT";
 return $path;
}

index.php
 

代码示例:

<?php
$title = "This is title";
$content = "Heredoc";

include template('index');
?>

index.htm
 

代码示例:

<!--<?php print <<<EOT

-->

<html>

<head><title>$title</title></head>

<body>

$content

</body>

</html>

<!--

EOT;

?>-->

我的目标是:把html从php中分离出来,并且html中不包含php控制程序。

在php4中,提供了print<<< HTML 功能。
举例如下:
 

代码示例:
$data="这里是内容";
print<<< HTML
$data
HTML;
?>
 

输出:这里是内容。
另外一方面,php中有函数eval()。它能够执行php代码。我们就结合上述
知识来建立一个通用的函数getTpl().如下:

下面是demo.php
 

代码示例:

<?php

function getTpl($tplname,$EXT='.htm')
{
extract($GLOBALS);
$path=$tplname.$EXT;
eval_r("print<<< EOT\n".readfn($path)."\nEOT;\n");
}

function readfn($fn)
{
$fp=fopen($fn,"rb");
return fread($fp,filesize($fn));
fclose($fp);
}

$title='这是标题';
$data='这里是内容';

getTpl('demo');

?>
 

下面是demo.htm
 

代码示例:

<html>
<head>
<title> $title </title>
</head>

<body>
<b>$title</b>
<p>$data
</body>
</html>

经过这样的处理后,在demo.htm中只有php要替换的变量,而没有任何其他php的多余代码了。
这样以来,外观和程序逻辑就得以完全分离,为网站的修改和后期维护提供了方便之门!
注:以上方法分离了php和html,代表了显示和逻辑的分离。但是以失去复杂控制为代价的。

定界符
另一种给字符串定界的方法使用定界符语法(“<<<”)。应该在 <<< 之后提供一个标识符,然后是字符串,然后是同样的标识符结束字符串。

结束标识符必须从行的第一列开始。同样,标识符也必须遵循 PHP 中其它任何标签的命名规则:只能包含字母数字下划线,而且必须以下划线或非数字字符开始。

警告
很重要的一点必须指出,结束标识符所在的行不能包含任何其它字符,可能除了一个分号(;)之外。这尤其意味着该标识符不能被缩进,而且在分号之前和之后都不能有任何空格或制表符。同样重要的是要意识到在结束标识符之前的第一个字符必须是你的操作系统中定义的换行符。例如在 Macintosh 系统中是 \r。

如果破坏了这条规则使得结束标识符不“干净”,则它不会被视为结束标识符,PHP 将继续寻找下去。如果在这种情况下找不到合适的结束标识符,将会导致一个在脚本最后一行出现的语法错误。

不能用定界符语法初始化类成员。用其它字符串语法替代。
例子 11-3. 非法的例子
 

代码示例:
<?php
class foo {
public $bar = <<<EOT
bar
EOT;
}
?>
 

定界符文本表现的就和双引号字符串一样,只是没有双引号。这意味着在定界符文本中不需要转义引号,不过仍然可以用以上列出来的转义代码。变量会被展开,但当在定界符文本中表达复杂变量时和字符串一样同样也要注意。

例子 11-4. 定界符字符串例子
 

代码示例:

<?php
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
class foo
{
var $foo;
var $bar;

function foo()
{
$this->foo = 'Foo';
$this->bar = array('Bar1', 'Bar2', 'Bar3');
}
}

$foo = new foo();
$name = 'MyName';

echo <<<EOT
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should print a capital 'A': \x41
EOT;
?>

实例:
一、目录规划
phpLearn
 |----Templates
 ----index.html
 |----index.php

二、PHP文件

index.php中给变量赋值,同时包含模板
 

代码示例:

<?php
$userNum1 = '123';
include ('Templates/index.html'); //包含模板

?>

三、模板文件
index.hhtml
 

代码示例:

<!--<?php
echo <<<EOT
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>-----------------------</title>
</head>

<body>
<br>
<br>
$userNum1 //使用变量
<br>
</body>
</html>
<!--
EOT;
?>
-->

总结:
1、echo <<<EOT 与 EOT;是成对出现的。如
 

代码示例:

<!--
echo <<<EOT
-->
//在此处可以有HTML元素

<!--
EOT;
//在此处有PHP语法式的语句。

echo <<<EOT
-->

2、html模板内目录 以php文件所在的目录(路径) 为准。
3、html模板与php分离,可以不使用$_GET或则$_POST方法。直接使用名称作为变量。

您可能感兴趣的文章:
PHP echo heredoc语法的用法总结
php heredoc的用法举例
php中heredoc的方法(EOF)详解
深入PHP EOF(heredoc)用法详解
有关php中heredoc的例子与说明


    
[3]php.ini中error_reporting参数配置
    来源: 互联网  发布时间: 2013-12-24

本节内容:
php.ini中的error_reporting参数的配置。

error_reporting可以设置的参数,如下:
错误报告是位字段。可以将数字加起来得到想要的错误报告等级。
 

E_ALL – 所有的错误和警告(不包括 E_STRICT)
E_ERROR – 致命性的运行时错误
E_WARNING – 运行时警告(非致命性错误)
E_PARSE – 编译时解析错误
E_NOTICE – 运行时提醒(这些经常是你代码中的bug引起的,也可能是有意的行为造成的。)
E_STRICT – 编码标准化警告,允许PHP建议如何修改代码以确保最佳的互操作性向前兼容性。
E_CORE_ERROR – PHP启动时初始化过程中的致命错误
E_CORE_WARNING – PHP启动时初始化过程中的警告(非致命性错)
E_COMPILE_ERROR – 编译时致命性错
E_COMPILE_WARNING – 编译时警告(非致命性错)
E_USER_ERROR – 用户自定义的错误消息
E_USER_WARNING – 用户自定义的警告消息
E_USER_NOTICE – 用户自定义的提醒消息

一般设置为:
error_reporting = E_ALL & ~E_NOTICE ; 除提示外,显示所有的错误。。。
 
例子:
 

代码示例:
<?php
error_reporting = E_ALL & ~E_NOTICE ; 显示所有的错误,除了提醒
error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ; 仅显示编译时致命性错误
error_reporting=E_ERROR :只会报告致命性错误

还可以在php程序中,对error_reporting进行设置,例如:
error_reporting(E_ALL);


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3