Orion7 Posted October 14, 2005 Report Share Posted October 14, 2005 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 More sharing options...
bubu Posted October 14, 2005 Report Share Posted October 14, 2005 Protams ir iespējams. Šāds kods man atvēra wordu ar to failu: <?php shell_exec("start winword fails.txt"); ?> Link to comment Share on other sites More sharing options...
Orion7 Posted October 14, 2005 Author Report Share Posted October 14, 2005 Jā izpildot no komandrindas tas strādā, bet man vajag lai izpildot to kodu no pārlūkprogrammas tas strādātu. Link to comment Share on other sites More sharing options...
bubu Posted October 14, 2005 Report Share Posted October 14, 2005 Nja, no webserera mēģināju notepad atvērt, nekas nevērās, pastījos task managerī - tur notepadu kaudze sēž :) Šis laikam logus nerāda, bet vērt ver... Link to comment Share on other sites More sharing options...
Orion7 Posted October 14, 2005 Author Report Share Posted October 14, 2005 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 More sharing options...
ra001 Posted December 6, 2006 Report Share Posted December 6, 2006 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 More sharing options...
andrisp Posted December 6, 2006 Report Share Posted December 6, 2006 Varbūt var pamēģināt sabāzt visu bat failā, un no php izsaukt to. Link to comment Share on other sites More sharing options...
v3rb0 Posted December 6, 2006 Report Share Posted December 6, 2006 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 More sharing options...
ra001 Posted December 6, 2006 Report Share Posted December 6, 2006 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 More sharing options...
Delfins Posted December 6, 2006 Report Share Posted December 6, 2006 šarotos nevers vaļā.... Btw, ja ver vaļā no web tad vien tik sanāk tikai read-only (saglabāt var uz sava kompa) Link to comment Share on other sites More sharing options...
v3rb0 Posted December 6, 2006 Report Share Posted December 6, 2006 nezinu vai useri sapratīs, bet varbūt pietiek ka parādi tikai pilno ceļu uz failu, kuru var copy/paste iekš texta editora open loga filename's lauka. Link to comment Share on other sites More sharing options...
bubu Posted December 6, 2006 Report Share Posted December 6, 2006 Ja fails ir tiešām lokāls, tb serveris=klients=browseris, tad var mēģināt ar http://php.net/exec izsaukt winword.exe dokuments.doc Link to comment Share on other sites More sharing options...
Recommended Posts