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ó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>
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ón de archivo no valida.";
$err = false;
}
return $err;
}
function esTamano(){
$err = true;
if(@$_FILES[$this->campoform]['size'] > $this->maxtamano){
$this->strerror .= "Tamañ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'];
}
}
?>
