Foros del Web » Programando para Internet » PHP »

Uploder archivos con clases?

Estas en el tema de Uploder archivos con clases? en el foro de PHP en Foros del Web. Amigos encontre una codigo que relaiza subida de archivos de cuaklquier tipo al servidor, el cual lo hace perfectamnente, PERO siempre hay un pero lo ...
  #1 (permalink)  
Antiguo 06/07/2006, 06:09
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 5 meses
Puntos: 1
Uploder archivos con clases?

Amigos encontre una codigo que relaiza subida de archivos de cuaklquier tipo al servidor, el cual lo hace perfectamnente, PERO siempre hay un pero lo hace a la misma carpeta en donde esta el codigo del formulario y el pinto class, el mismo tiene la ruta para darle la carpeta en donde se debe colocar los archivos que yo subo pero no lo hace y lo coloca en donde estan los codigos
Quiero que me explique porque no lo hace en la carpeta que le indico, aqui esta los codigos mencionados:
FORMULARIO:
Código PHP:
<?php //require_once('Connections/conexion.php'); ?>
<?php
if(isset($_REQUEST['subir'])){
    require_once(
"Uploads.class.php");
    
$up = new Uploads();
    
$up->setExtensiones("doc,pdf");
    
$up->setCarpeta(".",false);
    
$up->setMaxTamano(2000000);
    
$up->setCampoForm("archivo");
    if(
$up->Subir()){
        echo 
"<b>Se subio el archivo:</b> <br>".$up->getNombreArchivo()."<br>";
        echo 
"El tamaño del archivo es de: ".$up->getTamano();
        echo 
"<br>El archivo es de tipo: ".$up->getExtension();
        exit;
    }else{
        
$error $up->verErrores();
        echo 
"<b>Entra al error:</b><br><br>";
        echo 
implode("<br>",$error);
        exit;
    }
}
if(isset(
$_REQUEST['subir_img'])){
    require_once(
"Uploads.class.php");
    require_once(
"Imagenes.class.php");
    
$up = new Imagenes();
    
$up->setExtensiones("jpg,gif,png");
    
$up->setCarpeta(".",false);
    
$up->setMaxTamano(1000000);
    
$up->setCampoForm("img");
    if(
$up->Subir()){
        
$up->setImagen($up->getArchivoSub());
        echo 
"<b>Se subio la imagen:</b> <br />".$up->getNombreArchivo()."<br />";
        echo 
"El tamaño del archivo subido es de: ".$up->getTamano();
        echo 
"<br />El archivo es de tipo: ".$up->getExtension();
        echo 
"<br>La imagen orginal es de ".$up->getAnchoImg()." por ".$up->getAltoImg().":<br />";
        echo 
"<img alt=\"Imagen Original\" border=\"0\" src=\"".$up->getArchivoSub()."\"><br />";
        
$up->redimensionarImg("red_".$up->getNombreArchivo(),$_REQUEST['txt_ancho'],$_REQUEST['txt_alto']);
        echo 
"<br>La imagen modificada es de ".$up->getAnchoImg()." por ".$up->getAltoImg().":<br />";
        echo 
"<img alt=\"Nueva Imagen\" src=\""."red_".$up->getNombreArchivo()."\">";
        exit;
    }else{
        
$error $up->verErrores();
        echo 
"<b>entra al error:</b><br><br>";
        echo 
implode("<br>",$error);
        exit;
    }
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Subir Archivos e Imagenes</title>

</head>

<body>
<fieldset><legend>Subir Archivos</legend>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="form1" id="form1">
  <label for="file">Archivo:</label>
  <input type="file" name="archivo" id="archivo" />
  (S&oacute;lo puede subir archivos pdf y doc)<br />
  <input name="subir" type="submit" id="subir" value="Enviar" />
</form></fieldset>
<fieldset><legend>Subir y redimensionar Imagen</legend><form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="frmImagen">
  Ancho:
  <input name="txt_ancho" type="text" id="txt_ancho" size="10" />
  <label for="txt_alto">Alto:</label>
  <input name="txt_alto" type="text" id="txt_alto" size="10" />
  (De la nueva imagen)<br />
  <label for="img">Imagen:</label>
  <input type="file" name="img" id="img" />
  (Solo archivos jpg,gif,png)<br />
  <input name="subir_img" type="submit" id="subir_img" value="Enviar" />
</form></fieldset>
</body>
</html>
PUNTO CLASS
Código PHP:
<?php
/*************************************
Clase Upload
clase que maneja el upload de archivos
al servidor.

Autor: Melquisedec Wilchez ©2006
mail: [email protected]
*************************************/
class Uploads{
    var 
$maxtamano;
    var 
$carpeta;
    var 
$extensiones;
    var 
$campoform;
    var 
$errores;
    var 
$strerror;
    var 
$tipo;
    var 
$tamano;
    
    function 
Uploads(){
        
$this->extensiones = array();
        
$this->errores = array();
        
$this->maxtamano 0;
        
$this->carpeta "text/";//aqui se encuentra la carpeta
        
$this->strerror "";
        
$this->tipo "";
        
$this->tamano 0;
    }
    
    function 
setExtensiones($ext){
        if(
strlen($ext) > 0){
            
$arrExt explode(",",$ext);
            for(
$i 0;$i count($arrExt);$i++){
                
$arrExt[$i] = trim($arrExt[$i]);
            }
            
$this->extensiones $arrExt;
        }
    }
    
    function 
setMaxTamano($tamano){
        
$this->maxtamano $tamano;
    }
    
    function 
setCarpeta($carp,$crear){
        if(
$crear){
            if(!
is_dir($carp)){
                if(@
mkdir($carp,0777)){
                    
$this->carpeta $carp;
                }else{
                    
$this->strerror "No se pudo crear la carpeta.";
                }
            }
        }else{
            
$this->carpeta $carp;
        }
    }
    
    function 
setCampoForm($campo){
        
$this->campoform $campo;
    }
    
    function 
Subir(){
        
$sub true;
        if(
is_uploaded_file(@$_FILES[$this->campoform]['tmp_name']) && @$_FILES[$this->campoform]['error'] == 0){
            if(
$this->esCarpeta() && $this->esExtension() && $this->esTamano()){
                if(@
copy(@$_FILES[$this->campoform]['tmp_name'],$this->carpeta."/".@$_FILES[$this->campoform]['name'])){
                    
$sub true;
                }else{
                    
$this->strerror .= "No se pudo copiar el archivo.";
                    
$sub false;
                }
            }else{
                
$sub false;
            }
        }else{
            
$this->strerror .= "No se cargo el archivo en el servidor.";
            
$sub false;
        }
        return 
$sub;
    }
    
    function 
verErrores(){
        
$this->errores explode(".",$this->strerror);
        return 
$this->errores;
    }
    
//aqui se encuentra la carpeta por miguel
    
function esCarpeta(){
        
$err true;
        if(!
is_dir($this->carpeta) && is_writeable($this->carpeta)){
            
$this->strerror .= "Carpeta de destino no valida.";
            
$err false;
        }
        return 
$err;
    }
    
    function 
esExtension(){
        
$err true;
        
$this->getExtension();
        if(!
in_array($this->tipo$this->extensiones) && count($this->extensiones) > 0){
            
$this->strerror .= "Extensi&oacute;n de archivo no valida.";
            
$err false;
        }
        return 
$err;
    }
    
    function 
esTamano(){
        
$err true;
        if(@
$_FILES[$this->campoform]['size'] > $this->maxtamano){
            
$this->strerror .= "Tama&ntilde;o de archivo muy grande <b>".@$_FILES[$this->campoform]['size']."bytes</b>, debe ser menor o igual a <b>" $this->maxtamano."bytes</b>.";
            
$err false;
        }
        return 
$err;
    }
    
    function 
getExtension(){
        
$this->tipo explode(".",@$_FILES[$this->campoform]['name']);
        
$this->tipo strtolower($this->tipo[count($this->tipo)-1]);
        return 
$this->tipo;
    }
    
    function 
getTamano(){
        return @
$_FILES[$this->campoform]['size'];
    }
    
    function 
getArchivoSub(){
        return 
$this->carpeta."/".@$_FILES[$this->campoform]['name'];
    }
    
    function 
getNombreArchivo(){
        return @
$_FILES[$this->campoform]['name'];
    }
}
?>
Ayuda plissssss
__________________
Miguel Padrón :cool:
  #2 (permalink)  
Antiguo 06/07/2006, 06:55
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 5 meses
Puntos: 1
Que tal, encontre cual es el problema en esta linea $up->setCarpeta(".",false); debes cambiar el punto por el nombre de tu carpeta $up->setCarpeta("text/",false); porque el punto te hace subir un nivel, debes revisar en el ejemplo original que significa $this->carpeta = "text/" por que no tiene nada que ver con la carpeta por lo menos para el ejemplo que he utilizado que ha sido solo subiendo archivos por que no tenia la clase para las imagenes.. Espero que te sirva... Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #3 (permalink)  
Antiguo 06/07/2006, 07:26
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 5 meses
Puntos: 1
Gracias papa eso era lo que faltaba mil gracias
__________________
Miguel Padrón :cool:
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 10:48.