Foros del Web » Programando para Internet » PHP »

Problemas con upl2.php y formulario

Estas en el tema de Problemas con upl2.php y formulario en el foro de PHP en Foros del Web. Puede que esta pregutna sea muy básica y os ríais de mi, pero no se casi nada de php (y voy a aprenderlo) pero tengo ...
  #1 (permalink)  
Antiguo 01/11/2003, 07:20
 
Fecha de Ingreso: noviembre-2003
Mensajes: 1
Antigüedad: 20 años, 5 meses
Puntos: 0
Problemas con upl2.php y formulario

Puede que esta pregutna sea muy básica y os ríais de mi, pero no se casi nada de php (y voy a aprenderlo) pero tengo que hacer un formulario con php para subir archivos.

El problema lo tengo con el upl2.php que me da error y no se que hacer con el. El formulario que tengo hecho es este:


<form method="POST" enctype="multipart/form-data" action="upl2.php">
<p align="right"><span style="font-variant: small-caps"><font face="Verdana" color="#FFFFFF" size="6">APUNTES
COMISIÓN</font></span></p>
<p align="right"><font face="Verdana" color="#FFFFFF" size="6"><span style="font-variant: small-caps">4º
medicina</span></font></p>
<p align="right">&nbsp;</p>
<p align="right"><font color="#FFFFFF"><i>Para subir archivos...</i></font></p>
<p align="right"><input type="file" name="archivo" size="20"></p>
<p align="right">
<select name="ruta" style="width: 154px;">
<option value="0">Elige un directorio</option>
<option value="endocrinologia">Endocrinologia</option>
<option value="neurologia">Neurologia</option>
</select></p>
<p align="right">
<input type="submit" value="Enviar" name="send"><input type="reset" value="Borrar" name="erase">
</form>

La verdad es que lo copie de uno ya hecho y le cambié los directorios a elegir a lo que a mi me interesa. El problema está en que al subir me pide el upl2.php y he buscado y he probado con algunos y no me funcionan.

Alguien podría ayudarme?

salu2!! y muchas gracias
  #2 (permalink)  
Antiguo 01/11/2003, 08:26
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
aqui te dejo algo, espero te ayude

http://www.forosdelweb.com/showthrea...hreadid=162270

Saludos
__________________
www.dataautos.com
  #3 (permalink)  
Antiguo 01/11/2003, 09:19
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 20 años, 11 meses
Puntos: 2
tambien puedes usar una classe,

fichero: index.php

Código PHP:
<html>

    <
head>
        <
meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
        <
meta name="generator" content="Maguma Studio Profesional">
        <
title>Upload usando una classe</title>
    </
head>

    <
body bgcolor="#ffffff">
        <
p></p>
        <
div align="center">
            <
form action="func_upload.inc.php" method="post" name="FormUpImg" enctype="multipart/form-data">
                <
div align="center">
                    <
input name="userfile" type="file" size="40">
        <
br><br>
                    <
input name="boton_up" type="submit" value="Aceptar y Enviar">
                    <
input name="send" type="hidden" value="ok">
                    </
div>
            </
form>
        </
div>
    </
body>

</
html

-------------------

fichero: func_upload.inc.php

Código PHP:
<?php

include("class.upload.inc.php");// cargamos classe de upload


if ( $send == "ok" && $_FILES[userfile]['name'] ){// del formulario sacamos el boton ok, comienza la classe upload

        
$upload = new upload();

        if (
$upload -> putFile ("userfile")) {

            
$imagen $upload->file_name;

        }
    }
echo 
"ya tienes copiada la imagen <b>".$imagen;

?>


-------------------

fichero: class.upload.inc.php

Código PHP:
<?php

class UpLoad
{
    var 
$archivos_permitidos;    
    var 
$dir;        
    var 
$max_filesize;        
    var 
$idioma;    
    var 
$error 0;
    var 
$file_type;
    var 
$file_name;
    var 
$file_size;
    var 
$archivo;
    var 
$file_path;
    var 
$warning 0;

    function 
UpLoad ($permiso="" $max_file 25000$dir "images",$idioma "spanish"){//el 25000, son 25k max.upload, y images es la carpeta, modifica a tu gusto
        
if ( empty ($permiso) ) $permiso = array ("image/pjpeg","image/x-png","image/jpeg","image/png","image/gif");//pueden subir, png, jpg, o gif
        
$this->archivo_permitido $permiso
        
$this->max_filesize $max_file;
        
$this->dir $dir;
        
$this->idioma $idioma;
    }
    
    function 
putFile ($file){
        
$this->file_type strtok $_FILES[$file]['type'], ";"); 
        
$this->file_name $_FILES[$file]['name']; 
        
$this->file_size $_FILES[$file]['size']; 
        
$this->temp $_FILES[$file]['tmp_name'];  // upload para o diretorio temp
        
        
if(!in_array($this->file_type$this->archivo_permitido))
            
$this->Error(1);
        
        if ( (
$this->file_size <= 0) || ($this->file_size $this->max_filesize) ) $this->Error(2);
        
        if (
$this->error == ""){
            
$filename basename ($this->file_name); 
            if (!empty (
$this->dir) ) 
                
$this->arquivo $this->dir."/".$filename;
            else 
                
$this->arquivo $filename

            if (
file_exists($this->arquivo)){

                
srand((double)microtime()*1000000);
                
$filename rand(0,20000)."_".$filename;

                
$new_letras "";
                
$leng_letras 8;
                for (
$i=1$i<=$leng_letras$i++)
                
                    {

                    
$abcdario chr(rand(97,122));
                    
$new_letras .= $abcdario;
                }
                
                
$filename "copia_".$new_letras."_".$filename;
                
                if (!empty (
$this->dir)) 
                    
$this->arquivo $this->dir."/".$filename;
                else 
                    
$this->arquivo $filename;
            }
            
            if(!
is_uploaded_file($this->temp)) $this->Error(3);
            if(!@
move_uploaded_file($this->temp,$this->arquivo) ) $this->Error(4);
            
            return 
$this->arquivo;
        }
        else {
            return 
false;
        }

    }

    function 
Error($op){
        if(
$this->idioma="spanish"){
            switch (
$op){
                case 
0: return; break;
                case 
1$this->error "Error 1: Error tipo de archivo no permitido, jpg , gif , png: $this->file_type."; break;
                case 
2$this->error "Error 2: Error en el tamaño de fichero: $this->file_size Kb. Tamaño Maximo $this->max_filesize."; break;
                case 
3$this->error "Error 3: Error de transferencia de datos: $this->file_name."; break;
                case 
4$this->error "Error 4: Error cuando se copia el fichero al directorio temporal $this->temp para $this->file_name."; break;
                case 
5$this->error "Error 5: Error gd.dll, no esta instalada"; break;
            }
        }

           
?> <SCRIPT> alert("<?= $this->error?>"); </SCRIPT>

            <script languaje="javascript">
                setTimeout ("history.back()", 1);
            </script>

            <?php
       
exit;
    }
}
?>

-----------------------------------

luego ya es cosa de modificar, incluir y adaptar a tus necesidades
__________________
3w.valenciadjs.com
3w.laislatv.com
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:52.