意外的T_OBJECT_OPERATOR(第59行)

时间:2014-06-30 19:42:14

标签: php sql syntax

我正在为某人制作一个小项目。 现在我不熟悉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吗?

1 个答案:

答案 0 :(得分:3)

您的localhost运行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'))) {