estoy intentando hacer un componente para subir un archivo a un directorio, por ejemplo: /htdocs/directorioLocal. He estado siguiendo las instrucciones de esta url:
http://www.nosolocodigo.com/subir-ficheros-al-servidor-con-el-api-de-joomla. Tengo el siguiente código en la vista: default.php
Código HTML:
Ver original
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> </head> <body> <form name="registro" id="registro" action="index.php" method="POST" enctype="multipart/form-data" > Introduce el fichero : <input type="file" name="fichero" /> <input type="submit" value="Subir Fichero" /> <input type="hidden" name="option" value="com_ejemplo" /> <input type="hidden" name="task" value="subirFichero" /> </form> </body> </html>
y el siguiente en el controlador: mensaje.php
Código PHP:
Ver original
<?php jimport('joomla.application.component.controller'); class EjemploControllerMensaje extends JController { function display() { JRequest::setVar('view', 'mensaje'); parent::display(); } function subirFichero(){ $file = JRequest::getVar( 'fichero', null, 'files', 'array' ); jimport('joomla.filesystem.file'); $mensaje .= "NoSeHaSubido"; } if($file['error'] || $file['size'] < 1 ){ $mensaje .= " NoExisteFichero"; } if( $file['size'] > 100 ){ $mensaje .=" FicheroDemasiadoGrande"; } if(!JFile::upload($file['tmp_name'],"/directorioLocal".DS. $file['name'])){ $mensaje .= " ErrorAlSubirElFichero"; } } } ?>
se instala el componente correctamente. Cuando en la página inicial introduzco el fichero a subir y pulso el botón "Subir Fichero", me devuelve el siguiente error:
JFolder::create: Infinite loop detected
Warning! - Failed to move file.
He buscado en foros a que se podia deber el problema, he comprobado en configuration.php que las variables contubieran los valores que deben: $log_path
$tmp_path también he dado todos los permisos a directorioLocal que he creado en htdocs/directorioLocal.
A ver si me pueden echar una mano con esto. Gracias.