Miten suorittaa komentotulkkikomentoja PHP:n kautta

Tässä kirjoituksessa käsitellään komentotulkkikomentojen suorittamista PHP:n kautta. Sen sijaan, että syöttäisit manuaalisesti komennon Linuxissa hakemaan kansiorakennetta, teet tämän siis ohjelmallisesti PHP:n kautta. Mahdollisuus suorittaa komentotulkkikomentoja PHP:n kautta on tehokas ominaisuus, ja sitä tulisi käyttää huolellisesti. Kaikki hosting-palveluntarjoajat eivät salli komentotulkkikomentojen suorittamista PHP:n kautta.

Komentotulkkikomennon suorittamiseen tarkoitettu PHP-funktio on: shell_exec(), exec() tai system().

Nämä funktiot ovat hyvin samankaltaisia, mutta niissä on pieniä eroja:

  • shell_exec() palauttaa täydellisen tulosteen merkkijonona. Merkkijono voi olla NULL, jos tapahtuu virhe tai jos komento ei tuota tulosta.
  • exec() palauttaa suoritetun komennon viimeisen rivin merkkijonona. HUOMAUTUS: Käytä exec()-funktiota, kun tarvitset pääsyn ohjelman ulostuloon. shell_exec()-funktio ei anna tietoa ohjelman ulostulokoodista.
  • system()-funktio on samanlainen kuin shell_exec()-funktio, mutta se näyttää ulostulon suoraan (käyttämättä echo()- tai print()-funktiota).

shell_exec()-funktio & exec()-funktio esimerkki:

Kummatkin komentotulkkifunktiot työskentelevät samalla tavalla. Huomaa aiemmin mainitut erot.

<?echo shell_exec("ls / -ltr");?>

Tulos:

total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….

Vaste sisältää \n rivinvaihtoa. Käytä str_replace(”\n”, ”<BR>”, shell_exec(”ls / -ltr”)) korvataksesi rivinvaihtomerkit HTML-ystävällisillä BR-merkeillä.

Esimerkki:

total 2097248drwxr-xr-x 2 root root 4096 Apr 26 19:07 optdrwxr-xr-x 2 root root 4096 Apr 26 19:07 mediadrwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64

system()-esimerkki:

System()-funktiota käytetään myös komentotulkkikomentojen suorittamiseen PHP:n kautta.

<?system("ls / -ltr");?>

Tulos:

total 2097248 drwxr-xr-x 2 root root 4096 Apr 26 19:07 opt drwxr-xr-x 2 root root 4096 Apr 26 19:07 media drwxr-xr-x 2 root root 4096 Apr 26 19:07 lib64 lrwxrwxrwx 1 root root ….

Käy osoitteessa https://anto.online saadaksesi lisää PHP:tä käsitteleviä postauksia!

Kirjoittajista

Jokainen Anto:n toimituskunnan jäsen on Cloud-asiantuntija omalla alallaan. Anto Online on ylpeä siitä, että se voi auttaa muita Cloud-harrastajia. Kerro meille, jos sinulla on erinomainen idea seuraavaan aiheeseen!

Tue asiaa

Tue Anto Onlinea ja osta meille kahvit. Kahvin ja koodin avulla kaikki on mahdollista.

Osta minulle kahvi

Vastaa

Sähköpostiosoitettasi ei julkaista.