width e height di una immagine

  • Creatore Discussione Creatore Discussione Vale2
  • Data di inizio Data di inizio

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

ho un script che prende una immagine random da una cartella e la visualizza, è possibile sapere le dimensioni dell'immagine width e height caricata?

PHP:
<?
$percorso="cartella/";
$estensioni=array('gif','jpg','png');
$dir=opendir($percorso);
$img=array();
while(false !== ($file=readdir($dir))) {
for($i=0;$i<count($estensioni);$i++){
$estensione=substr($file,(strlen($file)-3),strlen($file));
if(in_array($estensione,$estensioni)){
$img[]=$file;
}
}
}
$ind=rand(0,(count($img)-1));
print "<img src=\"$percorso$img[$ind]\" border=\"0\"><br><br>";
echo "<font face=\"Verdana\" size=\"4\">Immagine Caricata: $img[$ind]</font><br><br>";

//getimagesize();

?>

Saluti, Valeria.
 
Per avere i files di una directory vedi glob() o scandir() quel metodo è piuttosto vecchiotto

es.
PHP:
$files = glob('cartella/*.{'.join(',',$estensioni).'}',GLOB_BRACE);

comunque per prendere l'altezza e la larghezza delle immagini ti basta gestire i primi 2 valori dell'array che ritorna da getimagesize()

es.
PHP:
$image = getimagesize('image.jpg');
$width = $image[0];
$height = $image[1];

echo 'width: '.$width.' height: '.$height;

oppure incorporare direttamente il quarto valore $image[3]
PHP:
echo '<img src="img.png" '.$image[3].'>';
 
Ultima modifica:
Ciao,

cosa ho sbagliato


PHP:
<?
$percorso = glob('cartella/*.{'.join(',',$estensioni).'}',GLOB_BRACE);

$estensioni=array('gif','jpg','png');
$dir=opendir($percorso);
$img=array();
while(false !== ($file=readdir($dir))) {
for($i=0;$i<count($estensioni);$i++){
$estensione=substr($file,(strlen($file)-3),strlen($file));
if(in_array($estensione,$estensioni)){
$img[]=$file;
}
}
}
$ind=rand(0,(count($img)-1));
print "<img src=\"$percorso$img[$ind]\" border=\"0\"><br><br>";
echo "<font face=\"Verdana\" size=\"4\">Immagine Caricata: $img[$ind]</font><br><br>";

$image = getimagesize($img[$ind]);
$width = $image[0];
$height = $image[1];

echo 'width: '.$width.' height: '.$height;

?>

Valeria.
 
Ti ho sistemato un po lo script, cosi dovrebbe andare

PHP:
<?php
$estensioni=array('gif','jpg','png'); 
$img = glob('cartella/*.{'.join(',',$estensioni).'}',GLOB_BRACE); 
$ind=rand(0,count($img)-1); 
echo "<img src=\"$img[$ind]\" border=\"0\"><br><br>"; 
echo "<font face=\"Verdana\" size=\"4\">Immagine Caricata: $img[$ind]</font><br><br>"; 

$image = getimagesize($img[$ind]); 
$width = $image[0]; 
$height = $image[1]; 

echo 'width: '.$width.' height: '.$height;
 
Ciao,

Ok solo un'ultima modifica se possibile.

Nel nome dell'immagine caricata ora mostra anche il path della cartella


Immagine Caricata cartella/nome_immagine.ext

si può togliere la visualizzazione del percorso,


Valeria.
 
Ciao,

Ok solo un'ultima modifica se possibile.

Nel nome dell'immagine caricata ora mostra anche il path della cartella


Immagine Caricata cartella/nome_immagine.ext

si può togliere la visualizzazione del percorso,


Valeria.
Se vuoi modificare solo il nome esterno prova usando basename()

es.
PHP:
echo "<font face=\"Verdana\" size=\"4\">Immagine Caricata: ".basename($img[$ind])."</font><br><br>";
 

Discussioni simili