$ _GET数组到字符串

时间:2014-07-22 02:40:33

标签: php arrays string get

我正在以更简单的方式处理我现有的页面并遇到一些问题。 我已经尝试使用$_GET来缩小它,但是这个方法遇到了很多问题。

这是我得到的:

$oc_a = file_get_contents('./'.$_GET.'/oc_info.html', true);

目前正是如此:

if ($_GET['pony'] == 'darkheart') die($header."<br><br>".$oc_a."<br>".$oc_b."<br>
        <table style='width=80%;'>
            <tr>
                <td>
                    ".$oc_c."
                </td>
            </tr>
        </table>
        ");

这就是错误:

  

注意:第12行/home/rikuu/htdocs/twitter/index.php中的数组到字符串转换   警告:file_get_contents(./ Array / oc_info.html):无法打开流:第12行/home/rikuu/htdocs/twitter/index.php中没有此类文件或目录

到目前为止,有谁可以告诉我我做错了什么?

1 个答案:

答案 0 :(得分:2)

您收到该错误,因为$ _GET是一个数组。例如,对于网址https://example.com/subdir?pony=cheerilee&apple=company,请执行以下操作:

echo($_GET['pony']);
echo("<br>");
echo($_GET['apple']);

将返回:

cheerilee
company

因此,如果您的网址为https://example.com/subdir?pony=darkheart,则您的代码将如下所示:

$ocA=file_get_contents('./'.$_GET['pony'].'/os_info.html',true);
if($_GET['pony']==='dearkheart') ...

编辑:正如sberry指出的那样,你一定要确保锁定目录。您可以检查以确保$_GET['pony']不包含../

如果你想查看$ _GET获得的变量,请运行var_dump($_GET);,它将返回如下内容:

array(2) { ["pony"]=> string(4) "dearkheart" } 

这告诉你$ _GET

中的所有数组值