Algo debes de tener mal en el formulario, te está mostrando 3 veces el
mismo archivo.
La libreria upload, no tiene casi nada y con el ejemplo que te viene,
deberia rularte sin problema, haz una prueba rápida.-
VISTA
----------
<?php echo form_open_multipart('admin/clase/do_upload');?>
<input type="file" name="userfile" size="20" />
<br /><br />
<input type="submit" value="upload" />
</form>
CONTROLLER clase
----------------
public function do_upload(){
echo '<pre>';
print_r($_FILES);
echo '</pre>';
exit();
}
Y tronch, con esto te debería de funcionar..., mirate de todos modos los
logs, y asegurate de que tengas 777 en la carpeta de subida, aunque si...
Bueno, se me está ocurriendo la siguiente prueba, supongo que estarás
iendo a urls amigables, con lo que puedes hacer es, si por ejemplo tienes
la carpeta en la raiz del proyecto y se llama uploads, haz la llamada de
este tipo a ver si te abre el archivo, o por el contrario te lo reconoce
como un controlador,
http://localhost/uploads/archivo-1.pdf
En caso de que te lo detecte como un controlador, es por el htaccess, en
el cual le podrías poner algo rollo (dependiendo del tipo de configuración
de carpetas que tengas, pero lo importante es donde aparecen las
extensiones permitidas).-
RewriteEngine on
RewriteCond $1
!^(index\.php|application/views/|robots\.txt|^(.*)\.html|install|favicon\.ico|^(.*)\.php|^(.*)\.js|^(.*)\.css|^(.*)\.png|^(.*)\.gif|^(.*)\.jpg|^(.*)\.pdf|^(.*)\.txt|^(.*)\.xls|^(.*)\.swf)
RewriteRule ^(.*)$ index.php?/$1 [L]
Un saludo.
chau ;)
> Esto es desesperante...
>
> Hernando, he probado a poner delante el PDF, de echo antes lo tenÃa asÃ
> y
> nada.
>
> José Victor, He probado a poner solo cómo MIME PDF y nada, he cambiado
> esas
> lÃneas de la librerÃa upload que viene en el wiki y nada
>
> Nekrosis, el peso no puede ser el problema ya que estoy probando con
> archivos de 200k y además en otros proyecto con Drupal me subÃa archivos
> de
> varios megas sin problema.
>
> Lo del MAMP tampoco es ya que estoy probando ahora con Appserv en Windows
> Vista.
>
> Alguien me puede deir que significa esto (C:\Windows\TEMP\php7DD9.tmp
> [error] ), ya que es parte de lo que pinta print_r($_FILES).
> concretamente:
> Array ( [documento] => Array ( [name] => vivir-del-software.pdf [type] =>
> application/pdf [tmp_name] => C:\Windows\TEMP\php7DD9.tmp [error] => 0
> [size] => 226063 ) ) Array ( [documento] => Array ( [name] =>
> vivir-del-software.pdf [type] => application/pdf [tmp_name] =>
> C:\Windows\TEMP\php7DD9.tmp [error] => 0 [size] => 226063 ) ) Array (
> [documento] => Array ( [name] => vivir-del-software.pdf [type] =>
> application/pdf [tmp_name] => C:\Windows\TEMP\php7DD9.tmp [error] => 0
> [size] => 226063 ) )
>
>
> Estoy empezando a pensar en recurrir a una solución PHP al margen de la
> librerÃa upload.
>
> ¿Que pensáis?
>
>
>
>
> El 8 de octubre de 2009 06:00, Nokrosis <
nokr...@gmail.com> escribió:
>
>> Necesitas permitirlo en 2 lugares:
>> 1. En la configuración de la clase del upload
>> 2. En el php.ini hay un parámetro llamado max_upload_filesize (o algo
>> parecido)
>>
>> Si planeas que el archivo sea mucho más grande, tal vez debas
>> establecer
>> también en el php.ini el max_execution_time.
>> Asi por no dejar; ¿Que hay del tamaño del archivo?, no afecta en nada
>>>> <
hgis...@gmail.com>escribió:
>>>>
>>>> La última prueba, ya no me quedan más ideas :(
>>>>>
>>>>> En la lista pon primero pdf, deja las imagenes al final
>>>>>
>>>>> Saludos
>>>>>
>>>>> El 7 de octubre de 2009 14:22, Fernando Val
>>>>> <
aaro...@gmail.com>escribió:
>>>>>
>>>>> Acabo de probarlo en Windows Vista con Appserv, y nada de nada...
>>>>>> Que desesperación... pfffffff.
>>>>>>
>>>>>> El 7 de octubre de 2009 18:56, Hernando Gisinger
>>>>>> <
hgis...@gmail.com>escribió:
>>>>>>
>>>>>> Prueba reemplazando en mimes.php
>>>>>>>
>>>>>>> 'pdf' => array('application/pdf', 'application/x-download'),
>>>>>>>
>>>>>>> por
>>>>>>>
>>>>>>> 'pdf' => array('application/pdf', 'application/x-download',
>>>>>>> 'text/html'),
>>>>>>>
>>>>>>>
>>>>>>> Saludos
>>>>>>>
>>>>>>> El 7 de octubre de 2009 13:20, Fernando Val
>>>>>>> <
aaro...@gmail.com>escribió:
>>>>>>>
>>>>>>>> Me devuelve esto:
>>>>>>>> Array ( [documento] => Array ( [name] => bluebrintcss.pdf [type]
>>>>>>>> =>
>>>>>>>> text/html [tmp_name] => /Applications/MAMP/tmp/php/phpeTz4nH
>>>>>>>> [error] => 0
>>>>>>>> [size] => 37752 ) ) Array ( [documento] => Array ( [name] =>
>>>>>>>> bluebrintcss.pdf [type] => text/html [tmp_name] =>
>>>>>>>> /Applications/MAMP/tmp/php/phpeTz4nH [error] => 0 [size] => 37752
>>>>>>>> ) ) Array
>>>>>>>> ( [documento] => Array ( [name] => bluebrintcss.pdf [type] =>
>>>>>>>> text/html
>>>>>>>> [tmp_name] => /Applications/MAMP/tmp/php/phpeTz4nH [error] => 0
>>>>>>>> [size] =>
>>>>>>>> 37752 ) )
>>>>>>>> Y ni rastro del MIME... ¿Tu ves algo que te de una pista?
>>>>>>>> Gracias.
>>>>>>>>
>>>>>>>> El 7 de octubre de 2009 17:57, Nokrosis
>>>>>>>> <
nokr...@gmail.com>escribió:
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Imprime la variable global $_FILES y verifica el mime que te
>>>>>>>>> manda:
>>>>>>>>>
>>>>>>>>> print_r($_FILES);
>>>>>>>>>
>>>>>>>>> Checa si ese mime está en el archivo mimes.php y si no,
>>>>>>>>> vinculalo
>>>>>>>>> con la extensión.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> 2009/10/7 Fernando Val <
aaro...@gmail.com>
>>>>>>>>>
>>>>>>>>>> Pues mi gozo en un pozo... en IE7 y IE6 no funciona...
>>>>>>>>>> ¿Alguna idea más por ah�
>>>>>>>>>> Sigo pensando que puede ser un problema del MAMP, esta noche
>>>>>>>>>> pruebo
>>>>>>>>>> en casa en windows con Appserv...
>>>>>>>>>>
>>>>>>>>>> El 7 de octubre de 2009 17:49, Fernando Val
>>>>>>>>>> <
aaro...@gmail.com>escribió:
>>>>>>>>>>
>>>>>>>>>>> Pues lo acabo de probar en Safary y sigue fallando.. Voy a
>>>>>>>>>>> porbar
>>>>>>>>>>> en IE7...
>>>>>>>>>>>
>>>>>>>>>>> El 7 de octubre de 2009 17:45, Fernando Val
>>>>>>>>>>> <
aaro...@gmail.com>escribió:
>>>>>>>>>>>
>>>>>>>>>>>> Pues la verdad es que solo lo he porbado en Firefox...
>>>>>>>>>>>> Ahora voya probar a ver y luego me leo detenidamente el wiki.
>>>>>>>>>>>> Por
>>>>>>>>>>>> cierto, ¿que búsqueda has echo para encontra esa página del
>>>>>>>>>>>> wiki? Porque yo
>>>>>>>>>>>> he puscado y nada...
>>>>>>>>>>>> Muchas gracias
>>>>>>>>>>>> El 7 de octubre de 2009 17:36, Hernando Gisinger <
>>>>>>>>>>>>
hgis...@gmail.com> escribió:
>>>>>>>>>>>>
>>>>>>>>>>>>> El problema es solo con firefox 3 o con explorer tambien? Hay
>>>>>>>>>>>>> un
>>>>>>>>>>>>> bug en FF 3 y aca dice como arreglarlo:
>>>>>>>>>>>>>
>>>>>>>>>>>>>
http://codeigniter.com/bug_tracker/bug/4906/
>>>>>>>>>>>>>
>>>>>>>>>>>>> El 7 de octubre de 2009 12:14, Fernando Val <
>>>>>>>>>>>>>
aaro...@gmail.com> escribió:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Nada, me sigue dando el mismo error... :-(
>>>>>>>>>>>>>> Gracias de todos modos.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> El 7 de octubre de 2009 16:59, Hernando Gisinger <
>>>>>>>>>>>>>>
hgis...@gmail.com> escribió:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Prueba haciendo:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> $this->upload->set_allowed_types('gif|jpg|png|jpeg|doc|pdf|txt|text|xlsx|xl');
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> antes de esta lÃnea:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> if (!$this->upload->do_upload("documento")){
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Saludos
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> El 7 de octubre de 2009 11:39, Fernando Val <
>>>>>>>>>>>>>>>
aaro...@gmail.com> escribió:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Ya tengo el error:
>>>>>>>>>>>>>>>> The filetype you are attempting to upload is not allowed.
>>>>>>>>>>>>>>>> Estoy tratando de usbir un pdf, doc y xls y nada y sin
>>>>>>>>>>>>>>>> embargo pongo esto en la config:
>>>>>>>>>>>>>>>> $config['allowed_types'] =
>>>>>>>>>>>>>>>> 'gif|jpg|png|jpeg|doc|pdf|txt|text|xlsx|xl';
>>>>>>>>>>>>>>>> En la documentación no me queda claro si hay una forma de
>>>>>>>>>>>>>>>> permitir cualquier formato
>>>>>>>>>>>>>>>> ¿Alguien sabe de esto?
>>>>>>>>>>>>>>>> Aunque he pobado ha montar un ejemplo muy sencillito de un
>>>>>>>>>>>>>>>> tutorial que se supone que debe funcionar y me pasa lo
>>>>>>>>>>>>>>>> msimo, sube imágenes
>>>>>>>>>>>>>>>> pero no documentos.
>>>>>>>>>>>>>>>> Empiezo a pensar que es un problema de mis MAMP en local,
>>>>>>>>>>>>>>>> quizas en el servidor de producción no dé este bug...
>>>>>>>>>>>>>>>> ¿QUe opináis?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> El 7 de octubre de 2009 16:11, Fernando Val <
>>>>>>>>>>>>>>>>
aaro...@gmail.com> escribió:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Pues soy incapaz de hacerlo aparcer el error, que os
>>>>>>>>>>>>>>>>> parece,
>>>>>>>>>>>>>>>>> he probado a ponerlo tanto en listado que es donde
>>>>>>>>>>>>>>>>> redirecciono al final,
>>>>>>>>>>>>>>>>> cómo en la vista del formulario, tal que asÃ
>>>>>>>>>>>>>>>>> Controlador:
>>>>>>>>>>>>>>>>> $error = array('error' =>
>>>>>>>>>>>>>>>>> $this->upload->display_errors());
>>>>>>>>>>>>>>>>> $this->session->set_flashdata('message', 'El
>>>>>>>>>>>>>>>>> <strong>documento</strong> no ha podido subir');
>>>>>>>>>>>>>>>>> //redirect("admin/documentos/index");
>>>>>>>>>>>>>>>>> $this->auth->view('documentos/create', $error);
>>>>>>>>>>>>>>>>> En la vista index (listado) y en la vista create, he
>>>>>>>>>>>>>>>>> puesto:
>>>>>>>>>>>>>>>>> <?php if (validation_errors()): ?>
>>>>>>>>>>>>>>>>> <h1><div><?php echo $error;?></div></h1>
>>>>>>>>>>>>>>>>> <div class='flash wrong'><?php echo
>>>>>>>>>>>>>>>>> validation_errors();
>>>>>>>>>>>>>>>>> ?></div>
>>>>>>>>>>>>>>>>> <?php endif; ?
>>>>>>>>>>>>>>>>> Lo he puesto de las dos formas para ver si alguna de
>>>>>>>>>>>>>>>>> ellas
>>>>>>>>>>>>>>>>> rulaba...
>>>>>>>>>>>>>>>>> Vamos que no saco el error ni para atras
>>>>>>>>>>>>>>>>> El 7 de octubre de 2009 15:52, Fernando Val <
>>>>>>>>>>>>>>>>>
aaro...@gmail.com> escribió:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Seré... ejem. Perdonadme, no era por pereza, era
>>>>>>>>>>>>>>>>>> desesperación. :-)
>>>>>>>>>>>>>>>>>> Estoy viendo la docuemntación y ya se donde va el error
>>>>>>>>>>>>>>>>>> reporting, ahora trataré de que me lo muestre la vista
>>>>>>>>>>>>>>>>>> y os digo cual es el
>>>>>>>>>>>>>>>>>> error que devuelve...
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> El 7 de octubre de 2009 15:13, Fernando Val <
>>>>>>>>>>>>>>>>>>
aaro...@gmail.com> escribió:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> No, no he puesto para que devuelva el error, porque no
>>>>>>>>>>>>>>>>>>> tengo muy claro donde ponerlo y donde recogerlo.
>>>>>>>>>>>>>>>>>>> Si me echas un cable y me dices donde irÃa, lo
>>>>>>>>>>>>>>>>>>> pongo...
>>>>>>>>>>>>>>>>>>> De momento sólo me manejo con los flashdata.
>>>>>>>>>>>>>>>>>>> Muchas gracias de todos modos
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> El 7 de octubre de 2009 14:45, Nokrosis <
>>>>>>>>>>>>>>>>>>>
nokr...@gmail.com> escribió:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Qué error te marca?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> 2009/10/7 Fernando Val <
aaro...@gmail.com>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Hola amigos,
>>>>>>>>>>>>>>>>>>>>> Tengo un pproblema que me está volviendo loco y ya
>>>>>>>>>>>>>>>>>>>>> no se
>>>>>>>>>>>>>>>>>>>>> que hacer ni que mirar.
>>>>>>>>>>>>>>>>>>>>> Resulta que estoy utilizando una función crear
>>>>>>>>>>>>>>>>>>>>> imágenes
>>>>>>>>>>>>>>>>>>>>> que para imágenes funciona a las mil maravillas,
>>>>>>>>>>>>>>>>>>>>> pero ahora lo estoy
>>>>>>>>>>>>>>>>>>>>> aplicando en otro modelo para subir sólo documentos
>>>>>>>>>>>>>>>>>>>>> de tipo no imagen.
>>>>>>>>>>>>>>>>>>>>> Lo he adaptado. sobre todo los MIME y he quitado la
>>>>>>>>>>>>>>>>>>>>> configuración y creación de thumbnail y para
>>>>>>>>>>>>>>>>>>>>> imagenes me sigue funcionando y
>>>>>>>>>>>>>>>>>>>>> cuando intento subir otro tipo de archivos (PDF por
>>>>>>>>>>>>>>>>>>>>> ejemplo) no suben y por
>>>>>>>>>>>>>>>>>>>>> tanto me salta al bucle de error de lafunción.
>>>>>>>>>>>>>>>>>>>>> ¿Algún alma caritativa me puede ayudar?
>>>>>>>>>>>>>>>>>>>>> Este es controlador (documentos):
>>>>>>>>>>>>>>>>>>>>> (aviso de que utilizo el model de archivos para subir
>>>>>>>>>>>>>>>>>>>>> los del controler documentos).
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>>>>>>>>>>>>>>>>>>>>> function create() {
>>>>>>>>>>>>>>>>>>>>> // Validaciones
>>>>>>>>>>>>>>>>>>>>> $this->_validation();
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> if($this->form_validation->run())
>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> // Poblamos el array $datoss con los valores
>>>>>>>>>>>>>>>>>>>>> enviados
>>>>>>>>>>>>>>>>>>>>> por el formulario
>>>>>>>>>>>>>>>>>>>>> $datos['title'] = $this->input->post('title',
>>>>>>>>>>>>>>>>>>>>> TRUE);
>>>>>>>>>>>>>>>>>>>>> $datos['category'] = "documento";
>>>>>>>>>>>>>>>>>>>>> $datos['file'] = $this->input->post('file', TRUE);
>>>>>>>>>>>>>>>>>>>>> $datos['body'] = $this->input->post('body', TRUE);
>>>>>>>>>>>>>>>>>>>>> $datos['status'] =$this->input->post('status',
>>>>>>>>>>>>>>>>>>>>> TRUE);
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> $this->_array_create();
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> // Cargamo la librerÃa upload con sus ajustes de
>>>>>>>>>>>>>>>>>>>>> configuración
>>>>>>>>>>>>>>>>>>>>> $config['upload_path'] = './assets/archivos/';
>>>>>>>>>>>>>>>>>>>>> $config['allowed_types'] =
>>>>>>>>>>>>>>>>>>>>> 'gif|jpg|png|jpeg|doc|pdf|txt|text|xlsx|xl';
>>>>>>>>>>>>>>>>>>>>> $config['max_size'] = '0';
>>>>>>>>>>>>>>>>>>>>> $this->load->library('upload', $config);
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> // Comprobamos si el archivo ha subido
>>>>>>>>>>>>>>>>>>>>> if (!$this->upload->do_upload("documento")){
>>>>>>>>>>>>>>>>>>>>> $this->session->set_flashdata('message', 'El
>>>>>>>>>>>>>>>>>>>>> <strong>documento</strong> no ha podido subir');
>>>>>>>>>>>>>>>>>>>>> //redirect("admin/documentos/index");
>>>>>>>>>>>>>>>>>>>>> } else {
>>>>>>>>>>>>>>>>>>>>> $datos_upload = $this->upload->data();
>>>>>>>>>>>>>>>>>>>>> $datos['file'] = $datos_upload['file_name'];
>>>>>>>>>>>>>>>>>>>>> // Ya que solo quiero que los guarde cómo
>>>>>>>>>>>>>>>>>>>>> documento en
>>>>>>>>>>>>>>>>>>>>> la BDD
>>>>>>>>>>>>>>>>>>>>> //$datos['category']= 'documento';
>>>>>>>>>>>>>>>>>>>>> $this->content->add($datos);
>>>>>>>>>>>>>>>>>>>>> $this->session->set_flashdata('message', 'El
>>>>>>>>>>>>>>>>>>>>> <strong>
>>>>>>>>>>>>>>>>>>>>> documento '.$datos['file'] .'</strong> ha sido
>>>>>>>>>>>>>>>>>>>>> creado');
>>>>>>>>>>>>>>>>>>>>> //edirect("admin/documentos/index");
>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>> else
>>>>>>>>>>>>>>>>>>>>> {
>>>>>>>>>>>>>>>>>>>>> // Si falla la validacion seguimos en el view add
>>>>>>>>>>>>>>>>>>>>> $this->auth->view('archivos/create');
>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> }
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Este es el formulario del view documentos/create:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>>>>>>>>>>>>>>>>>>>>> <!-- formulario -->
>>>>>>>>>>>>>>>>>>>>> <?php echo form_open_multipart('admin/' .
>>>>>>>>>>>>>>>>>>>>> $model_plur .
>>>>>>>>>>>>>>>>>>>>> '/create/');?>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> <label>TÃtulo:</label><br/>
>>>>>>>>>>>>>>>>>>>>> <input class="input" name="title" value=""
>>>>>>>>>>>>>>>>>>>>> size="20"
>>>>>>>>>>>>>>>>>>>>> maxlength="255" /><br/><br/>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> <label>Archivo:</label><br/>
>>>>>>>>>>>>>>>>>>>>> <input type="file" name="documento" value=""
>>>>>>>>>>>>>>>>>>>>> /><br/><br/>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> <label>Descripción:</label><br/>
>>> <☼<allende>☼>