Jump to content
php.lv forumi

Programmas izsaukšana no PHP


Orion7

Recommended Posts

Problēma tāda, ka vajag tādu skriptiņu, ka izpildot teiksim URL:

http://localhost/runfile.php?doc=document.doc

uz servera tiktu palaista Windows programma, piem.:

winword.exe document.doc

Vai kaut kas tāds iespējams?

Ar exec, system, shell_exec utt man, piem., notepad.exe neizdevās izsaukt, tikai var izpildīt batch komandas kā dir utml.

Link to comment
Share on other sites

Nu jā tur jau tā problēma, ka viņš atver backgroundā. Tas gan nebūtu tas sliktākais, sliktākais ir tas, ka ja tā ir sarežģītāka programma, kas pati izsauc kaut kādas ārējas programmas, tad šī programma vienkārši neizpildās.

Piemēram, man ir faxa programma, kurai kā parametrus padod faxnumuru un word dokumenta ceļu, normāli viņu palaižot tiek izpildīts DDE, kas padod datus uz WinFaxu, tiek palaists WinWords, uztaisīts faxa image un fakss tiek nosūtīts caur Winfaxa printera draiveri uz attiecīgo faxa numuru. Bet izpildot to php scriptu caur browseri šī faxa programma gan tiek palaista, bet DDE neizpildās un scripts vienkārši uzkaras. Man faxa programma gan ir taisīta C++ Builderī, kas ir vizuālā vide, bet php caur browseri ļauj izpildīt tikai procesus bez GUI kā teiksim dir, ipconfig utml. Būs jāpamēģina kaut ko parastajā C++ uztaisīt, varbūt tas ies cauri. Kaut gan pat ja to notepad.exe ieliek .bat failā un caur php izpilda .bat failu, vienalga to notepad nevar dabūt kā GUI. Acīmredzot CGI režīmā PHP neļauj izpildīt procesus, ieskaitot childprocesus ar GUI. Būs jādomā kāds cits risinājums. :rolleyes:

Link to comment
Share on other sites

  • 1 year later...
Problēma tāda, ka vajag tādu skriptiņu, ka izpildot teiksim URL:

http://localhost/runfile.php?doc=document.doc

uz servera tiktu palaista Windows programma, piem.:

winword.exe document.doc

Vai kaut kas tāds iespējams?

Ar exec, system, shell_exec utt man, piem., notepad.exe neizdevās izsaukt, tikai var izpildīt batch komandas kā dir utml.

 

Sore, ka atveru tik vecu topiku, bet man pašam nepieciešamība pēc šādas lietas, lai browserī atvērtu lokālu failu. pagaidām atradu šādu risinājumu

header("Content-Type: application/msword");
 readfile($filename);

Tagad viss puslīdz strāda. atradu protams wisādus COM variantus, bet tie īpaši nedarbojās.

Varbūt tomēr vēl ir kādam idejas, kā šo lietu realizēt.

Link to comment
Share on other sites

kāpēc _locālu_ failu vērt caur browserī, nevis uzreiz iekš texta editora?

 

tomēr ja tas *.doc nav locāli pieejams, tad imo neko vairāk par header() nevajag, ja vien neesi 100% pārliecināts ka būs tikai m$ useri ar IE.. tad ar vari kaut ko ar m$ lietām meklēt.

Link to comment
Share on other sites

kāpēc _locālu_ failu vērt caur browserī, nevis uzreiz iekš texta editora?

 

Man ir datu bāze ar klientiem. Klientiem ir līgumi un citi dokumenti, kuri glabājas dažādās vietās. Dokumentus var rediģēt vairāki cilvēki.

Gribas, aplūkojot, klientus redzēt visus uz to attiecināmus dokumentus un atvērt (kaut vai tikais skatīšanas režīmā). Protams, ka var vērt vaļā mapītes un rakāties attiecīgajos dokumentos un atrast tos. Var arī Delfos uzrakstīt programmu, kas šito visu dara, bet lieta tāda, ka pamatprogramma strādā web eksplorerī un gribas tā arī atsāt.

Starp citu ar manis pieminēto metodi nevar atvērt dokumentus, kas ir nošāroti tīklā (((

 

p.s. šis vispār ir komerciāls projekts un ja kādam ir vēlme šito modulīti haltūras veidā uztaisīt, varam vienoties par samaksu,

Link to comment
Share on other sites

×
×
  • Create New...