当前位置: 首页 > 图文教程 > 网络编程 > PHP > PHP脚本的8个技巧(6)

PHP
PHP脚本的10个技巧(8)
提升PHP速度全攻略
PHP制作图型计数器的例子
如何将一个表单同时提交到两个地方处理
用php来检测proxy
用Flash图形化数据(二)
PHP中Session的概念
用Flash图形化数据(一)
Session的工作方式
建立动态的WML站点(三)
建立动态的WML站点(一)
建立动态的WML站点(二)
BBS(php & mysql)完整版(一)
BBS(php & mysql)完整版(四)
WML,Apache,和 PHP 的介绍
网站当前的在线人数
深入了解php4(1)--回到未来
深入了解php4(2)--重访过去
建立文件交换功能的脚本(二)
建立文件交换功能的脚本(一)

PHP脚本的8个技巧(6)


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

PHP和COM

如果你是一名冒险份子,而且你正在使用CGI、ISAPI或Apache模块版本的Windows系统上运行着PHP,那么你也可以获得系统的COM功能。现在,解释COM(微软的组件对象模型)的工作留给了微软和那些大部头的图书来完成。然而,知道点COM也没什么错,下面有一个普通的(没有双关语,针对很普通)代码小片断。

这代码小片断使用PHP在后台启动MicrosoftWord、打开一个新文件、键入一些文本、保存该文件然后关闭应用程序:

<?
//createareferencetoanewCOMcomponent(Word)
$word=newCOM("word.application")ordie("Can'tstartWord!");

//printtheversionofWordthat'snowinuse
echo"LoadingWord,v.{$word->Version}<br>";

//setthevisibilityoftheapplicationto0(false)
//toopentheapplicationintheforefront,use1(true)
$word->Visible=0;

//createanewdocumentinWord
$word->Documents->Add();

//addtexttothenewdocument
$word->Selection->TypeText("Testing1-2-3...");

//savethedocumentintheWindowstempdirectory
$word->Documents[1]->SaveAs("/Windows/temp/comtest.doc");

//closetheconnectiontotheCOMcomponent
$word->Quit();

//printanothermessagetothescreen
echo"Checkforthefile...";
?>

假设你正在运行一个内联网Web站点,该站点把数据存放在MicrosoftSQLServer数据库内,你的用户需要Excel格式的数据。那么,你可以让PHP执行必要的SQL查询并且格式化输出结果,然后使用COM启动Excel,把数据传输给它,最后再把文件存储到用户的桌面系统内。