У меня очень странная проблема с загрузкой. Вот соответствующий файл просмотра:
<form action="http://localhost/index.php/temp/upload/" method="post" enctype="multipart/form-data">
<fieldset>
<input type="file" name="userfile"/>
<input type="submit" value="Upload"/>
</fieldset>
</form>
А вот мой temp
метод upload()
контроллера:
public function upload()
{
$config['upload_path'] = FCPATH. 'uploads'. DIRECTORY_SEPARATOR;
assert(file_exists($config['upload_path']) === TRUE);
$config['allowed_types'] = 'avi|mpg|mpeg|wmv|jpg';
$config['max_size'] = '0';
$this->load->library('upload', $config);
if ($this->upload->do_upload('userfile') === FALSE)
{
// Some error occured
var_dump($this->upload->display_errors('', ''));
var_dump($_FILES);
}
else
{
// Upload successful
var_dump($this->upload->data());
}
}
Когда я загружаю видео в формате AVI, все работает нормально. Когда я загружаю, скажем, видео в формате WMV, я получаю следующие дампы var:
string 'The filetype you are attempting to upload is not allowed.' (length=57)
array
'userfile' =>
array
'name' => string 'wmv.wmv' (length=7)
'type' => string 'video/x-ms-wmv' (length=14)
'tmp_name' => string 'C:\wamp\tmp\php2333.tmp' (length=23)
'error' => int 0
'size' => int 83914
Расширение «wmv» интерпретируется как тип MIME:video/x-ms-wmv
. Это должно быть хорошо, так как мой config/mimes.php имеет следующее:
'wmv' => array('video/x-ms-wmv', 'audio/x-ms-wmv')
Это аналогичная ситуация, когда я пытаюсь загрузить другие файлы. Пока работает только мой тестовый AVI-видео.
Есть идеи, что может быть не так?
ОБНОВЛЕНИЕ 1:
Одна моя машина, загружает только AVI. На машине другого разработчика файлы не загружаются. На другой машине разработчика загружаются все поддерживаемые файлы. Это проблемы с браузером или сервером?