Foros del Web » Programando para Internet » PHP »

Help con upload en galeria

Estas en el tema de Help con upload en galeria en el foro de PHP en Foros del Web. Hola amigos tengo un problemon y no se que sea. Hize una galeria que esta en verion beta y pues funciona muy bien, bueno eso ...
  #1 (permalink)  
Antiguo 25/09/2006, 18:56
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 6 meses
Puntos: 0
Exclamación Ayuda con problema de galeria, me esta volviendo loco

Hola amigos tengo un problemon y no se que sea.

Hize una galeria que esta en verion beta y pues funciona muy bien, bueno eso creo, si quieren ver http://www.musicinmotion.com.mx/galeria/
Esta funciona perfecto sube y muestra las miniaturas y todo el relajo, pero cuando la intento visualizar en mi localhost o en otra direccion dentro del mismo servidor como por ejemplo http://www.musicinmotion.com.mx/tratoweb/galeria

subo las imagenes y ps si las sube pero al intentar mostrarla no funciona y es el mismo codigo que utilizo en el ejemplo de la galeria de arriba y no funciona en localhost ni en la direccion que les puse abajo, ya cheque que las direcciones de las imagenes esten bien pero pues no veo algo incorrecto.

Esperoy me puedan ayudar.
Les pongo el codigo que utilizo para mostrar lasimagenes

Este es el archivo upload.php en el cual genero la miniatura y subo la imagen
Código PHP:
<?php 
include("configuracion.php");
include(
"funcion.php"); 
$nom=$_FILES['fichero']['name'];
$titulo=$_POST["titulo"];
$comentario=$_POST["comentario"];
$ssql "SELECT * FROM galeria WHERE nombre_foto='$nom'";
$rs=mysql_query($ssql,$conn);
$x=mysql_num_rows($rs);
if (isset(
$_POST['submit'])) {
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo  
          
$ruta"archivos/".$_FILES['fichero']['name']; //ruta de la carpeta destino 
            
If($_FILES['fichero']['type']=="image/pjpeg"
        { 
// condicion la carga del archivo, segun del tipo que sea etc etc
                
if($x!=0)
                {
                    
header("location:form.php?error=nombre");
                }else{ 
                
$ruta=str_replace(' ','_',$ruta);
                
$nom=str_replace(' ','_',$nom);
                
move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta); //linea <--- 8 
                
$ssql="INSERT INTO galeria(nombre_foto,titulo_foto,comentario,fecha) VALUES ('".$nom."','".$titulo."','".$comentario."',CURDATE())";
                
mysql_query($ssql,$conn);
                echo 
"<b>Upload exitoso!. Datos:</b><br>";  
                echo 
"Nombre: <i><a href=\"archivos/".$nom."\">".$titulo."</a></i><br>";  
                echo 
"Comentario: <i>".$comentario."</i><br>";  
                echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
        
redimencionar($ruta,$nom);
        
$imagen="archivos/minis/mini_".$nom;
        echo 
"<br><img src=$imagen>";  
                echo 
"<br><hr><br>";  
                }
//fin del if para comprobar existencia del nombre
            
}//fin de if  condicion la carga de archivos...  
        
else{ 
        
header("location:form.php?error=extencion");
    } 
//fin if is_uploaded_file 
//fin if principal 
}
?>
Este es el archivo mostrar.php en este archivo obtengo las direcciones de la base de datos y muestra las miniaturas de las imagenes que fueron generadas

Código PHP:
<?php 
include("configuracion.php");

echo 
"<table align=center>"

$columnes 4# Número de columnas (variable) 
$ssql "SELECT * FROM galeria ORDER BY fecha";
  
$_pagi_sql $ssql;
    include(
"paginacion.php");
        
$_pagi_cuantos 12;
    
$_pagi_nav_num_enlaces=5;
    
