Foros del Web » Programando para Internet » PHP »

sube la foto pero no la veo!!

Estas en el tema de sube la foto pero no la veo!! en el foro de PHP en Foros del Web. Hola a todos, tengo el siguiente problema a ver si alguien con más experiencia me puede ayudar!!! Tengo un sistremita en php que permite subir ...
  #1 (permalink)  
Antiguo 23/09/2009, 07:18
 
Fecha de Ingreso: enero-2007
Ubicación: perdida entre líneas de código...
Mensajes: 235
Antigüedad: 17 años, 10 meses
Puntos: 1
Sonrisa sube la foto pero no la veo!!

Hola a todos, tengo el siguiente problema a ver si alguien con más experiencia me puede ayudar!!!
Tengo un sistremita en php que permite subir y bajar y modificar fotos.
El problema es que cuando estoy en el adminitrador y pongo examinar para elegir una imagen, me aparece el mensaje de "la foto ha sido subida correctamente", pero no se ve ni en el admin ni en la web...
Qué puedo estar haciendo mal o qué puede estar faltando?
Me dijeron que podía ser un tema de que esté mal linkeado con la base de datos, pero la verdad estoy dando los primeros pasos en php y no me doy idea de cómo saber si está o no bien linkeado.
Les agradezco infinitamente cualquier respuesta, saludoS Y BUEN DÍA!
  #2 (permalink)  
Antiguo 23/09/2009, 07:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: sube la foto pero no la veo!!

Tema transladado desde la sección de MySQL.

¿Cuál es el código con que recuperas el dato y muestras la imagen?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 23/09/2009, 11:17
 
Fecha de Ingreso: enero-2007
Ubicación: perdida entre líneas de código...
Mensajes: 235
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: sube la foto pero no la veo!!

Hola David, antes que nada gracias por responder.
Te comento, este es un sistema que hizo un programador al que le pagué (soy DG).
Ahora me encuentro con que hay una parte del sistema (que menciono en el primer post) que no funciona.
Intenté ubicarlo de mil maneras pero es imposible y la realidad es que yo tengo el compromiso con el cliente.
Es por eso que como el sistema en si está armado, quisiera ver si con un poco de ayuda puedo lograr hacerlo funcionar, no se si me explico.
Respecto al código, en síntesis, tengo todo pero no se qué parte es la que necesitás ver!!!
Te agradecería de verdad si pudieras al menos guiarme a buscarle la falla.
Gracias de nuevo, saludos!!
  #4 (permalink)  
Antiguo 23/09/2009, 11:57
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 16 años, 4 meses
Puntos: 15
Respuesta: sube la foto pero no la veo!!

Hola hace un tiempo hice un sistema asi. Debes buscar donde dice algo asi:

Código PHP:
$archivo getimagesize($_FILES['foto']['tmp_name']); 
es algo parecido. Cuando lo encuentres sube el c'odigo para poder ayudarte.
  #5 (permalink)  
Antiguo 23/09/2009, 12:16
 
Fecha de Ingreso: enero-2007
Ubicación: perdida entre líneas de código...
Mensajes: 235
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: sube la foto pero no la veo!!

Hola Kimmy! estuve buscando algo parecido a lo que pusiste, pero no estoy segura...
De todas maneras estuve leyendo en el código y por los comentarios que dejó el programador en el archivo deduzco que puede andar por acá el asunto.
Antes que nada aclarar que tengo 2 archivos que creo participan en este tema:
administrator.php y prensa.php (que es el nombre de la página de la web donde se muestran finalmente las imágenes)
Se que es muchisimo código pero para el que sabe quizá sea simple de entçcontrar el error, preferi subir de más a que falte algo...

El código que subo ahora es del archivo administrator.php

