Foros del Web » Programando para Internet » PHP » Zend »

Renombrar archivo Zend_Form

Estas en el tema de Renombrar archivo Zend_Form en el foro de Zend en Foros del Web. Hola, no se que pasa que no consigo renombrar el nombre del archivo. El archivo se escribe correctamente en la carpeta que le indico, pero ...
  #1 (permalink)  
Antiguo 02/05/2010, 13:39
 
Fecha de Ingreso: enero-2007
Mensajes: 405
Antigüedad: 17 años, 11 meses
Puntos: 3
Renombrar archivo Zend_Form

Hola, no se que pasa que no consigo renombrar el nombre del archivo.

El archivo se escribe correctamente en la carpeta que le indico, pero con el nombre original.

He usado el filter Rename, pero no se que pasa.

Código PHP:
private function _getForm($idTrabajo)
    {
        
$form = new Zend_Form();
        
$form->setAction($this->view->baseUrl '/usuario/miTrabajo/entrega')
                ->
setAttrib('enctype'Zend_Form::ENCTYPE_MULTIPART)
                ->
setMethod('post');
            
        
//Zend_Debug::dump($this->view->baseUrl . '/trabajos');
        
$file $form->createElement('file''archivo', array('label' => 'Selecciona un fichero'));
        
$file->setDestinationBootstrap::getBaseDir() . $this->_config->rutaArchivos);
        
        
$tipos $form->createElement('select','tipoArchivo', array('label' => 'Tipo de archivo'));
        
        foreach(
$this->_tipoArchivoModelo->obtenerTodos() as $t){
            
$tipos->addMultiOption($t->id$t->tipo);
        }
        
        
$oculto $form->createElement('hidden''idTrabajo', array('value' => $idTrabajo));
        
$form->addElement($oculto);
        
        
$submit $form->createElement('submit''enviar', array('label' => 'Subir archivos'));
        
$submit->setIgnore(true);
        
        
$form->addElement($file)
             ->
addElement($tipos)
             ->
addElement($submit);
        
        return 
$form
y despues lo trato aqui:

Código PHP:
public function entregaAction()
    {
        if (
$this->getRequest()->isPost()){
            
$formData $this->_request->getPost();
            
$idTrabajo $formData['idTrabajo'];
            
$form $this->_getForm($idTrabajo);
            
$file $form->archivo;
            if( 
$form->isValid($this->getRequest()->getParams()) ){
                
$bind $form->getValues();
                
                
$upload = new Zend_File_Transfer_Adapter_Http();
                
$upload->addFilter('Rename', array('target' => $this->_config->rutaArchivos .'nombreNuevo.jpg',        
                                                    
'overwrite' => true)); 
                if(
$upload->isUploaded()){                  
                    
$this->_layout->mensaje "Archivo guardado correctamente";
                    
$this->_layout->class "success_message";
                
                    
$filename $_FILES['archivo']['name'];                 
                } else {
                    
$this->_layout->mensaje "Se ha producido un error al guardar el archivo. Vuelva a intentarlo pasado unos minutos.";
                    
$this->_layout->class "error_message";
                }            
                
$this->_forward('index');
            }         
        }
    } 
Gracias

Un saludo
  #2 (permalink)  
Antiguo 02/05/2010, 23:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Renombrar archivo Zend_Form

El filtro lo tienes que agregar directamente al element ya que si lo agregas a un nuevo adapter ya no tiene efecto (ya que getValues mueve el archivo).

Saludos.

Etiquetas: renombrar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:00.