$_pagi_conteo_alternativo="true";
$result mysql_query($ssql,$conn);
if ((
$fila=mysql_num_rows($result))==0) { 
  echo 
"<tr><td colspan=$columnes>No hay resultados en la BD.</td></tr> "
} else { 
  echo 
"<tr><td colspan=$columnes>$fila Resultados <br></td></tr>"


for (
$i=1$filamysql_fetch_object($_pagi_result); $i++) { 
$resto = ($i $columnes); # Número de celda del <tr> en que nos encontramos 
if ($resto == 1)
{echo 
"<tr>";} # Si es la primera celda, abrimos <tr> 
?>
<td align="center">
Titulo:<?echo $fila->titulo_foto;?>
<br>
<a href="foto.php?id_foto=<?echo $fila->id_galeria;?>"><img border="0" src="archivos/minis/mini_<?echo $fila->nombre_foto;?>"></a>
<br>
Comentario: <?echo $fila->comentario;?>
<br>
Fecha:
<?
$fecha
=$fila->fecha;
$fech=explode("-",$fecha);
echo 
"$fech[2]-$fech[1]-$fech[0]";
?>
</td>
<?
if ($resto == 0)
{echo 
"</tr>";} # Si es la última celda, cerramos </tr> 

if (
$resto <> 0) { # Si el resultado no es múltiple de $columnes acabamos de rellenar los huecos 
$ajust $columnes $resto# Número de huecos necesarios 

for ($j 0$j $ajust$j++) {echo "<td></td>";} 
echo 
"</tr>"# Cerramos la última línea </tr> 

echo 
"</table>"
//Incluimos la barra de navegaci&oacute;n
echo"<p align=center>".$_pagi_navegacion."</p>";

         
//libero el conjunto de resultados
       
mysql_free_result($_pagi_result);
?>
Este es el archivo foto.php en el cual mando la id de la foto por metodo get y muestro las fotos

Código PHP:
<body background="../fondo.gif"">
<div align="center">
<?
include("configuracion.php");
$id_foto=$_GET["id_foto"];
$ssql="SELECT * FROM galeria WHERE id_galeria = '$id_foto'";
$resultid=mysql_query($ssql,$conn) or die ("Error al ejecutar la sentencia ssql, mysql dice:".mysql_error());
while(
$fila=mysql_fetch_object($resultid))
{
    echo 
"<h1>$fila->titulo_foto</h1>";
    echo 
"<br>";
    echo 
"<img src=archivos/$fila->nombre_foto>";
    echo 
"<br>".$fila->comentario;
    echo 
"<br>Fecha:".$fila->fecha;
}
?>
y ese es el archivo funcion.php en el cual creo las miniaturas

Código PHP:
<?
function redimencionar($file,$nombre) {  
// Se da por echo la imágen existe y es una imágen JPEG (no se hacen validaciones) 
    
$origen="archivos/".$nombre;
    
$destino="archivos/minis/mini_".$nombre;
    
copy($origen,$destino);
    
$imagen ImageCreateFromJPEG($file);  
    
$width  imagesx($imagen);  
    
$height imagesy($imagen);  
      
    
$nueva_anchura  150// Define aquí el ancho requerdo  
    
$nueva_altura = ($nueva_anchura $height) / $width ;// Para un alto proporcinal (RECOMENDADO) ó ingresa directamente el alto requerido.  
      
        
if (function_exists("imagecreatetruecolor")) {  
           
$calidad ImageCreateTrueColor($nueva_anchura$nueva_altura);  
        } else 
$calidad ImageCreate($nueva_anchura$nueva_altura);  

    
ImageCopyResized($calidad$imagen0000$nueva_anchura$nueva_altura$width$height);  
    
ImageJPEG($calidad"archivos/minis/mini_".$nombre100);  
    
imagedestroy($imagen);  
    return 
true;  
// Forma de uso:  
// redimencionar(/ruta/archivo.jpg)  
}  
?>
Espero y me puedan ayudar
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #2 (permalink)  
Antiguo 26/09/2006, 00:33
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 6 meses
Puntos: 0
Exclamación Problema con el exploredor

Hola amigos hace un rato postee un mensaje y pues creo que fue erroenea mi dida.
si desean checar estas dos urls www.musicinmotion.com.mx/galeria y www.tratoweb.musicinmotion.com/galeria bueno depende de su explorador van a visualizar las url osea que en el primer enlace van a visualizar la galeria bien sea con el explorador internet explorer o con el firefox, pero la segunda pero con la segunda url no van a visualizar la galeria si tienen internet explorer pero con el firefox si. Mi duda esporque si es el mismo codigo que utilizo en la primera url y en la seguna es lo mismo. Espero y me puedan ayudar que esto me esta volviendo loco
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #3 (permalink)  
Antiguo 26/09/2006, 00:34
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 6 meses
Puntos: 0
perdon la segunda url esta mal es asi www.tratoweb.musicinmotion.com.mx/galeria
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #4 (permalink)  
Antiguo 26/09/2006, 06:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
No repitas tus mensajes . .fijate que "ahora" no expusistes el código que en su momento dejastes (los links donde "ver" tu galería es una parte . .pero no toda).

Así que . . por el momento procedí a unir ambos mensajes.

Sobre tu problema .. En general cuando trabajas con imagenes .. debes ver los mensajes de error que se puedan estar produciendo. Eso lo puedes ver viendo tu código generado como es el caso:

Cita:
<p aling=center>prueva<br><img src=archivos/15_años(3).JPG><br>Conmentario:<br>esto es una prueva de la galeria<br>Fecha:2006-09-25Error al ejecutar la sentencia ssql, mysql dice:Table 'musici47_tratoweb.comentarios_galeria' doesn't exist
Fijate lo que te dice el mensaje de error. Eso lo ví simplemente ejecutando tu script que presenta la "foto" y viendo el "código HTML" generado:

http://www.musicinmotion.com.mx/trat....php?id_foto=1

Se observa también que no respetas las comillas donde corresponde (en los tag's HTML que las tienen) eso te va a dar problemas. También usas "ñ" y para nombres de tus archivos .. Cuidado con eso!.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 27/09/2006, 00:29
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 6 meses
Puntos: 0
Exclamación Help con upload en galeria

Hola amigos he posteado muchos de mensajes y no he recivido ayuda espero que ahora con este si.

Bueno en mis otros mensajes expresaba que tenian un problema con los exploradores al mostrar mi galeria, bueno encontre el problema y trate de solucionarlo pero no funcion.

El problema es cuando subo una foto que contenga una ñ no me la muestra en internet explorer pero en firefox si. Bueno pondre el codigo y les explicare

Código PHP:
<?php 
include("configuracion.php");
include(
"funcion.php"); 
$nom=$_FILES['fichero']['name'];
$titulo=$_POST["titulo"];
$comentario=$_POST["comentario"];
$ssql "SELECT * FROM galeria WHERE nombre_foto='$nom'";
$rs=mysql_query($ssql,$conn);
$x=mysql_num_rows($rs);
if (isset(
$_POST['submit'])) {
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo  
          
$ruta"archivos/".$_FILES['fichero']['name']; //ruta de la carpeta destino 
            
If($_FILES['fichero']['type']=="image/pjpeg"
        { 
// condicion la carga del archivo, segun del tipo que sea etc etc
                
if($x!=0)
                {
                    
header("location:form.php?error=nombre");
                }else{ 
                                                                                            
$ruta=str_replace(' ','_',$ruta);
                
$nom=str_replace(' ','_',$nom);
                
$ruta=str_replace('ñ','n',$nom);
                
$nom=str_replace('ñ','n',$nom);
                
move_uploaded_file($_FILES['fichero']['tmp_name'], $ruta); //linea <--- 8 
                
$ssql="INSERT INTO galeria(nombre_foto,titulo_foto,comentario,fecha) VALUES ('".$nom."','".$titulo."','".$comentario."',CURDATE())";
                
mysql_query($ssql,$conn);
                echo 
"<b>Upload exitoso!. Datos:</b><br>";  
                echo 
"Nombre: <i><a href=\"archivos/".$nom."\">".$titulo."</a></i><br>";  
                echo 
"Comentario: <i>".$comentario."</i><br>";  
                echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>";
        
redimencionar($ruta,$nom);
        
$imagen="archivos/minis/mini_".$nom;
        echo 
"<br><img src=$imagen>";  
                echo 
"<br><hr><br>";  
                }
//fin del if para comprobar existencia del nombre
            
}//fin de if  condicion la carga de archivos...  
        
else{ 
        
header("location:form.php?error=extencion");
    } 
//fin if is_uploaded_file 
//fin if principal 
}
?>
Donde utilizo estas la funcion str_replace() para cambiar los espacios por _
en las imagenes y funcionaba y nadamas lo que hize fue agregue los cambios de ñ por n,este script tambien crea miniaturas con ayuda de una funcion que incluyo.
Y sucede algo raro me crea la miniatura de la foto con el cambio de espacios por _ y de ñ por n pero la foto real no se conserva

aqui esta el codig de la funcion que utilizo para crear miniaturas

Código PHP:
<?
function redimencionar($file,$nombre) {  
// Se da por echo la imágen existe y es una imágen JPEG (no se hacen validaciones) 
    
$origen="archivos/".$nombre;
    
$destino="archivos/minis/mini_".$nombre;
    
copy($origen,$destino);
    
$imagen ImageCreateFromJPEG($file);  
    
$width  imagesx($imagen);  
    
$height imagesy($imagen);  
      
    
$nueva_anchura  150// Define aquí el ancho requerdo  
    
$nueva_altura = ($nueva_anchura $height) / $width ;// Para un alto proporcinal (RECOMENDADO) ó ingresa directamente el alto requerido.  
      
        
if (function_exists("imagecreatetruecolor")) {  
           
$calidad ImageCreateTrueColor($nueva_anchura$nueva_altura);  
        } else 
$calidad ImageCreate($nueva_anchura$nueva_altura);  

    
ImageCopyResized($calidad$imagen0000$nueva_anchura$nueva_altura$width$height);  
    
ImageJPEG($calidad"archivos/minis/mini_".$nombre100);  
    
imagedestroy($imagen);  
    return 
true;  
// Forma de uso:  
// redimencionar(/ruta/archivo.jpg)  
}  
?>
Espero y ahora si me puedan responder mi duda
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #6 (permalink)  
Antiguo 27/09/2006, 07:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Hola amigos he posteado muchos de mensajes y no he recivido ayuda espero que ahora con este si.
Y para que abres otro tema haciendo referencia a un problema que se te sugirió ya una respuesta o por donde estaba tu problema?

Procedo a unir los temas. No repitas tus mensajes, continua el hilo de tus temas abiertos .. Si obligas a que te vuelvan ha preguntar lo mismo y a realizar las mismas pruebas que ya te indicaron así el que pierde el tiempo y no soluciona el problema eres tú.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 27/09/2006, 11:58
 
Fecha de Ingreso: noviembre-2003
Ubicación: Puente de ixtla
Mensajes: 773
Antigüedad: 20 años, 6 meses
Puntos: 0
No lo que paso fue que en los otros temas preguntaba otra cosa osea que mi problema pensaba que era otra cosa y pues fui buscandole hasta que encontre el problema y pues fue diferente a lo de los otros
__________________
°º¤ø,¸¸,ø¤º°`°º¤ø,¸S@M°º¤ø,¸¸,ø¤º°`°º¤ø,¸.
Dios solo nos dio el 0 y el 1 y con solo eso hemos construido un universo
  #8 (permalink)  
Antiguo 27/09/2006, 12:10
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Ixtleco Ver Mensaje
No lo que paso fue que en los otros temas preguntaba otra cosa osea que mi problema pensaba que era otra cosa y pues fui buscandole hasta que encontre el problema y pues fue diferente a lo de los otros
Es cierto que los "problemas" puedan haber sido diferentes, pero siendo referentes a un mismo código .. creo que lo mejor es continuar en el mismo tema, pues ya tienes expuesto el código que en un principio usabas y todos los antecendes.

De hecho primer mensaje dejastes links para ver tu trabajo funcionando, pusistes el código (que luego corregistes en función de las respuestas obtenidas ..), etc.

Por eso, bajo ese criterio los uní.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 14:58.