Foros del Web » Programando para Internet » PHP »

Thumbnails con archivos en el servidor

Estas en el tema de Thumbnails con archivos en el servidor en el foro de PHP en Foros del Web. Hola de nuevo, esta vez vengo con el famoso y trillado tema de las imagenes, estuve leyendo muchos temas aca, las faq, etc, pero no ...
  #1 (permalink)  
Antiguo 12/05/2006, 16:06
Avatar de Watas  
Fecha de Ingreso: diciembre-2005
Ubicación: Caracas
Mensajes: 151
Antigüedad: 18 años, 3 meses
Puntos: 0
Thumbnails con archivos en el servidor

Hola de nuevo, esta vez vengo con el famoso y trillado tema de las imagenes, estuve leyendo muchos temas aca, las faq, etc, pero no logro entender, en fin este es el problema, necesito crear thumbnails o por lo menos que la imagen al subrila se redimensione.
Las imagenes las subo a travez de este codigo:

Código PHP:
<?php 
if (isset($_POST['submit'])) {  
    if(
is_uploaded_file($_FILES['fichero']['tmp_name'])) { // verifica haya sido cargado el archivo 
        
if(move_uploaded_file($_FILES['fichero']['tmp_name'], $_FILES['fichero']['name'])) { // se coloca en su lugar final 
                    
echo "<b>Upload exitoso!. Datos:</b><br>"
            echo 
"Nombre: <i><a href=\"".$_FILES['fichero']['name']."\">".$_FILES['fichero']['name']."</a></i><br>"
            echo 
"Tipo MIME: <i>".$_FILES['fichero']['type']."</i><br>"
                    echo 
"Peso: <i>".$_FILES['fichero']['size']." bytes</i><br>"
                        echo 
"<br><hr><br>"
        } 
    } 

// A continuación el formulario 


?> 

<form action="<?php echo $_SERVER['../admin/PHP_SELF'?>" method="post" enctype="multipart/form-data"> 
    Archivo: <input name="fichero" type="file"> 
    <input name="submit" type="submit" value="Upload!">  
</form>
estas imagenes van a servidor, las mismas las llamo a traves de la ruta que esta en la BD.

lo que no logro entender es como puedo crear el thumbnail de la imagen con la ruta nada mas.

con este codigo llamo a la tabla

Código PHP:
<?php 
    $conexion
=mysql_connect("localhost","usuario","contraseña") or die ("no se ha podido conectar a la BD"); 

    
mysql_select_db("base de datos") or die ("no se ha podido seleccionar la BD"); 
$carro=$_SESSION['carro'];         
$result mysql_query("SELECT * FROM Inventario WHERE Lanzamientos LIKE '%si' ORDER BY Id DESC LIMIT 1");
while (
$row mysql_fetch_array($result)) { 


echo 
"<div align='right'><img src='$row[7]' /></div><br />";        
echo 
"<span class='Estilo31'>Artista: $row[1]</span><br><span class='Estilo31'>T&iacute;tulo: $row[2]</span><br><span class='Estilo31'>Precio: $row[3]</span><br><span class='Estilo31'>Formato: $row[5]</span><br><br>";
if(
$carro[md5($row['Id'])]['identificador']!=md5($row['Id'])){
?>
el $row[7] es en dnd se encuentra las rutas de las imagenes.

en las FAQ, hay este codigo para crear los thumbnails

Código PHP:
<?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)."/"

     
// 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); 
     } 
}  
$imagen=$_GET['imagen']; 
// cabeceras HTTP adecuadas al formato MIME del archivo .. 
header ("content-type: image/jpeg"); 
thumbjpeg($imagen,$altura);

}



?>
lo que no comprendo es como a partir del codigo de las FAQ puedo crear estas miniaturas de las imagenes ya que estas estan en rutas y no son archivos binarios.
Si alguien sabe como hacerlo se lo agradeceria mucho que me ayudaran en esto.
Gracias y saludos
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:54.