Foros del Web » Programando para Internet » PHP »

Ayuda pequeña duda con formulario de subida de imagenes

Estas en el tema de Ayuda pequeña duda con formulario de subida de imagenes en el foro de PHP en Foros del Web. bueno e encontrodo este pequeño codigo que permite subir imagenes a tus servidor pero el problema que tengo esque esta puesto para que solo pueda ...
  #1 (permalink)  
Antiguo 01/07/2006, 11:18
 
Fecha de Ingreso: abril-2006
Mensajes: 201
Antigüedad: 18 años
Puntos: 0
Exclamación Ayuda pequeña duda con formulario de subida de imagenes

bueno e encontrodo este pequeño codigo que permite subir imagenes a tus servidor pero el problema que tengo esque esta puesto para que solo pueda subirse imagenes .jpg y yo quiero subir tambien .gif y .png como puedo cambiarlo...
aqui os dejo el codigo

Código:
<?php 
//------------------------------------ 
// Script realisado para makermax
//------------------------------------- 

//---------------------------- 
//  DEFINITION DES VARIABLES  
//---------------------------- 

$target     = 'upload/';  // Repertoire cible 
$extension  = 'jpg';      // Extension du fichier sans le . 
$max_size   = 100000;     // Taille max en octets du fichier 
$width_max  = 100000;        // Largeur max de l'image en pixels 
$height_max = 100000;        // Hauteur max de l'image en pixels 

//--------------------------------------------- 
//  DEFINITION DES VARIABLES LIEES AU FICHIER 
//--------------------------------------------- 

$nom_file   = $_FILES['fichier']['name']; 
$taille     = $_FILES['fichier']['size']; 
$tmp        = $_FILES['fichier']['tmp_name']; 

//---------------------- 
//  SCRIPT D'UPLOAD 
//---------------------- 
?> 
<html> 
    <head> 
        <title>Upload d'une image sur le serveur !</title> 
    </head> 
    <body> 
<?php 
if(!empty($_POST['posted'])) { 
    // On vérifie si le champ est rempli 
    if(!empty($_FILES['fichier']['name'])) { 
        // On vérifie l'extension du fichier 
        if(substr($nom_file, -3) == $extension) { 
            // On récupère les dimensions du fichier 
            $infos_img = getimagesize($_FILES['fichier']['tmp_name']); 
             
            // On vérifie les dimensions et taille de l'image 
            if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size)) { 
                // Si c'est OK, on teste l'upload 
                if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) { 
                    // Si upload OK alors on affiche le message de réussite 
                    echo '<b>Image uploadée avec succès !</b>'; 
                    echo '<hr />'; 
                    echo '<b>Fichier :</b> http://www.h10.selfip.net/1/upload/', $_FILES['fichier']['name'], '<br />'; 
                    echo '<b>Taille :</b> ', $_FILES['fichier']['size'], ' Octets<br />'; 
                    echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />'; 
                    echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />'; 
                    echo '<hr />'; 
                    echo '<br /><br />'; 
                } else { 
                    // Sinon on affiche une erreur système 
                    echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['fichier']['error'], '</b><br /><br />'; 
                } 
            } else { 
                // Sinon on affiche une erreur pour les dimensions et taille de l'image 
                echo '<b>Problème dans les dimensions ou taille de l\'image !</b><br /><br />'; 
            } 
        } else { 
            // Sinon on affiche une erreur pour l'extension 
            echo '<b>Votre image ne comporte pas l\'extension .jpg !</b><br /><br />'; 
        } 
    } else { 
        // Sinon on affiche une erreur pour le champ vide 
        echo '<b>Le champ du formulaire est vide !</b><br /><br />'; 
    } 
} 
?>        <form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST"> 
            <b>Sube tu archivo:</b><br /><br /> 
            <input type="hidden" name="posted" value="1" /> 
            <input name="fichier" type="file" /> 
            <input type="submit" value="Uploader" /> 
        </form> 
    </body> 
</html>
Porfavor ayudadme
  #2 (permalink)  
Antiguo 01/07/2006, 11:34
Avatar de dplweb  
Fecha de Ingreso: enero-2002
Mensajes: 74
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola
No sé si esto sirva.
Eliminar la variable $extension, pero tambien el IF que verifica dicha extension:

if(substr($nom_file, -3) == $extension) {
...
y por supuesto la linea del ELSE

} else {
// Sinon on affiche une erreur pour l'extension
echo '<b>Votre image ne comporte pas l\'extension .jpg !</b><br /><br />';
}

haz la prueba.

Otra opcion es agregar
$tipo = $_FILES['fichier']['type'];
y verificar tipos MIME.
Busca en el manual de php sobre esto. Ahi hay un codigo simple.

Saludos.
__________________
...webmastereando por la vida...
  #3 (permalink)  
Antiguo 01/07/2006, 11:45
 
Fecha de Ingreso: abril-2006
Mensajes: 201
Antigüedad: 18 años
Puntos: 0
no...va

porfavor no tengo mucha esperiencia en esto ¿me podeis poner un codigo paresido a este pero modificado para que puede subir jpg , gif , png ..
  #4 (permalink)  
Antiguo 01/07/2006, 14:11
Avatar de Infernal  
Fecha de Ingreso: septiembre-2004
Ubicación: Tamaulipas, Mexico
Mensajes: 124
Antigüedad: 19 años, 7 meses
Puntos: 0
pues una forma simple de hacerlo seria añadiendo otras 2 variables de definicion:

Código PHP:
$extension_2 'gif';
$extension_3 'png';

//y cambiar la linea

if(substr($nom_file, -3) == $extension) { 

//por: 

$ext_file substr($nom_file, -3);

if(
$ext_file == $extension or $ext_file == $extension_2 or $ext_file == $extension_3) { 
Bueno no es la mejor forma ni el mejor script pero creo que eso soluciona tu problema.
  #5 (permalink)  
Antiguo 01/07/2006, 16:23
 
Fecha de Ingreso: noviembre-2002
Mensajes: 571
Antigüedad: 21 años, 5 meses
Puntos: 2
Con el code que te ha pegado infernal debería ir sin problemas, también se podría hacer con.

Código PHP:
$extension_2 'gif'
$extension_3 'png'

//y cambiar la linea 

if(substr($nom_file, -3) == $extension) {  

//por:  

$ext_file substr($nom_file, -3); 

if(
$ext_file == $extension || $ext_file == $extension_2 || $ext_file == $extension_3) { 
Que es lo mismo pero con el operador lógico || que se comporta igual que OR

Un saludo.
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 15:19.