PHP is een programmeertaal gebruikt om rijke , interactieve webapplicaties te ontwikkelen . Echter , kunt u wensen om externe programma's of het systeem commando's roepen vanuit een PHP-programma om extra functionaliteit van de efficiëntie te verbeteren toe te voegen . Dit kan worden uitgevoerd door de PHP exec ( ) of het systeem ( ) commando's , die onderling verschillen in functionaliteit en syntaxis . Gebruik De exec ( ) en system ( ) commando's worden gebruikt vanuit een PHP- programma om het systeem commando's of externe programma's en scripts uit te voeren . Dit is belangrijk om de mogelijkheden van de PHP taal en de interface uit te breiden met andere toepassingen die op de server . PHP zal pauzeren totdat de externe hulpprogramma is uitgevoerd , tenzij uitvoer is omgeleid naar een bestand of een andere output buffer . Verschillen Het belangrijkste verschil tussen de exec ( ) en het systeem ( ) commando is hoe de uitgang van het externe programma wordt afgehandeld . Het systeem ( ) commando maakt automatisch de resultaten van de uitgevoerde commando om de huidige output buffer . De exec ( ) commando naar keuze geeft de output van het uitgevoerde commando als een extra arrayvariabele . Syntax De exec ( ) en system ( ) commando's iets andere optionele syntax , hoewel zij beide kunnen worden uitgevoerd met alleen het pad naar de externe programma . Beide opdrachten vereisen een commando opgemaakt als een string , en hebben een optionele return variabele opgemaakt als een pointer naar een int om de terugkeer status van geven het uitgevoerde commando - set aan 0 wanneer uitgevoerd zonder fout en een andere waarde als er een fout is opgetreden . De exec ( ) commando bevat bovendien een output parameter opgemaakt als een pointer naar een array variabele , dat elke lijn van de output van het uitgevoerde commando bevatten zonder witruimte zoals het newline karakter . Beveiliging < br > bij het uitvoeren van externe commando's of programma's , is het vooral belangrijk om de veiligheid van de operatie te overwegen . Bij het gebruik van elke gebruiker geleverde input, gebruikt u de escapeshellarg ( ) of escapeshellcmd ( ) functies om potentieel schadelijke activiteiten te verwijderen . Best practices te betrekken alleen het uitvoeren van een bekende witte lijst van commando's , in plaats van alleen het verwijderen van bekende schadelijke opdrachten .
|