【问题标题】:unexpected T_OBJECT_OPERATOR (line 59)意外的 T_OBJECT_OPERATOR(第 59 行)
【发布时间】:2014-06-30 19:42:13
【问题描述】:

我正在为某人做一个小项目。 现在我不熟悉 php 中的文件,但我设法使用 Mamp 让它在 localhost 上运行。无论如何,现在我想在线上传一个测试版本,当我尝试登录时,我收到以下错误:

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/fcom2126/public_html/bael/admin/overview.php on line 59

我不知道这个错误是什么意思,通过搜索它可能会在某处丢失 $ 但我看不到在哪里。也许你们可以帮帮我?

if (!in_array((new SplFileInfo($_FILES['afbeelding']['name']))->getExtension(), array('jpeg', 'jpg', 'png', 'gif'))) {
            exit('<p>Foute extentie. Enkel afbeeldingen toegelaten!</p>');
        } else {
            $path_parts = pathinfo($_FILES['afbeelding']['name']);
            $_FILES['afbeelding']['name'] = $name . "." . $path_parts['extension'];
            //!!! aanpassen bij UPLOAD
            $img = $_SERVER['DOCUMENT_ROOT'] ."/img/rouwregister/overledenen/". $_FILES['afbeelding']['name'];
        }

if 语句是第 59 行,在我的本地主机上我没有收到任何错误,但是在网络上尝试它时确实给了我一个错误。

我的错在哪里? 先谢谢了

彼得·简

编辑

难道我的 php 版本还不支持 SPL?

【问题讨论】:

    标签: php sql syntax


    【解决方案1】:

    您的本地主机正在运行 PHP5.4+,而您的生产服务器正在运行 PHP5.3 或更早版本。因此,您在实例化时无权访问类成员:

    所以这个:

     (new SplFileInfo($_FILES['afbeelding']['name']))->getExtension()
    

    行不通。您需要将其更改为:

    $splFileInfo = new SplFileInfo($_FILES['afbeelding']['name'])
    $extension   = $splFileInfo->getExtension();
    if (!in_array($extension, array('jpeg', 'jpg', 'png', 'gif'))) {
    

    【讨论】:

    • 怀疑一样多。感谢您的修复!
    • 恭喜约翰获得了 100k - 这确实是一个盛大的日子 ;-)
    • @Fred-ii- 谢谢!从技术上讲,我还有 34 分要走,但由于四舍五入,我在庆祝方面领先一步。 =)
    • 真的很高兴约翰。我在这里添加了我的贡献;-) 不远了! 干杯
    猜你喜欢
    • 1970-01-01
    • 2023-02-06
    • 2014-09-08
    • 2013-12-28
    • 2011-02-24
    • 1970-01-01
    • 2011-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多