2015-03-16 6 views
0

У меня есть этот код ниже (я работаю над загрузкой файлов). на localhost он работает нормально, но когда я загружаю его на свой сервер, он возвращает эту ошибку;Загрузка ошибки нескольких файлов;

Ошибка синтаксического анализа: ошибка синтаксиса, неожиданный '[' в /home/public_html/bookingsuccess.php по линии 91

линии 91, которая является первой строке кода ниже:

$allowed = ['jpg','png','gif','eps','pdf','doc','docx','xls','xlsx','ppt','pptx','ai','zip','rar']; 
$succeeded = []; 
$failed = []; 
if (!empty($_FILES['file'])) { 
    include('config.php'); 

    foreach ($_FILES['file']['name'] as $key => $name) { 

     if($_FILES['file']['error'][$key] === 0){ 
      $temp = $_FILES['file']['tmp_name'][$key]; 
      $ext = explode('.', $name); 
      $ext = strtolower(end($ext)); 

      $file = md5_file($temp) . time() .'.'.$ext; 

      if (in_array($ext,$allowed) === true && move_uploaded_file($temp, "uploads/{$file}") === true) { 
        print_r($succeeded [] = array('name' => $name, 'file' => $file)); 
        $dir = "uploads/{$file}"; 
        $qry = $handler->prepare('INSERT INTO store (location, name) VALUES (?,?)'); 
        $qry->execute(array($dir, $name)); 
       # code... 
      }else{ 
       $failed[] = array($name); 
       echo "Some files failed to upload due to invalid file extensions"; 
      } 

     }else{ 

      echo "Error"; 
     } 
    } 
} 

Спасибо за любой ответ!

+1

что ваш PHP версии? – mishu

+0

PHP версия 5.3.29 –

+1

Синтаксис короткого массива был представлен в PHP 5.4 (см. Http://docs.php.net/manual/en/language.types.array.php), поэтому для вашей версии вам необходимо определить свои массивы используя функцию http://php.net/manual/en/function.array.php – mishu

ответ

1

Возможно, вы используете PHP < 5.4.

По http://docs.php.net/manual/en/language.types.array.php:

As of PHP 5.4 you can also use the short array syntax, which replaces array() with [].

Это показано в примере на странице руководства с:

<?php 
$array = array(
    "foo" => "bar", 
    "bar" => "foo", 
); 

// as of PHP 5.4 
$array = [ 
    "foo" => "bar", 
    "bar" => "foo", 
]; 
?> 
Смежные вопросы