3

如何使用记事本++运行带参数的php文件

测试.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

4

2 回答 2

0

从命令行使用 PHP 时,参数不会作为 $_GET 超全局的一部分传入。它们作为 $_SERVER 的一部分传入 - 超全局,其中 $_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]);

根据您上面的示例...

于 2012-10-26T04:30:49.220 回答
0

关闭记事本++后,转到记事本中%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直接运行代码!

于 2015-02-10T11:06:17.350 回答