У меня есть форма, которая отлично работает, но не передает файл в контроллер
<?php
$this->load->helper('form');
//open form
$attributes = array('class' => 'contact_form');
echo form_open_multipart('admin/add_record', $attributes);
echo form_hidden('current_area', $current_area);
echo form_fieldset('Dati da inserire', array('class' => 'form_fieldset'));
echo "<p>";
echo form_label('Titolo:', 'title', array('class' => 'form_label'));
echo form_input('title', '', "class='form_textfield'");
echo "</p>";
echo form_fieldset_close();
echo form_fieldset('Immagine', array('class' => 'form_fieldset'));
echo '<p>';
echo form_label('Immagine:', 'image', array('class' => 'form_label'));
echo form_upload('image', '', "class='form_filefield'");
echo '</p>';
echo form_fieldset_close();
echo form_fieldset('Testo', array('class' => 'form_fieldset'));
echo form_label('', 'description', array('class' => 'form_label'));
echo form_textarea('description', '', array('class' => 'form_textarea', 'cols' => 45, 'rows' => 10));
echo form_fieldset_close();
//display submit button
echo "<p>";
echo form_submit(array('class' => 'form_submit', 'name' => 'submit'), "Inserisci!");
echo "</p>";
echo form_close();
?>
если я получаю переменные $ _POST на принимающей стороне, я вижу все их, ИСКЛЮЧАЯ файл (переменная с именем image выше).
Дело в том, если я изменюсь
echo form_upload('image', '', "class='form_filefield'");
до
echo form_input('image', '', "class='form_filefield'");
это работает, и переменная 'image' сбрасывается, как и любая другая.
Есть идеи?
спасибо,
Патрик
EDIT:
это кажется какой-то ошибкой, так как я упростил форму и контроллер, и она все еще не работает:
ВИД:
<?php $this->load->helper('form', 'url'); ?>
<?php echo form_open_multipart('admin/add_record2');
echo form_upload('userfile', 'userfile');
?>
<br /><br />
<input type="submit" value="upload" />
</form>
CONTROLLER:
<code>function add_record2()
{
//prints content of entire POST variable
echo '<pre>'; print_r($_POST);echo '
';
}
OUTPUT: пустой массив ...
Array
(
)
НОВОЕ РЕДАКТИРОВАНИЕ
Мне удалось заставить его работать. Нужны были две вещи:
а) установите права доступа к каталогу назначения на 777
б) введите каталог назначения в формате UNIX (я на локальной машине, поэтому /users/patrick/sites/....../uploads вместо localhost / site / img / uploads. Я все еще не уверен почему это, и я должен помнить, чтобы изменить это, когда я загружаю сайт на веб-хостинг ..