¡Advertencia!
Este tema no ha tenido respuestas en más de un mes. Recuerda que si deseas añadir una nueva debes cumplir con las normas de la web.
Hola, pues mi problema es el siguiente...
Tengo un while que me saca las imágenes de un directorio, luego muestro un foreach que me las ordena por nombre. El problema es que quiero mostrar las dimensiones de la imagen y no he podido.
Ya intenté con getimagesize, filesize y otros que no recuerdo.
AlexRE si ves esto ayúdame por favor.
Tengo un while que me saca las imágenes de un directorio, luego muestro un foreach que me las ordena por nombre. El problema es que quiero mostrar las dimensiones de la imagen y no he podido.
Ya intenté con getimagesize, filesize y otros que no recuerdo.
AlexRE si ves esto ayúdame por favor.
Usuario de confianza.
¿De qué forma has invocado a getimagesize() y de qué forma has intentado sacar la información de las dimensiones de la imagen? Con esta misma función se puede obtener, no sé si lo habrás utilizado bien o te habrá devuelto algún error.
getimagesize() espera una cadena como argumento (hay un segundo argumento opcional que no nos hará falta utilizar en este caso) que corresponde a la ruta completa de la imagen.
La información que obtengamos de la función la guardaremos en una variable que llamaremos por ejemplo "tam":
Si da error el código anterior, quizá tengas que anteponer la cadena "http://" con el dominio de la web en la cadena:
Si tampoco ha habido problemas con las líneas de código anteriores, $tam ahora es un array de 4 componentes, del cual solo nos interesarán los dos primeros que contienen información del ancho y del alto de la imagen, en este orden.
Así ya podrás mostrar esta información:
getimagesize() espera una cadena como argumento (hay un segundo argumento opcional que no nos hará falta utilizar en este caso) que corresponde a la ruta completa de la imagen.
La información que obtengamos de la función la guardaremos en una variable que llamaremos por ejemplo "tam":
$tam = getimagesize($folder . $file);
/* Partiendo del código del anterior hilo que abriste, asumiendo que $folder es la
cadena del directorio de la imagen y $file el nombre del archivo de la imagen. */
Si da error el código anterior, quizá tengas que anteponer la cadena "http://" con el dominio de la web en la cadena:
$tam = getimagesize("http://miweb.com/" . $folder . $file);
Si tampoco ha habido problemas con las líneas de código anteriores, $tam ahora es un array de 4 componentes, del cual solo nos interesarán los dos primeros que contienen información del ancho y del alto de la imagen, en este orden.
echo $tam[0]; // => Ancho de la imagen
echo $tam[1]; // => Alto de la imagen
Así ya podrás mostrar esta información:
echo "El tamaño de la imagen es de " . $tam[0] . "x" . $tam[1];
Perro viejo de Habbo y de HabboStium. Y lo mismo en la vida real, pero sin el "perro".
AlexRE, gracias por ayudarme pero aún no he podido con el código.
Tengo lo siguiente:
El código me devuelve la palabra "array".
Te agradecería infinitamente que me ayudaras.
Tengo lo siguiente:
<?php
$folder = "images/background/";
$gestor = opendir($folder);
$content = 0;
$dir = array();
while($file = readdir($gestor)){
if($file != "." && $file != ".."){
$content++;
$dir[] = $file;
}
}
sort($dir);
foreach($dir as $file){
$filename = basename($file,'.png');
$size = getimagesize($folder.$file);
echo "<li class='content'>
<div class='data'>
<div class='image' style='background-image:url($folder$file);'>
<div class='selection'></div>
</div>
<div class='inner'>$filename<br>$size</div>
</div>
</li>";
}
?>
El código me devuelve la palabra "array".
Te agradecería infinitamente que me ayudaras.
Usuario de confianza.
Normal, no puedes hacer eso, te está avisando que es un array y no una variable simple xd No puedes mostrar lo que vale cada elemento de un array (lista) haciendo un echo a la variable entera sin más. Tienes que hacerlo elemento por elemento, especificando el número de índice entre corchetes a continuación del nombre del array.
Por ejemplo:
Esto lo que hará con el resto del código que has escrito, es mostrar el nombre del archivo y el tamaño de la siguiente forma:
También puedes utilizar el cuarto elemento del array ($size[3]):
Aunque te devolverá una cadena con el tamaño de la imagen de la siguiente forma:
Por ejemplo:
21 <div class='inner'>$filename<br>$size[0]x$size[1]</div>
Esto lo que hará con el resto del código que has escrito, es mostrar el nombre del archivo y el tamaño de la siguiente forma:
·
Imagen1
20x20
·
Imagen2
46x35
... etc
También puedes utilizar el cuarto elemento del array ($size[3]):
21 <div class='inner'>$filename<br>$size[3]</div>
Aunque te devolverá una cadena con el tamaño de la imagen de la siguiente forma:
Imagen1
width="20" height="20"
·
Imagen2
width="46" height="35"
... etc
Perro viejo de Habbo y de HabboStium. Y lo mismo en la vida real, pero sin el "perro".
Gracias hombre, ¿Qué haría Habtium sin ti?
PD: Si quieres ya puedes cerrar el tema.
PD: Si quieres ya puedes cerrar el tema.
Usuario de confianza.
Lo damos por resuelto entonces, pero los temas no se cierran por esto, simplemente se dejan caer
Perro viejo de Habbo y de HabboStium. Y lo mismo en la vida real, pero sin el "perro".