escapeshellarg

Supported Versions: PHP 4 >= 4.0.3, PHP 5, PHP 7, PHP 8
Escape a string to be used as a shell argument
<?php escapeshellarg(string $arg): string
<?php         $mode = $this->isDirectory($target) ? 'J' : 'H';



        exec("mklink /{$mode} ".escapeshellarg($link).' '.escapeshellarg($target));

    }
<?php use Symfony\Component\Process\Process;



return function ($url) {

    Process::fromShellCommandline(sprintf('echo %s > %s', escapeshellarg($url.'?expected-query=1'), escapeshellarg($GLOBALS['open-strategy-output-path'])))->run();

};
<?php     private static function escapeArgument($argument)

    {

        if ('' === ($argument = (string) $argument)) {

            return escapeshellarg($argument);

        }



        if (!Platform::isWindows()) {
<?php             'COMPOSER_CACHE_DIR' => $this->testDir.'cache',

        );



        $proc = Process::fromShellCommandline(escapeshellcmd(PHP_BINARY).' '.escapeshellarg(self::$pharPath).' --no-ansi '.$testData['RUN'], $this->testDir, $env, null, 300);

        $output = '';



        $exitCode = $proc->run(function ($type, $buffer) use (&$output) {
<?php     public function testExecuteExampleWithoutLoopRunRunsLoopAndExecutesTicks()

    {

        $output = exec(escapeshellarg(PHP_BINARY) . ' 01-ticks-loop-class.php');



        $this->assertEquals('abc', $output);

    }
<?php     public function testExecuteExampleWithExplicitLoopRunRunsLoopAndExecutesTicks()

    {

        $output = exec(escapeshellarg(PHP_BINARY) . ' 02-ticks-loop-instance.php');



        $this->assertEquals('abc', $output);

    }
<?php     public function testExecuteExampleWithExplicitLoopRunAndStopRunsLoopAndExecutesTicksUntilStopped()

    {

        $output = exec(escapeshellarg(PHP_BINARY) . ' 03-ticks-loop-stop.php');



        $this->assertEquals('abc', $output);

    }
<?php     public function testExecuteExampleWithUncaughtExceptionShouldNotRunLoop()

    {

        $time = microtime(true);

        exec(escapeshellarg(PHP_BINARY) . ' 11-uncaught.php 2>/dev/null');

        $time = microtime(true) - $time;



        $this->assertLessThan(1.0, $time);
<?php     public function testExecuteExampleWithUndefinedVariableShouldNotRunLoop()

    {

        $time = microtime(true);

        exec(escapeshellarg(PHP_BINARY) . ' 12-undefined.php 2>/dev/null');

        $time = microtime(true) - $time;



        $this->assertLessThan(1.0, $time);
<?php     public function testExecuteExampleWithExplicitStopShouldNotRunLoop()

    {

        $time = microtime(true);

        exec(escapeshellarg(PHP_BINARY) . ' 21-stop.php 2>/dev/null');

        $time = microtime(true) - $time;



        $this->assertLessThan(1.0, $time);
<?php     public function testExecuteExampleWithExplicitStopInExceptionHandlerShouldNotRunLoop()

    {

        $time = microtime(true);

        exec(escapeshellarg(PHP_BINARY) . ' 22-uncaught-stop.php 2>/dev/null');

        $time = microtime(true) - $time;



        $this->assertLessThan(1.0, $time);
<?php         $arguments = array_map(static function (string $arg): string {

            return escapeshellarg($arg);

        }, $arguments);



        try {