Данные $ _FILES всегда равны нулю - PullRequest
0 голосов
/ 25 марта 2011

Я пытаюсь опубликовать изображение в формате PNG. Вот мой код.

<form action="http://killprashanth.res.cmu.edu/index.php/main/post"  enctype="multipart/form-data" method="post" accept-charset="utf-8"> 
<div class="hidden"> 
 <input type="hidden" name="userid" value="" /> 
 <input type="hidden" name="thread" value="" /> 
</div>
<label for="text">Message text:</label>
<textarea name="text" cols="90" rows="12" ></textarea><br>
<table>
 <tr>
  <td style="width: 40%;">
   <label for="file">Image (optional):</label>
   <input type="file" name="file" value=""  />
  </td>
  <td style="width: 60%;">
   <input type="submit" name="submit" value="send" onclick="reload()" />
  </td>
 </tr>
</table>
</form>

и

public function post()
{
        move_uploaded_file($_FILES["file"]["tmp_name"], '/uploads'.$_FILES["file"]["name"]);

        $data = array(
                'userid' => $_POST['userid'],
                'thread' => $_POST['thread'],
                'text' => $_POST['text'],
                'image' => $_FILES["file"]["name"]
        );

        $this->db->insert('messages', $data);
}

В моей базе данных все работает, кроме изображения (varchar) всегда NULL.

1 Ответ

0 голосов
/ 25 марта 2011

Попробуйте удалить:

onclick="reload()"

Проверьте, работает ли оно сейчас.Это может привести к прерыванию загрузки файла (выполняется «перезагрузка» перед отправкой формы).

Если вы хотите перезагрузить страницу вместо того, чтобы на самом деле перейти на опубликованную страницу, вы можете просмотреть POSTing черезAJAX.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...