Foros del Web » Programando para Internet » PHP »

No se muestra la imagen que guardé en la BD

Estas en el tema de No se muestra la imagen que guardé en la BD en el foro de PHP en Foros del Web. Cita: Iniciado por eZakto Qué tal algo como reemplazar esto: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código php: Ver original $archivo = stripslashes ( $_FILES [ 'imagen' ] [ ...

  #31 (permalink)  
Antiguo 01/11/2008, 12:49
Avatar de Batusai  
Fecha de Ingreso: enero-2005
Ubicación: Málaga -Andalucía- España
Mensajes: 130
Antigüedad: 19 años, 3 meses
Puntos: 1
Respuesta: Guardar en BD sin el .jpg o .gif

Cita:
Iniciado por eZakto Ver Mensaje
Qué tal algo como reemplazar esto:
Código php:
Ver original
  1. $archivo = stripslashes($_FILES['imagen']['name']);
por:
Código php:
Ver original
  1. $archivo = explode('.', stripslashes($_FILES['imagen']['name'])); // Lo separo por cada punto
  2. unset($archivo[count($archivo)-1]); // Elimino el último pedazo (que sería la extensión)
  3. $archivo = implode('.', $archivo); // Uno todo lo que queda
Creo que funcionará.

Saludos.
Funciona perfecto pro hay que tener en cuenta que el nombre del archivo no puede contener ningún punto.
Para solucionar ese posible problema habría que tomar el nombre del archivo y darle la vuelta. Llegar al primer punto (que entonces sí sería la extensión) y tomar el resto de la cadena y vovler a darle la vuelta para que quede en la posición original.

Pero en casi todos los casos este código sí funciona.
  #32 (permalink)  
Antiguo 01/11/2008, 14:46
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Guardar en BD sin el .jpg o .gif

Una pregunta mas. Como hago para que este código me valide además de jpg, las imagenes gif, jpeg y png.

Este es el código:

if (@file_exists("images/".$row["sku"]. ".jpg"))
{
$titulo= "<img src=\"images/".($row["sku"]). ".jpg\" border=0>";

Gracias.
  #33 (permalink)  
Antiguo 01/11/2008, 15:19
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Pregunta Validar además de jpg, imagenes gif, jpeg y png

Como hago para que este código me valide además de jpg, las imagenes gif, jpeg y png.

Este es el código:

if (@file_exists("images/".$row["sku"]. ".jpg"))
{
$titulo= "<img src=\"images/".($row["sku"]). ".jpg\" border=0>";

Gracias.
  #34 (permalink)  
Antiguo 01/11/2008, 15:27
Avatar de srsombrero  
Fecha de Ingreso: marzo-2008
Mensajes: 128
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Validar además de jpg, imagenes gif, jpeg y png

Cita:
Iniciado por kimmy Ver Mensaje
Como hago para que este código me valide además de jpg, las imagenes gif, jpeg y png.

Este es el código:

if (es@file_exists("imag/".$row["sku"]. ".jpg"))
{
$titulo= "<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".jpg\" border=0>";

Gracias.
Es una cuestion de logica nada mas me parece.
Primero no estas valodando nada, lo unico que estas comprobando es que exista el archivo.


Una cosa facil seria la siguiente:

Código PHP:
if(@file_exists("imag/".$row["sku"]. ".jpg"))
        
$titulo"<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".jpg\" border=0>";
elseif(@
file_exists("imag/".$row["sku"]. ".gif"))
        
$titulo"<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".gif\" border=0>";
elseif(@
file_exists("imag/".$row["sku"]. ".png"))
        
$titulo"<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".png\" border=0>"
Siempre si existen dos archivos con extensiones diferentes va a tomar como ultimo png, dependiendo de lo que encuentre.

Por ejemplo:

Si tenes un archivo llamado Nombre.jpg, y a su vez hay otro que se llama Nombre.png, va a tomar el ultimo y lo va a mostrar en caso que encuentre a los dos.
Asi susesivamente.

Espero haber sido claro con el ejemplo.

PD: Me habia olvidado, si en la carpeta tenes archivos con la extension en mayuscula no los va a validar, porque buscaria por ejemplo un Nombre.jpg y el archivo es Nombre.JPG.

Entonces deberias por las dudas preguntar por las dos, despues que lo muestres en el img con extension en mayusculas o minusculas da lo mismo.

Código PHP:
if(@file_exists("imag/".$row["sku"]. ".jpg") or @file_exists("imag/".$row["sku"]. ".JPG"))
        
$titulo"<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".jpg\" border=0>"
A eso me referia. Saludos.

Saludos y Suerte
  #35 (permalink)  
Antiguo 01/11/2008, 15:29
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Respuesta: Validar además de jpg, imagenes gif, jpeg y png

Umm, sería al revés, pillaría el primero, si encuentra el jpg no sigue buscando el resto...

De todos modos no me parece la mejor opción, lo ideal sería guardar también la extensión en la BDD, aunque sea en un campo diferente.
  #36 (permalink)  
Antiguo 01/11/2008, 15:45
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Validar además de jpg, imagenes gif, jpeg y png

Pero no hay forma de hacerlo en la misma linea?

if (@file_exists("images/".$row["sku"]. ".jpg")) //AQUI VALIDAR .gif, .jpeg, .png
{
$titulo= "<img src=\"images/".($row["sku"]). ".jpg\" border=0>"; //AQUI VALIDAR .gif, .jpeg, .png

Lo puse como me indicaron y me da el siguiente error:

Parse error: parse error, unexpected T_ELSE in c:\appserv\www\phpmyadmin\catalogo\fns.php on line 274
  #37 (permalink)  
Antiguo 01/11/2008, 16:05
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: No se muestra la imagen que guardé en la BD

el error te dice que tienes mal cerrado o colocado un ELSE, problemas otraves de corchetes

{}

Un saludo
  #38 (permalink)  
Antiguo 01/11/2008, 16:17
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: No se muestra la imagen que guardé en la BD

si yo se que este es el error lo que no se donde estos elseif llevan los corchetes y disculpen mi ignorancia...

if(@file_exists("imag/".$row["sku"]. ".jpg"))
$titulo= "<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".jpg\" border=0>";
elseif(@file_exists("imag/".$row["sku"]. ".gif"))
$titulo= "<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".gif\" border=0>";
elseif(@file_exists("imag/".$row["sku"]. ".png"))
$titulo= "<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".png\" border=0>";

la otra cosa es si se puede hacer en la misma linea de esto:

if (@file_exists("images/".$row["sku"]. ".jpg")) //AQUI VALIDAR .gif, .jpeg, .png
{
$titulo= "<img src=\"images/".($row["sku"]). ".jpg\" border=0>"; //AQUI VALIDAR .gif, .jpeg, .png
  #39 (permalink)  
Antiguo 01/11/2008, 16:28
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: No se muestra la imagen que guardé en la BD

Esta comprobación me da bien:

if(@file_exists("fotos/".$product["sku"]. ".jpg") or @file_exists("fotos/".$product["sku"]. ".gif"))

el problema es aqui:

$size = GetImageSize("images/".$product["sku"].".jpg");
if($size[0]>0 && $size[1]>0)
echo "<td><img src=\"images/".$product["sku"].".jpg\" border=0 ".$size[3]."></td>";

porque allí debería tambien validar la gif.

Tienen alguna idea?
  #40 (permalink)  
Antiguo 01/11/2008, 16:36
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: No se muestra la imagen que guardé en la BD

if(@file_exists("imag/".$row["sku"]. ".jpg")){
$titulo= "<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".jpg\" border=0>";
}elseif(@file_exists("imag/".$row["sku"]. ".gif")){
$titulo= "<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".gif\" border=0>";
}elseif(@file_exists("imag/".$row["sku"]. ".png")){
$titulo= "<img src=\"http://www.forosdelweb.com/images/".($row["sku"]). ".png\" border=0>"; }

Última edición por jaronu; 01/11/2008 a las 19:12 Razón: me equivoque
  #41 (permalink)  
Antiguo 01/11/2008, 16:58
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: No se muestra la imagen que guardé en la BD

ya estoy agotada ahora me da este error:

Parse error: parse error, unexpected '{', expecting '(' in c:\appserv\www\phpmyadmin\catalogo\fns.php on line 269

este es el código completo:

function display_books($book_array)
{
//display all book in the array passed in
if (!is_array($book_array))
{
echo "<br>No books currently available in this category<br>";
}
else
{
//create table
echo "<table width = \"100%\" border = 0>";

//create a table row for each product
foreach ($book_array as $row)
{
$url = "show_book.php?sku=".($row["sku"]);
echo "<tr><td>";
if(@file_exists("images/".$row["sku"]. ".jpg")){
$titulo= "<img src=\"images/".($row["sku"]). ".jpg\" border=0>";
}
elseif {
(@file_exists("images/".$row["sku"]. ".gif"))
$titulo= "<img src=\"images/".($row["sku"]). ".gif\" border=0>";
}
elseif {
(@file_exists("images/".$row["sku"]. ".png"))
$titulo= "<img src=\"images/".($row["sku"]). ".png\" border=0>";
do_html_url($url, $titulo);
}
else
{
echo "&nbsp;";
}
echo "</td><td>";
$titulo = $row["titulo"]." by ".$row["author"];
do_html_url($url, $titulo);
echo "</td></tr>";

echo "</table>";
}
echo "<hr>";
}
  #42 (permalink)  
Antiguo 01/11/2008, 17:05
 
Fecha de Ingreso: octubre-2008
Mensajes: 102
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: No se muestra la imagen que guardé en la BD

creo que estan en los elseif
elseif {
(@file_exists("images/".$row["sku"]. ".png"))

Primero va el () y luego el { }
  #43 (permalink)  
Antiguo 01/11/2008, 17:07
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: No se muestra la imagen que guardé en la BD

Si como te dije arriba

Un saludo

Última edición por jaronu; 01/11/2008 a las 19:12
  #44 (permalink)  
Antiguo 01/11/2008, 17:27
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: No se muestra la imagen que guardé en la BD

pero yo lo tengo así como me dices y me da ese error.
  #45 (permalink)  
Antiguo 01/11/2008, 17:41
 
Fecha de Ingreso: octubre-2008
Mensajes: 102
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: No se muestra la imagen que guardé en la BD

arregla los Elseif

Estan: elseif { () deberia ser elseif () {
  #46 (permalink)  
Antiguo 01/11/2008, 17:43
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: No se muestra la imagen que guardé en la BD

aleluya ya resolví esa parte. Ahora la que me falta es esta que es de otra función:

if(@file_exists("images/".$book["sku"]. ".jpg") or @file_exists("fotos/".$book["sku"]. ".gif"))
{
$size = GetImageSize("images/".$book["sku"].".jpg");
if($size[0]>0 && $size[1]>0)
echo "<td><img src=\"images/".$book["sku"].".jpg\" border=0 ".$size[3]."></td>";
}
lo que deseo saber es como compruebo si es jpg o gif o png cuando se le asigna GetImageSize y cuando se le hace el echo.

Gracias.
  #47 (permalink)  
Antiguo 01/11/2008, 17:48
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: No se muestra la imagen que guardé en la BD

Ya lo resolví, muchas gracias a todos y disculpen tanta insistencia pero estaba bien perdida.
  #48 (permalink)  
Antiguo 02/11/2008, 10:33
(Desactivado)
 
Fecha de Ingreso: mayo-2008
Mensajes: 67
Antigüedad: 16 años
Puntos: 0
Respuesta: No se muestra la imagen que guardé en la BD

No entiendo por quie se enrriedan tanto si tan solo era hacer este code para mostrar sus imagenes de su bd .

Código PHP:
<?
while ($row mysql_fetch_array($result)) 

{
echo 
"<a href=\"http://www.miweb.com/catalogo/index.php?main_page=product_info&products_id=" $row["products_id"] . "\">
<img src=\"http://www.miweb.com/catalogo/images/" 
$row["products_image"] . "\" border=0 alt=\"" $row["products_name"] . "\"  width=\"100\" height=\"10%\">
</a><br><a href=\"http://www.miweb.com/catalogo/index.php?main_page=product_info&products_id=" 
$row["products_id"] . "\">".$row["products_name"]."</a><br><br>" ;
}

?>
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 17:45.