当前位置: 首页 > 图文教程 > 网络编程 > PHP > php生成outlook-php日历文件

PHP
业界领先厂商加入Solid技术合作伙伴新计划
Google发布优化MySQL的补丁及工具
MySQL公司宣布Cluster数据库基准测试结果
php5学习笔记
变量的变量,PHP和你
window.open()的所有参数列表
用PHP生成访客计数器
用Php如何操作LDAP
php.ini 配置详细选项
ArrayAccess接口介绍
PEAR::HTML_QuickForm与Smarty 的结合应用
PHP:MVC迷思
细看PEAR的错误处理
PHP与UML类图: PHP and UML Class Diagrams
用PHP创建动态图形
用Pear加速PHP程序开发
PHP绘图对象结构设计与应用实例
PHP 开发人员:充实您的 XML 工具箱
PHP 数据加密
PHP的XML分析函数

PHP 中的 php生成outlook-php日历文件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 175 ::
收藏到网摘: n/a

以下为引用的内容:

 <?php
//$Filename = "SSaa.vcs";
header('Content-Type: text/x-vCalendar; method=REQUEST;charset="utf-8"');
header('Content-Disposition: inline; filename=ssaa.vcs');
    /** Put mysql connection and query statements here **/
//date_default_timezone_set (Asia/Shanghai);
$col='有一份新的简历需要查看!';
$strtime=strtotime($_GET['dateInput']);//得到开始时间,并化为时间戳,就是化为秒,不明白可以看手册,很详细,前面的文章中也有.
$cc=$strtime-(1*8*60*60);这是是算时区差.因为我的服务器设的是美国时间.
$newstrtime= strftime( "%Y-%m-%d %H:%M:%S",$cc);//is start date time
$endtime=strtotime($_GET['enddateInput']);//得到会议结束时间.
$endcc=$endtime-(1*8*60*60);//一样.
$newendtime= strftime( "%Y-%m-%d %H:%M:%S",$endcc);//is end date time
$oo=array("-"," ",":");
$bb=array("","T","");
$vCalStart = str_replace($oo,$bb,$newstrtime);//这里是把会议开始时间转化为outlook识别的时间格式
$vCalEnd = str_replace($oo,$bb,$newendtime);//一样
$exe = "select * from TABLENAME where id=".$_GET['id'];//下在是查询,得到要输出的内容.
$rss=@mysql_query($exe);
$rows=mysql_fetch_array($rss);
$outcontent="\r\r姓    名: \r\r电话号码: ";
$DescDump = str_replace("\r", "=0D=0A",$outcontent);//把内容换在outlook识别的格式
?>
BEGIN:VCALENDAR
VERSION:1.0
PRODID:SSPCA Web Calendar
TZ:-07
BEGIN:VEVENT
ORGANIZER:MAILTO:<?php echo $emailv."\n";?>
SUMMARY;ENCODING=QUOTED-PRINTABLE:<?php echo $col ."\n";?>
LOCATION;ENCODING=QUOTED-PRINTABLE:<?php echo $locol ."\n";?>
DESCRIPTION;ENCODING=QUOTED-PRINTABLE: <?php echo $DescDump . "\n"; ?>
DTSTART:<?php echo $vCalStart . "Z \n"; ?>
DTEND:<?php echo $vCalEnd . "Z \n"; ?>
END:VEVENT
END:VCALENDAR

上面都注释了.都是中文注释,应该会明白.

最重要的不是PHP代码,而是begin to end 中的内容,你可以把中间的php换成字符串,生成一下.试试就知道

begin to end 中的内容,对应的是outlook中的哪些部分了.(如果你的英文比我强,你不用试就知道了.\呵呵.)