if($accion=="aMensualesDB"){
$nuevomes=$_REQUEST['nuevomes'];
//--recibo los datos y agrego a la base le nombre del nuevo mes (luego creo la carpeta para dicho mes co el id que me toque)
$conexion = mysql_connect("localhost",PHPUSER,PHPPASS);
mysql_select_db(DB, $conexion);
$sql = "INSERT INTO mensuales (mes) VALUES ('$nuevomes')";
$rs=mysql_query($sql,$conexion);
//-obtengo el id
$sql = "SELECT idmes FROM mensuales ORDER BY idmes DESC LIMIT 1";
$rs=mysql_query($sql,$conexion);
$idmes=mysql_result($rs,$cont,"idmes");
//--cierro conexion
mysql_close($conexion);//--Cierro conexion con DB
//--creo la carpeta contenedora de fotos
if(!file_exists("mensuales/".$idmes)){
mkdir("mensuales/".$idmes);
}
$accion="edMensuales";
$aviso_usuario='Publicación mensual "'.$nuevomes.'" creada';


}

if($accion=="bMensualesDB"){

$conexion = mysql_connect("localhost",PHPUSER,PHPPASS);
mysql_select_db(DB, $conexion);
$sql = "DELETE FROM mensuales WHERE idmes=".$idmes;
$rs=mysql_query($sql,$conexion);
mysql_close($conexion);//--Cierro conexion con DB
//--elimino el directorio de fotos de este aviso
if( file_exists("mensuales/".$idmes) ){
eliminarDir("mensuales/".$idmes);
}
$accion="edMensuales";
$aviso_usuario='Publicación mensual "'.$idmes.'" eliminada';

}
?>


Y dentro de prensa.php encontré este código:

<?php include("includes/config.php");?>
<?php
$mes=(isset($_GET['mes'])) ? $_GET['mes'] : "";
$ampliada=(isset($_GET['ampliada'])) ? $_GET['ampliada'] : "";
$idmes=(isset($_GET['idmes'])) ? $_GET['idmes'] : "";
?>

<?php
$conexion = mysql_connect("localhost",PHPUSER,PHPPASS);
mysql_select_db(DB, $conexion);
$sql = "SELECT * FROM mensuales";
//echo $sql;
$rs=mysql_query($sql,$conexion);
$cont=0;
while(mysql_fetch_row($rs)){//obtengo los resultados
$idmesDB=mysql_result($rs,$cont,"idmes");
$mesDB=mysql_result($rs,$cont,"mes");
echo '<p><a class="link-prensa" href="prensa.php?idmes='.$idmesDB.'&mes='.$mesDB.' ">'.$mesDB.'</a></p>';
$cont=$cont+1;
}mysql_close($conexion);
?>
<p>&nbsp;</p>
</div>
</div><div class="datos-contacto2">
<span class="Estilo2">Cont&aacute;ctese con nosotros:</span><span class="Estilo5"><br />
</span>
<p class="Estilo5"> Azcu&eacute;naga 598 - Mor&oacute;n (C.P.: 1708)<br />
Tel: 4628-5652 / 4483-4545<br />
E-mail:[email protected]</p>
</div>


</div>

<div id="right-column-bca"><br />
<div class="vinieta-title"><?php echo $mes; ?></div>
<div class="contenedor-miniaturas-prensa">
<?php
if($ampliada!=""){
echo '<a title="Click para volver a las miniaturas" href="prensa.php?idmes='.$idmes.'&mes='.$mes.'"><i mg on src="mensuales/'.$idmes.'/'.$ampliada.'" width="550" border="0" /></a>';
}else{

if($idmes==""){$idmes=$idmesDB; $mes=$mesDB;}
$directorio=dir('mensuales/'.$idmes);
$cont=0;
while ($archivo = $directorio->read())
{
if($archivo!='.'&&$archivo!='..'){
$cont=($cont+1);

?>
<div class="borde-miniaturas-prensa"><a href="prensa.php?idmes=<?php echo $idmes;?>&mes=<?php echo $mes; ?>&ampliada=<?php echo $archivo; ?>"><img src="mensuales/<?php echo $idmes; ?>/<?php echo $archivo;?>" width="160" border="0" /></a></div>
<?php
}//--end if
}//--end for
echo '<p>* Click en la publicaci&oacute;n para ampliar</p>';
}//--end if general
?>

