PHP包括不工作

时间:2011-03-06 10:43:19

标签: php include

我有一个带有switch case的PHP文件,根据变量$view包含不同的文件。

当我在本地计算机上的WAMP服务器上运行时,这非常有效。 但现在我已经上传到Web服务器,include函数刚刚停止工作。什么都没有包括在内。

switch($view)
    {
    case 'AddToCart':
        echo 'adding to cart';
        if($_POST['qty']>0)
        {
            if(!isset($_SESSION['cart'][$_POST['id']]))
            {
                $_SESSION['cart'][$_POST['id']]=$_POST['qty'];
            }
            else
            {
                $_SESSION['cart'][$_POST['id']]+= $_POST['qty'];
            }   
        }
        header('Location:index.php');
        break;

    case 'UpdateCart':
        echo 'updating cart...';
        if(isset($_SESSION['cart'][$_POST['id']]))
        {
            if($_POST['updateqty']>0)
                $_SESSION['cart'][$_POST['id']]=$_POST['updateqty'];
            else
                unset($_SESSION['cart'][$_POST['id']]);
        }   
        header('Location:index.php?view=ViewCart');
        break;

    case 'ViewCart':
        echo 'This is the full feature cart.';
        include('models\cart.php');
        include('models\fullcart.php');
        break;

    case 'Checkout':
        echo 'reached checkout';
        include('models\finalcart.php');

        break;

    case 'ClearCart':
        echo 'Clear cart reached';
        $_SESSION['cart']=array();
        $_SESSION['total_items']=0;
        $_SESSION['total_price']=0;
        header('Location:index.php');
        break;

    case 'RemoveItem':
        echo 'Removing item '.$_POST['id'].'<br><br>';
        unset($_SESSION['cart'][$_POST['id']]);
        header('Location:index.php?view=ViewCart');
        break;

    default:
        echo 'index page...lalalalalal...<br>';
        include('models\cart.php');
        include('models\catalog.php');
    }

我在网络服务器上做了phpinfo,发现它正在运行PHP版本5.2.17。

出了什么问题?

3 个答案:

答案 0 :(得分:3)

希望您在发送标题之前不要回复/打印任何内容。 你可以检查你的服务器操作系统是什么,我在文件路径中使用/,而不是\

答案 1 :(得分:2)

我猜你的网络服务器正在运行linux或其他类似unix的系统,它使用正斜杠而不是反斜杠作为目录分隔符。所以你必须替换包含路径中的斜杠:

include('models\fullcart.php');

变为

include('models/fullcart.php');

依旧......

答案 2 :(得分:1)

检查包含的文件权限我认为它们应该是755或775