如何使用notepad ++运行带参数的php文件

时间:2012-10-26 03:44:29

标签: php notepad++ nppexec

如何使用 notepad ++

运行带参数的php文件

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

2 个答案:

答案 0 :(得分:0)

从命令行使用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]);

根据你上面的例子......

答案 1 :(得分:0)

关闭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>

现在将htdocs中默认index.php的内容更改为

<?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直接运行代码!