Eerst maar even vermelden wat ik draai. Webserver is WAMP5 v1.6.1 met PHP v5.1.2 op een windowsbak.
Op een website wat ik nu aan het maken ben, wil ik een batchbestand aanroepen vanuit php die op zijn beurt weer een share aanmaakt, een dir-commando uitvoert en in textfile opslaat en de share weer verwijderd. Nou heb ik zelf een tijd eraan gezeten maar ik kreeg het niet helemaal werkend. Met een paar mensen in #devschuur ben ik wel verder gekomen, maar het werkt nog niet zoals ik wil dat het werkt.
Het punt zit hem volgens mij in dat het batchbestand het pad niet goed doorkrijgt.
Ik heb in een textfile een lijst met shares. Deze heb ik tevens in een database staan.
Ik heb verschillende aanroepmethodes geprobeerd, maar het schijnt enkel te werken als ik het hardcoded in een variabele zet. Dit wil ik uiteraard niet, omdat het script dan niet dynamisch is.
Aanroep waarop het wel werkt:
Bij diegene die wel werken, komt er netjes de directorystructuur van de share in het textbestand.
Nog een aanroep die wel werkt:
Zoals je ziet maakt het niet uit of in het pad naar het batchbestand slashes of backslashes gebruikt worden.
Niet werkende aanroepen, maar op de manier waarop ik het werkend wil hebben (met een var):
Bij diegene die niet werken, wordt er een leeg textbestand weggeschreven.
Ik echo steeds de variabele die ik meegeef aan de batchfile-aanroep, en die klopt wel.
Ik kom er nu echt niet meer uit en zie echt niet waar het aan ligt en daarom als laatste redmiddel hoop ik dat wij samen misschien de oplossing kunnen achterhalen.
Op een website wat ik nu aan het maken ben, wil ik een batchbestand aanroepen vanuit php die op zijn beurt weer een share aanmaakt, een dir-commando uitvoert en in textfile opslaat en de share weer verwijderd. Nou heb ik zelf een tijd eraan gezeten maar ik kreeg het niet helemaal werkend. Met een paar mensen in #devschuur ben ik wel verder gekomen, maar het werkt nog niet zoals ik wil dat het werkt.
Het punt zit hem volgens mij in dat het batchbestand het pad niet goed doorkrijgt.
Ik heb in een textfile een lijst met shares. Deze heb ik tevens in een database staan.
Ik heb verschillende aanroepmethodes geprobeerd, maar het schijnt enkel te werken als ik het hardcoded in een variabele zet. Dit wil ik uiteraard niet, omdat het script dan niet dynamisch is.
Aanroep waarop het wel werkt:
code:
1
2
3
| $sharetest = "\\\\192.168.247.1\\Open"; // sharepath in een variabele zetten $cmd = "C:\_webserver\webroot\drupal\files\shares\shares.bat ".$sharetest; shell_exec($cmd); |
Bij diegene die wel werken, komt er netjes de directorystructuur van de share in het textbestand.
Nog een aanroep die wel werkt:
code:
1
| shell_exec('C:/_webserver/webroot/drupal/files/shares/shares.bat \\\\192.168.247.1\Open'); |
Zoals je ziet maakt het niet uit of in het pad naar het batchbestand slashes of backslashes gebruikt worden.
Niet werkende aanroepen, maar op de manier waarop ik het werkend wil hebben (met een var):
code:
1
2
| shell_exec('C:/_webserver/webroot/drupal/files/shares/shares.bat '.$shares["1"]); // array met de shares shell_exec($cmd); |
code:
1
2
| shell_exec('C:/_webserver/webroot/drupal/files/shares/shares.bat '.$shares['1']); // array met de shares shell_exec($cmd); |
code:
1
2
3
| $shareVar = $shares['1']; $cmd = "C:\_webserver\webroot\drupal\files\shares\shares.bat ".addslashes($shareVar); shell_exec($cmd); |
Bij diegene die niet werken, wordt er een leeg textbestand weggeschreven.
Ik echo steeds de variabele die ik meegeef aan de batchfile-aanroep, en die klopt wel.
Ik kom er nu echt niet meer uit en zie echt niet waar het aan ligt en daarom als laatste redmiddel hoop ik dat wij samen misschien de oplossing kunnen achterhalen.
Powered by ProBNC