как запустить файл php с параметром с помощью notepad++

Как запустить файл php с параметром, используя notepad++

test.php

<?php 
    /* ------- 
        test.php
    ------- */
    if(!isset($_GET['file'])){
        exit;
    }
    $code=file_get_contents($_GET['file']);
    echo $code;

?>

demo_file.php -----$(FULL_CURRENT_PATH)

содержание:

привет, мир


cd "D:\PHPnow-1.5.6\htdocs\zc_default\my_debug_fw"<br>
"d:\PHPnow-1.5.6\php-5.2.14-Win32\php.exe" "test.php" [what here?]

как отправить "demo_file.php" как $_GET['file'] в test.php?

Консоль наконец должна вывести: ...... hello world


person linjuming    schedule 26.10.2012    source источник


Ответы (2)


При использовании PHP из командной строки аргументы не передаются как часть суперглобального массива $_GET. Они передаются как часть $_SERVER - superglobal, где $_SERVER['argc'] — количество аргументов, а $_SERVER['argv'] — массив значений аргументов. $_SERVER['argv'][0] — это имя php-скрипта, а $_SERVER['argv'][1] — первый аргумент.

    if($_SERVER['argc'] < 2){
        exit("Usage: php test.php <file>");
    }

    $code = file_get_contents($_SERVER['argv'][1]);

По вашему примеру выше...

person frosty    schedule 26.10.2012

После закрытия Notepad++ перейдите к %APPDATA%/Notepad++ и откройте файл shortcuts.xml в Блокноте. Внутри добавьте следующую строку.

<Command name="Launch Server" Ctrl="yes" Alt="yes" Shift="no" Key="90">chrome &quot;http://localhost/index.php?file=$(FULL_CURRENT_PATH)&quot;</Command>

Теперь измените содержимое index.php по умолчанию в htdocs на

<?php
    if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS']))
    {   $uri = 'https://'; }

    else
    {   $uri = 'http://'; }
    $uri .= $_SERVER['HTTP_HOST'];

    if(isset($_GET['file']))
    {
        $root = $_SERVER['DOCUMENT_ROOT'];
        $file = str_replace('\\', '/', $_GET['file']);
        $file = str_replace($root, '', $file);

        header("Location: http://localhost{$file}");
    }
    else
    {
        header('Location: '.$uri.'/xampp/');
        //header('Location: '.$uri.'/yourproject/');
    }
    exit;
?>
Something is wrong with the XAMPP installation :-(

Теперь запустите Xampp и нажмите Notepad++>Run>Launch Server или используйте горячую клавишу CTRL+ALT+Z для прямого запуска кода!

person mystupidstory    schedule 10.02.2015