Les agradezco por tomarse el tiempo de leer esto, gracias mil!!!!!!!!!!!!!!!!!
  #6 (permalink)  
Antiguo 23/09/2009, 14:31
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 10 meses
Puntos: 25
Respuesta: sube la foto pero no la veo!!

Podria ser la parte donde dice:

Código PHP:
<?php
if($ampliada!=""){
echo 
'<a title="Click para volver a las miniaturas" href="prensa.php?idmes='.$idmes.'&mes='.$mes.'"><i mg on src="mensuales/'.$idmes.'/'.$ampliada.'" width="550" border="0" /></a>';
}else{

if(
$idmes==""){$idmes=$idmesDB$mes=$mesDB;}
$directorio=dir('mensuales/'.$idmes);
$cont=0;
while (
$archivo $directorio->read())
{
if(
$archivo!='.'&&$archivo!='..'){
$cont=($cont+1);

?>
Cambias a:

Código PHP:
<?php
if($ampliada!=""){
echo 
'<a title="Click para volver a las miniaturas" href="prensa.php?idmes='.$idmes.'&mes='.$mes.'"><img src="mensuales/'.$idmes.'/'.$ampliada.'" width="550" border="0" /></a>';
}else{

if(
$idmes==""){$idmes=$idmesDB$mes=$mesDB;}
$directorio=dir('mensuales/'.$idmes);
$cont=0;
while (
$archivo $directorio->read())
{
if(
$archivo!='.'&&$archivo!='..'){
$cont=($cont+1);

?>
Creo, creo que puede ser el tag IMG que esta mal escrito si es que asi esta como lo colocaste :)
  #7 (permalink)  
Antiguo 23/09/2009, 14:50
 
Fecha de Ingreso: enero-2007
Ubicación: perdida entre líneas de código...
Mensajes: 235
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: sube la foto pero no la veo!!

Gracias Jessica por responder, pero me parece que no, me estuve fijando en el código y lo tengo bien escrito, es raro porque copié y pegué, pero se ve que sin darme cuenta puse un espacio acá (al márgen qué detallista!!).
En fin, asi que ese error no existe en los archivos originales, por otra parte me parece que esa parte del código (y hablo solo por lo que leo de los comentarios que aparecen dentro) es para ampliar la imagen, tipo pop up.
Asi que no se qué parte sea la que llama las imagenes que se cargan desde el admin para que aparezcan, primero en el admin y luego en la página propiamente dicha.
Gracias y sigo esperanzada en encontrarle la vuelta a esto.-....
  #8 (permalink)  
Antiguo 23/09/2009, 15:14
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 16 años, 4 meses
Puntos: 15
Respuesta: sube la foto pero no la veo!!

Deberias tener una parte asi en el formulario donde esta el boton examinar que te busca la foto:

Código HTML:
<input name="foto" type="file" id="foto" size="50"> 
Y luego una parte donde te recolecta esto y te guarda la ruta en la Base de Datos y a la vez te guarda la foto en una carpeta alojada en el servidor, asi por ejemplo:

Código PHP:
<?php
$archivo 
getimagesize($_FILES['foto']['tmp_name']);  
switch (
$archivo[2]) { 
  case 
1
    
$imagen imagecreatefromgif($_FILES['foto']['tmp_name']); break; 
  case 
2
    
$imagen imagecreatefromjpeg($_FILES['foto']['tmp_name']); break; 
  case 
3
    
$imagen imagecreatefrompng($_FILES['foto']['tmp_name']); break; 
  
// etcétera //  
  
}
 
 if(!
$imagen)
    die(
'No se pudo crear la imagen.');  

$original $imagen
$original_w imagesx($original); 
$original_h imagesy($original); 

$max 125;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS 

if($original_w>$original_h) { 
    
$muestra_w $max
    
$muestra_h intval(($original_h/$original_w)*$max); 
    } else { 
    
$muestra_w intval(($original_w/$original_h)*$max); 
    
$muestra_h $max
    } 

$muestra imagecreatetruecolor($muestra_w,$muestra_h);  

$muestra imagecreatetruecolor($muestra_w,$muestra_h);  

imagecopyresampled($muestra,$original,0,0,0,0$muestra_w,$muestra_h,$original_w,$original_h); 
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya 

 // me verifica haya sido cargado el archivo  
        
$ruta_destino "../tienda/fotos/"
        
$namefinal strtolower(str_replace(' ''-'$_FILES['foto']['name']));

        
// Quitamos la extension
        
list($namefinal$extension) = explode('.'$namefinal);
        
// Agregamos la extension .jpg
$namefinal mysql_insert_id();

// Guardas el archivo:
$uploadfile$ruta_destino $namefinal '.jpg';
//quito los espacios entre las palabtas del nombre si los hay
if(imagejpeg($muestra,$uploadfile,'100')) 

// se coloca en su lugar final    
// Se guardo correctamente    
// Si aun crees necesario guardar el nombre con ruta en la base de datos:    
$query "UPDATE catalogo SET fotos = '$namefinal' WHERE id_foto = '$namefinal'";    
mysql_query($query) or die(mysql_error());
}

?>
  #9 (permalink)  
Antiguo 23/09/2009, 16:15
 
Fecha de Ingreso: enero-2007
Ubicación: perdida entre líneas de código...
Mensajes: 235
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: sube la foto pero no la veo!!

Bueno, creo que voy mejor, al menos pude encontrar ese renglón en el código, gracias Kimmy.
Así es como yo lo tengo

<input name="Fnueva" type="file" class="campos" id="Fnueva">

Ahora la parte que ponés como php, debería estar dentro del mismo archivo que el código anterior no?

Respecto a esta línea por ej:
$muestra = imagecreatetruecolor($muestra_w,$muestra_h);


"muestra" es una variable o podría haber sido cualquier otro?
Esta es la duda que tengo ahora, leyendo tu código no logro descifrar cuales son las palabras que pusiste en forma personal (o de ejemplo) y cuales son parte del código php.
No se si me expliqué bien, espero que me entiendas

Gracias!! estaré revisando estre post a cada rato!!!!
  #10 (permalink)  
Antiguo 23/09/2009, 17:07
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 16 años, 4 meses
Puntos: 15
Respuesta: sube la foto pero no la veo!!

El php que realiza la accion de guardar la foto yo la tengo en otro archivo.

$muestra es una variable que puede tener cualquier nombre.

El código que te puse es un ejemplo de como se hace (asi hice el mio) pero cada programador puede hacerlo de manera distinta.

El formulario donde tienes esta linea que me indicaste:

<input name="Fnueva" type="file" class="campos" id="Fnueva">

tiene en el action el archivo en donde realiza la carga de fotos. coloca aqui ese codigo para revisar que está pasando.
  #11 (permalink)  
Antiguo 24/09/2009, 06:35
 
Fecha de Ingreso: enero-2007
Ubicación: perdida entre líneas de código...
Mensajes: 235
Antigüedad: 17 años, 10 meses
Puntos: 1
Respuesta: sube la foto pero no la veo!!

Les agradezco de verdad a todos los que respondieron, pero se ve que mis conocimientos son muy básicos todavía para poder meter mano en este código y salir airosa.
Se que con la guia de uds. seguramente lo puedo resolver, poero el tiempo me complica con el cliente, asi que lo voy a tercerizar por esta vez y prometo ponerme a estudiar php ya que , aunque soy diseñadora gráfica, me interesa aprenderlo.

Mil gracias a todos de verdad!!
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 21:14.