Foros del Web » Programando para Internet » PHP »

Solo me falta el toque final...

Estas en el tema de Solo me falta el toque final... en el foro de PHP en Foros del Web. De nuevo... Subir imagenes junto con texto a la base de datos, las imagenes al servidor enn una carpeta y a su vez, miniaturas para ...
  #1 (permalink)  
Antiguo 04/08/2004, 18:35
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 15 años
Puntos: 0
Solo me falta el toque final...

De nuevo...

Subir imagenes junto con texto a la base de datos, las imagenes al servidor enn una carpeta y a su vez, miniaturas para esas imagenes...

Muestra el texto pero no la imagen miniatura, solo el cuadrito con la x

Formulario:

<form action="subir.php" method="post" enctype="multipart/form-data" name="insertar" id="insertar">
<table width="255">
<tr>
<td width="91"><div align="left">Producto:</div></td>
<td width="152"><div align="left">
<input name="producto" type="text" id="producto" size="33" align="left">
</div></td>
</tr>
<tr>
<td><div align="left">Modelo:</div></td>
<td><div align="left">
<input name="modelo" type="text" id="modelo" size="33" align="left">
</div></td>
</tr>
<tr>
<td><div align="left">Descripci&oacute;n:</div></td>
<td><div align="left">
<textarea name="descripcion" cols="25" rows="4" id="descripcion"></textarea>
</div></td>
</tr>
<tr>
<td><div align="left">Precio:</div></td>
<td><div align="left">
<input name="precio" type="text" id="precio" size="33" align="left">
</div></td>
</tr>
<tr>
<td><div align="left">Stock:</div></td>
<td><div align="left">
<input name="stock" type="text" id="stock" size="33" align="left">
</div></td>
</tr>
<tr>
<td><div align="left">Imagen:</div></td>
<td><div align="left">
<input name="imagen" type="file" id="imagen" size="33" align="left">
</div></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="subir" value="Ingresar Registros">
</div></td>
</tr>
</table>
</form>

El subir.php

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

if (isset (
$subir)) {
print 
"$imagen = imagen ";
print 
"$imagen_name = imagen_name ";
print 
"$imagen_type = imagen_type ";
print 
"$imagen_size = imagen_size ";

$newimage sprintf ("fotos_linea_blanca/%s"$imagen_name);
move_uploaded_file($imagen$newimage);

$sql "INSERT INTO linea_blanca (id, producto, modelo, descripcion, precio, stock, imagen, nombre, peso, tipo) VALUES ('', '$producto', '$modelo', '$descripcion', '$precio', '$stock', '$newimage', '$imagen_name', '$imagen_size', '$imagen_type')";
$result mysql_query($sql);
}
?>
Hasta aqui todo bien, la imagen se guarda en la carpeta.

El ver.php

Código PHP:
<?
/// mostrar los resultados encontrados//////
while($registro=mysql_fetch_array($res)) 

echo 
"<div align='left'>";
echo 
"<a href='modificar_linea_blanca.php?id=".$registro[id]."'>Modificar Registro</a><br><br>";
echo 
"<img src=thumbjpeg($imagen,125)><br>";
echo 
"Producto: ".$registro[producto]."<br>";
echo 
"Modelo: ".$registro[modelo]."<br>";
echo 
"Descripción: ".$registro[descripcion]."<br>";
echo 
"Precio: ".$registro[precio]."<br>";
echo 
"Stock: ".$registro[stock]."<br><br>";
echo 
"<a href='borrar_linea_blanca.php?id=".$registro[id]."'>Borrar Registro</a><br>";

?>
Aqui solo les incluyo la llamada de registros pues el original es bastante largo, con paginacion y demas...
Para llamar la imagen uso
echo "<img src=thumbjpeg($imagen,125)><br>";
lo cual tome de este mismo foro, al igual que casi todo el codigo...

el include ver_imagen.php

