b-pac com->open findet datei nicht
SorgenkindMech
- php
moins ihr
also mal zur situation
ich will drucken, und zwar auf einen labenprinter
der druckauftrag muss der lokal am printer angeschlossene rechner sein (win2k)
also was hab ich gemacht
SDK für den labelprinter gesaugt (B-pac, brother)
da is ne com-klasse mit drin, die das wohl kann, die beispiele funktionieren auch, müssen aber lokal ausgeführt werden
problem: ich kann nix übers netzwerk von einem anderen rechner machen
also hab ich mir gedacht, ok, sprichst die com-klasse über php an
also IIS aktiviert, php installiert, dcom enabled, keine ahnung ob das notwendig ist, aber sicher is sicher
soooo
hier mal mein kleines script:
<?php
$obj=new COM("BrssCom.Document") or die("Klasse konnte nicht geladen werden");
$obj->Open("c:\rtv_p_touch\rtv.lbl") or die("Datei konnte nicht geöffnet werden!");
$index=$obj->GetTextIndex("fgnr") or die("Text konnte nicht gefunden werden!");
// $obj->SetText($index, "meine fg");
// fgnr, abnr, mnr_datum
$obj->DoPrint(0,"0");
// echo com_invoke($obj,"DoPrint","0, '0'");
$obj->Close();
$obj->Release();
$obj=null;
?>
so, und wo bleibt er hängen? richtig, beim öffnen der datei
dokumentation von Open():
boolean Open(BSTR szFilePath)
szFilePath Pfad (UNC) der Datei // habs auch schon mit \rechner\freigabe\ordner\datei.ext versucht, geht auch nich
"0" wird zurückgegeben, wenn die datei nicht geöffnet werden konnte, ein anderer Wert als "0" wird zurückgegeben, wenn die datei erfolgreich geöffnet wurde
Beschreibung: Öffnet eine Layoutdatei (lbl) mit dem angegebenen Pfad (UNC).
so, eigentlich hab ich nichts anderes gemacht, und das VB-Script im Beispiel macht ja auch nichts anderes
IIS läuft auf Sicherheitsstufe niedirg, incl anwendungen ausführen
die datei liegt sogar im verzeichnis, in dem die php-datei liegt, die aufgerufen wird, also sozusagen im www-root-dir
tja, aber es funktioniert nicht
hat jemand schon damit erahrungen oder tips, wo man ma nachschaun könnte woran es liegt?
bin schonmal dankbar für jede hilfe
greetz
the mech | CODE:NC01
Hallo,
was gibt den echo "c:\rtv_p_touch\rtv.lbl" aus?
gruss
Hallo,
was gibt den echo "c:\rtv_p_touch\rtv.lbl" aus?
gruss
das wird wahrscheinlich den string ausgeben ...
aber .... LOL
ich muss ja den backslash escapen .....
c:\rtv_p... geht
aber mit normalem / geht das ganze nicht... seltsam, naja, danke für den hinweis ;)
bis denne