Foros del Web » Programando para Internet » PHP »

Problemas al subir un archivo (imagen)

Estas en el tema de Problemas al subir un archivo (imagen) en el foro de PHP en Foros del Web. Muy buenas. Tengo un pequeño gran problema xD La cosa es que en una sección de un plugin que estoy haciendo se pueden cambiar las ...
  #1 (permalink)  
Antiguo 10/09/2010, 02:57
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
De acuerdo Problemas al subir un archivo (imagen)

Muy buenas.
Tengo un pequeño gran problema xD
La cosa es que en una sección de un plugin que estoy haciendo se pueden cambiar las imágenes. Y bueno las imágenes me las muestra bien, cada una con su ID para luego hacer las gestiones oportunidas en la BD pero a la hora de subir una me dice todo el rato (el error que le puse yo) que el formato no es permitido, y en los parámetros puse que esos tipos de formatos los permita. Os dejo el código para que le echen una ojeada:

Código PHP:
if($_REQUEST['editarlista']==2){
    
?>
    <form action="admin.php?page=wp-listas/listas_manager.php&idcat=4&paso=2&idlista=3&editarlista=2&cambiarimg=<?php echo $_REQUEST['cambiarimg']; ?>&subirimg=1" method="post" name="formcambiarimg">
    <div class="tablaNew">
        Selecciona la imagen que deseas cambiar. <br /> <br />
    
<?php
    $IDpropia 
$_REQUEST['idlista'];
    
$query_img $wpdb->get_results("SELECT * FROM wp_lista WHERE lista_id_propia='$IDpropia' ");
    foreach(
$query_img as $query_img_print){
        echo 
"<a href='admin.php?page=wp-listas/listas_manager.php&idcat=4&paso=2&idlista=3&editarlista=2&cambiarimg=".$query_img_print->lista_id."'><img src='http://".$query_img_print->lista_imagen." ' width='199px' height='133px'></a>";
    }

    
# Si está definido cambiarimg mostrar el upload.
    
if(isset($_REQUEST['cambiarimg'])){

        echo 
"<br> <br>Selecciona una imagen <input type='file' width='30' name='cambioDeImg' > <br><br> <input name='enviaNuevaImg' type='submit' value='Cambiar Imagen' />";
    
    } 
// Cierra isset($_REQUEST['cambiarimg'])
    
?>
    </div>
    </form>
<?php

    
if(isset($_REQUEST['subirimg'])){    
        
// Aquí va la comprobación de la imagen
        
        // Comprobación de la imagen.                                
        
if(!($_FILES['cambioDeImg']['type']=="image/jpeg" || $_FILES['cambioDeImg']['type']=="image/pjpeg" || $_FILES['cambioDeImg']['type']=="image/gif" || $_FILES['cambioDeImg']['type']=="image/png")){
            echo 
"<div class='divNew alerta'><span class='alertaTexto alertaTextoRoja'>El tipo de imagen que intentas subir <b>no está permitido</b>. <a href='javascript:history.back(1)'>Atrás</a></span></div>";
            exit();
        }
        
        
# Extensión de los archivos.
        
echo "<h1>".$_FILES['enviaNuevaImg']['type']."</h1>";
        if(
$_FILES['cambioDeImg']['type']=="image/jpeg" OR $_FILES['cambioDeImg']['type']=="image/pjpeg"){
            
$extension ".jpg";
        }
        
        if(
$_FILES['cambioDeImg']['type']=="image/gif"){
            
$extension ".gif";
        }
        
        if(
$_FILES['cambioDeImg']['type']=="image/png"){
            
$extension ".png";
        }
        
        
# Nombre de la foto
        
$nombre_foto $_FILES['cambioDeImg']['name'];
    
        
# En linux dar permiso a la carpeta UPLOADS.
        # De lo contrario no se podrá subir la imagen.                                                
        
$destino "../wp-content/plugins/wp-listas/uploads/";
        
        if(
move_uploaded_file($_FILES['cambioDeImg']['tmp_name'], "../wp-content/plugins/wp-listas/upload/".$nombre_foto)){
            
            
$URLimagen $_SERVER['SERVER_NAME']."/wp-content/plugins/wp-listas/upload/".$nombre_foto;
            
#echo "<img src='../wp-content/plugins/wp-listas/upload/".$nombre_foto."' width='200px' alt='foto' >";
            //echo $URLimagen."<br>";
        
}
        
        
// Fin comprobación imagen
        
        # Query para actualizar
        
$IDunicaIMG $_REQUEST['cambiarimg'];
        
$sql "UPDATE wp_lista SET lista_image='$URLimagen' WHERE lista_id='$IDunicaIMG'";
        if(
$wpdb->query($sql)){
            echo 
"<h2>Hecho</h2>";
        }else{
            echo 
"<h2>Mal</h2>";
        }
        
    }
    
// Cierra $_REQUEST['editarlista']==2
Ya me duele la cabeza y no consigo lograr subir una imagen. Lo más raro es que tengo otra sección casi igual (salvo por algún campo) y si me las sube sin ningún problema :S No entiendo ..

Gracias de antemano =) !

Un saludo !
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #2 (permalink)  
Antiguo 10/09/2010, 03:17
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 773
Antigüedad: 18 años
Puntos: 15
Respuesta: Problemas al subir un archivo (imagen)

Maldita sea. LLevo 2H buscando la respuesta y fue postear y se me ocurrió.. xD

El problema que había es que en el formulario no estaba enctype="multipart/form-data" xD en fin.. cosas de esta vida jajaj

Saludos !!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?

Etiquetas: subir
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 19:48.