2015-08-18 2 views
2

У меня есть код, который я использую для загрузки файлов. Он работает правильно, когда я что-то загружаю, но когда я ничего не загружаю, появляется сообщение «Внутренняя ошибка сервера».Ошибка интернет-сервера в SDK разбора PHP при загрузке файлов

if (isset($_FILES['image'])) { 
     if ($_FILES['image']['size'] < 600000) { 
      // save file to Parse 
      $file = ParseFile::createFromData( 
         file_get_contents($_FILES['image']['tmp_name']), 
         $_FILES['image']['name'] ); 
      $file->save(); 
     } else { 
      echo "El archivo no se adjuntó porque rebasa el tamaño máximo permitido"; 
     } 
    } else { 
     $file = ""; 
    } 

//The error remains if i take out this code which saves the image on the Parse database. 
// So the problem is in the code above. 

$report = new ParseObject("Report"); 
if (isset($file)) { $report->set("ImageFile", $file); } 
$report->save(); 
+0

привет попробовать в первой строке, если (количество ($ _FILES)> 0) {... } и перед тем, как вы будете использовать file_get_contents ($ _FILES ['image'] ['tmp_name']), вам нужно проверить, существует ли файл – volkinc

+0

У меня все еще такая же проблема –

+0

какая строка? ошибка должна дать вам строку ошибки – volkinc

ответ

0

Наконец я мог заставить его работать

$isFileExists = (file_exists ($_FILES['image']['tmp_name'])) && ($_FILES['image']['error'] != 4); 
if (isset($_FILES['image']) && $isFileExists) { 
    $isGoodSize = ($_FILES['image']['size'] < 600000) && ($_FILES['image']['size'] > 0); 

     if ($isFileExists && $isGoodSize) { 

      $file = ParseFile::createFromData( 
         file_get_contents($_FILES['image']['tmp_name']), 
         $_FILES['image']['name'] ); 
      $file->save(); 
     } else { 
      echo "No adjuntaste alguna imagen, o no se subió porque rebasa el tamaño máximo permitido"; 
     } 
    } 
if (isset($file)) { $report->set("ImageFile", $file); } 
    $report->save(); 
0

это должно быть что-то вроде этого. Я не проверял, но вы можете увидеть идею

$file = ""; 
if (!empty($_FILES['image']['name'])) { 
    $isFileExists = file_exists ($_FILES['image']['tmp_name']); 
    $isGoodSize = ($_FILES['image']['size'] < 600000) && ($_FILES['image']['size'] > 0); 

     if ($isFileExists && $isGoodSize) { 

      $file = ParseFile::createFromData( 
         file_get_contents($_FILES['image']['tmp_name']), 
         $_FILES['image']['name'] ); 
      $file->save(); 
     } else { 
      echo "El archivo no se adjuntó porque rebasa el tamaño máximo permitido"; 
     } 
    } 

$report = new ParseObject("Report"); 
if (isset($file)) { $report->set("ImageFile", $file); } 
$report->save(); 
+0

Нет, это не сработало :( –

+0

Место выхода() перед началом кода и посмотреть, есть ли у вас еще ошибка – volkinc

+0

Ошибка исчезла. Ошибка в этом коде, проблема в том, что я не знаю которая является ошибкой –

Смежные вопросы