我是php的初学者,而且......我只是想用php创建这个...动态索引/ document_display脚本...我试图做的事情对这个问题并不重要,然而。事情是......我的脚本完全按照我想要它做的,当用PHP 5.4.16托管在WAMP服务器上时...但是当用php 5.3.3上传到LAMP服务器时,我收到了错误
致命错误:无法在写入上下文中使用函数返回值 第34行/users/clentz/testphpindex.php
我需要它才能在这个灯泡服务器上工作。
任何人都可以告诉我下面的代码是如何导致php 5.3.3解释器错误的?
<?php
$courses_directory = "./Courses";
$courses_array = scandir($courses_directory);
if (empty($_SERVER['QUERY_STRING']))
{
include 'Misc/common_components/headers/index_header.html';
echo "\r\n\t<h1>Enrolled Courses</h1>";
for ($uwmi_loop_var = 2; isset($courses_array[$uwmi_loop_var]); $uwmi_loop_var++)
{
if ($uwmi_loop_var == 2)
{
echo "\r\n\t<ul>";
}
if (isset($courses_array[$uwmi_loop_var]))
{
echo "\r\n\t\t<li>" . '<a href="?' . $courses_array[$uwmi_loop_var] . '">' . $courses_array[$uwmi_loop_var] . '</a></li>';
}
if (!isset($courses_array[($uwmi_loop_var + 1)]))
{
echo "\r\n\t</ul>\r\n";
}
}
include 'Misc/common_components/footer.html';
}
else if (!empty($_SERVER['QUERY_STRING']))
{
for ($uwmi_loop_var = 2; isset($courses_array[$uwmi_loop_var]); $uwmi_loop_var++)
{
if (explode("&",$_SERVER['QUERY_STRING'])[0] == rawurlencode($courses_array[$uwmi_loop_var]))
{
include "./Courses/" . $courses_array[$uwmi_loop_var] . "/index.php";
}
}
}
?>
如果有帮助,您可以通过以下方式查看代码:pic of the code in a visually appealing format
答案 0 :(得分:6)
问题:
explode("&",$_SERVER['QUERY_STRING'])[0]
在PHP 5.3。*版本中不支持这种类型的代码。
您可以为5.3。*版本
执行此操作$query_string = $_SERVER['QUERY_STRING'];
$arr = explode("&",$query_string);
if ($arr[0] == rawurlencode($courses_array[$uwmi_loop_var]))
{
include "./Courses/" . $courses_array[$uwmi_loop_var] . "/index.php";
}