❶ php中的COM("WinNT://Domain"); 是什麼意思
就是建立一個com對象,WinNT://Domain是NT系統下面的domain(域名),這個程序就是要遍歷一下winNT系統的域名列表啊。
❷ php怎麼開啟com組件
先到PHP.INI中打開COM選項,com.allow_dcom = true 注意: PHP 5.4.5後,com/dotnet 模塊已經成了單獨的擴展,所以需要在PHP.ini中配置extension=php_com_dotnet.dll ,如果PHP VERSION<5.4.5 則不需要。
❸ PHP的COM組件
現象已經很明確了,是WScript.Shell對象可以引用,而word.application對象不可以引用。說明PHP配置和APACHE配置已經沒有問題了。
問題在於word.application對象為什麼不能引用,原因很可能是你的伺服器沒安裝office,所以也不存在word.application對象。
❹ 如何用PHP調用自己編寫的COM組件
首先寫ActiveX Dll:
新建一個VB6工程,ActiveX Dll將工程命名為P_test,類名為c_test ,類的文件內容如下:
Option Explicit
Private MyscriptingContext As scriptingContext
Private MyApplication As Application
Private MyRequest As Request Private MyResponse As Response
Private MyServer As Server
Private MySession As Session Public
Sub OnStartPage(PassedscriptingContext As scriptingContext)
Set MyscriptingContext = PassedscriptingContext
Set MyApplication = MyscriptingContext.Application
Set MyRequest = MyscriptingContext.Request
Set MyResponse = MyscriptingContext.Response
Set MyServer = MyscriptingContext.Server
Set MySession = MyscriptingContext.Session
End Sub
Public Sub OnEndPage()
Set MyscriptingContext = Nothing
Set MyApplication = Nothing
Set MyRequest = Nothing
Set MyResponse = Nothing
Set MyServer = Nothing
Set MySession = Nothing
End Sub
Public Function Test_Number(num) As Variant
If num 0 Then Get_Number_Attrib = 1
If num = 0 Then Get_Number_Attrib = 0
End Function
編譯生成p_test.dll文件
注冊
提示符下運行:regsvr32 p_test.dll
編寫php文件,test.php4代碼如下:
<?php
$b=new COM("p_test.c_test");
$a=$b->Test_Number(-454);
echo $a;
?>
可能碰到的問題是,編譯工程時通不過,要將Microsoft Active Server Pages Object Library引用進來,具體實現"Project->References"找到改庫,並勾上 。
❺ php中有個com組件,它裡面都有哪些屬性和方法可以調用呢
先到PHP.INI中打開COM選項,com.allow_dcom = true
PHP 5.4.5後,com/dotnet 模塊已經成了單獨的擴展,所以需要在PHP.ini中配置extension=php_com_dotnet.dll,如果PHP VERSION<5.4.5 則不需要。否則的話,可能就是報錯 Fatal error: Class 'COM' not found 了
配置方法為:只需在擴展列表裡添加extension=php_com_dotnet.dll即可
另外需要了解的是,COM組件雖然也是DLL擴展,但它不是PHP擴展,所以把Senc.dll拷貝到php/ext 目錄,然後在PHP.INI里載入是錯誤的,PHP也不認識它
配置完畢後可以測試下,語句為
$word=newCOM("word.application")ordie("UnabletoinstanciateWord");
print"LoadedWord,version{$word->Version} ";
上面語句本機必須安裝了office才可以
openoffice的為:
$obj=newCOM("com.sun.star.ServiceManager")ordie("UnabletoinstanciateWord");
❻ ThinkPHP的control類裡面為什麼用不了COM類
this.FindControl()這個方法中this代表當前窗體,意思是在當前窗體根據索引或者name尋找控制項,你在類裡面,this代表這個類,怎麼可能會有FindControl這個方法呢,這不是引用不引用的問題!
所以說方法,不可以這么寫,要麼你在這個方法多加個參數,來代表窗體,如:
public void Get_control(control con)
{
Label lbl = (Label)con.FindControl("名字");
}
❼ php中的COM類是不是無法在LINUX環境下運行
是的.windows專用 函數
❽ 誰知道THINKPHP 的所謂 ORG,COM第三方類庫是什麼意思...
第三方
類庫
就是不是自己寫的
也不是
php提供的,而是其它的人寫的一些類,寫好了類,下次
再遇到
同樣的問題
的時候就只要調用就可以了,不必每次都寫一樣的代碼,
❾ php用com類上傳解壓文件時 出現問題
首先調用COM正常,應該是run這一出錯了。
我的建議是:
1.首先確定你裝有winrar(當然其他解壓縮軟體也行)
2.然後先不著急在PHP里解壓,在CMD中測試一下你的winrar命令可不可用
3.如果沒有安裝winrar等工具,或者環境變數有問題(在CMD直接運行winrar命令就會提示出錯了是吧),就安裝解壓縮工具吧(比如本人用的是haozip,命令行工具的rar.exe,我就乾脆把它復制到system32目錄,這樣就可以直接使用了)
4.如果還有神馬問題請追加一下
額,其實吧,裝不裝解壓縮工具都行,只要有winrar.exe 或者rar.exe等命令行解壓縮程序就行了.....
❿ PHP COM類詳解
同學,這個類明顯是自己寫的,你不把這個類的源碼貼出來沒人知道什麼意思