Código PHP:
<?
function thumbjpeg($imagen,$altura) { 
     
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande". 
     
$dir_thumb "thumbs/"
     
// Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg", 
     // el thumbnail se llamaría "tn_imagen1.jpg" 
     
$prefijo_thumb "tn_"

     
// Aquí tendremos el nombre de la imagen. 
     
$nombre=basename($imagen); 
     
// Aquí la ruta especificada para buscar la imagen. 
     
$camino=dirname($imagen)."fotos_linea_blanca/"

     
// Intentamos crear el directorio de thumbnails, si no existiera previamente. 
     
if (!file_exists($camino.$dir_thumb)) 
          @
mkdir ($camino.$dir_thumb0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb); 

     
// Aquí comprovamos que la imagen que queremos crear no exista previamente 
     
if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) { 
          echo 
$camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n"
          
$img = @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n"); 

          
// miramos el tamaño de la imagen original... 
          
$datos getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n"); 

          
// intentamos escalar la imagen original a la medida que nos interesa 
          
$ratio = ($datos[1] / $altura); 
          
$anchura round($datos[0] / $ratio); 

          
// esta será la nueva imagen reescalada 
          
$thumb imagecreatetruecolor($anchura,$altura); 

          
// con esta función la reescalamos 
          
imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]); 

          
// voilà la salvamos con el nombre y en el lugar que nos interesa. 
          
imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre); 
     }
?>
Lo extraño es que el error que me arroja despues de todo el proceso es:

Parse error: parse error in /home/nj/public_html/ver_imagen.php on line 39
/tmp/phpEorOic = imagen danny.jpg = imagen_name image/pjpeg = imagen_type 25111 = imagen_size

Donde la linea 39 es: ?>
  #2 (permalink)  
Antiguo 04/08/2004, 18:51
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 16 años, 4 meses
Puntos: 9
Código PHP:
<? 
function thumbjpeg($imagen,$altura) { 
     
// Lugar donde se guardarán los thumbnails respecto a la carpeta donde está la imagen "grande". 
     
$dir_thumb "thumbs/"
     
// Prefijo que se añadirá al nombre del thumbnail. Ejemplo: si la imagen grande fuera "imagen1.jpg", 
     // el thumbnail se llamaría "tn_imagen1.jpg" 
     
$prefijo_thumb "tn_"

     
// Aquí tendremos el nombre de la imagen. 
     
$nombre=basename($imagen); 
     
// Aquí la ruta especificada para buscar la imagen. 
     
$camino=dirname($imagen)."fotos_linea_blanca/"

     
// Intentamos crear el directorio de thumbnails, si no existiera previamente. 
     
if (!file_exists($camino.$dir_thumb)) 
      {    @
mkdir ($camino.$dir_thumb0777) or die("No se ha podido crear el directorio ".$camino.$dir_thumb); }

     
// Aquí comprovamos que la imagen que queremos crear no exista previamente 
     
if (!file_exists($camino.$dir_thumb.$prefijo_thumb.$nombre)) { 
          echo 
$camino.$dir_thumb.$prefijo_thumb.$nombre." NO existía<br>\n"
          
$img = @imagecreatefromjpeg($camino.$nombre) or die("No se encuentra la imagen $camino$nombre<br>\n"); 

          
// miramos el tamaño de la imagen original... 
          
$datos getimagesize($camino.$nombre) or die("Problemas con $camino$nombre<br>\n"); 

          
// intentamos escalar la imagen original a la medida que nos interesa 
          
$ratio = ($datos[1] / $altura); 
          
$anchura round($datos[0] / $ratio); 

          
// esta será la nueva imagen reescalada 
          
$thumb imagecreatetruecolor($anchura,$altura); 

          
// con esta función la reescalamos 
          
imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]); 

          
// voilà la salvamos con el nombre y en el lugar que nos interesa. 
          
imagejpeg($thumb,$camino.$dir_thumb.$prefijo_thumb.$nombre); 
    } } 
?>
Te faltó cerrar algunas llaves en tus IF y por eso no respetó la función.
  #3 (permalink)  
Antiguo 04/08/2004, 18:59
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 15 años
Puntos: 0
Nada amigo, sigue sin mostrar las miniaturas. He llegado a pensar que mi servidor tiene problemas con lo del GD, porque he probado mil, veces los codigos de thumbnails y nada. Pero ya pase el phpinfo en mi server y si, tengo activada el GD 2.1 y tanto
  #4 (permalink)  
Antiguo 04/08/2004, 19:01
 
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 278
Antigüedad: 15 años
Puntos: 0
Hay algo tambien extraño... cuando hago el proceso, la imagen se guarda en la carpeta fotos_linea_blanca pero la miniatura ni siquiera se crea porque reviso en el server la carpeta thumbs y esta vacia...
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 12:55.