[php] upload controllo dimensione immagine

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Ciao, come posso applicare il controllo della dimensione pixel dell'immagine ad questo codice che vi posto:

Codice:
<?php
if(isset($_POST["submit"]))
{
$percorso = $_FILES['carica_file']['tmp_name'];

$cartella = 'upload/';

$nome = $_FILES['carica_file']['name'];

$tipo_file = $_FILES['carica_file']['type'];

if ( $tipo_file == "image/jpeg" || $tipo_file == "image/pjpeg" || $tipo_file == "image/gif" || $tipo_file == "image/png") {

if (copy($percorso, $cartella.$nome)) {



// qui eseguo altre funzioni...



} else {

echo "Si sono verificati dei problemi durante l'Upload";

}

} else {

echo "Tipo di file non riconosciuto";

}
}
?>
<div align="center">
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method='POST' enctype='multipart/form-data'>
<p>Scegli  da caricare dim:  "1050x600px"</p>
<p><input type='file' name='carica_file'></p>
<p><input type='submit' name="submit" value='Carica'></p>
</form>
</div>

La dimensione che mi interessa è : 1050x600px .

come faccio controllarla?


E poi questo codice e un pezzo di codice che poi dovrei metterlo nel mio sito.

vi ringrazio molto.

buona giornata.
 
Ciao, puoi provare con la funzione getimagesize()
usa il var_dump() per vedere cosa ti restituisce e come usarlo
PHP:
<?php
$info = getimagesize($percorso);
var_dump($info);
?>
 
Ultima modifica:
e come lo aggancio al mio??

a me mi serve solo per immagini png non interlacciate e risoluzione 300 dpi..

grazie mille per l'aiuto e buona serata.
 
mi salta fuori:
array(6) { [0]=> int(1050) [1]=> int(600) [2]=> int(3) [3]=> string(25) "width="1050" height="600"" ["bits"]=> int(8) ["mime"]=> string(9) "image/png" }
 
è un array. nel primo argomento hai la larghezza e nel secondo l'altezza
non volevi recuperare questi 2 valori?
PHP:
<?php
$info = getimagesize($percorso);
$larghezza = $info[0];
$altezza = $info[1];
?>
 
ho fatto ma non va , forse ho sbagliato l'if vedi:
mi da cosi : Undefined variable on line 16
Dimensione non valida
PHP:
<?php
if(isset($_POST["submit"]))
{
$percorso = $_FILES['carica_file']['tmp_name'];

$cartella = 'upload/';

$nome = $_FILES['carica_file']['name'];

$tipo_file = $_FILES['carica_file']['type'];

if ($tipo_file == "image/png") {

$info = getimagesize($percorso);

if($larghezza == $info[0] and $altezza ==$info[1]) // qui l'errore.
{

		if (copy($percorso, $cartella.$nome)) {
		
		// qui altre cose

		} else {

		echo "Si sono verificati dei problemi durante l'Upload";

		}
}else
{
	echo "Dimensione non valida";
}


} else {

echo "Tipo di file non riconosciuto";

}
}
?>
<div align="center">
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method='POST' enctype='multipart/form-data'>
<p>Scegli  da caricare dim:  "1050x600px"</p>
<p><input type='file' name='carica_file'></p>
<p><input type='submit' name="submit" value='Carica'></p>
</form>
</div>
 
ok risolto . dimmi se era cosi:

PHP:
<?php
if(isset($_POST["submit"]))
{
$percorso = $_FILES['carica_file']['tmp_name'];

$cartella = 'upload/';

$nome = $_FILES['carica_file']['name'];

$tipo_file = $_FILES['carica_file']['type'];

if ($tipo_file == "image/png") {

$info = getimagesize($percorso);

$larghezza = 1050;
$altezza = 600;

if($info[0] == $larghezza and $info[1] == $altezza)
{

		if (copy($percorso, $cartella.$nome)) {
		
		// qui altre cose
		echo $nome; 
		echo "uplodato";

		} else {

		echo "Si sono verificati dei problemi durante l'Upload";

		}
}else
{
	echo "Dimensione non valida";
}


} else {

echo "Tipo di file non riconosciuto";

}
}
?>
<div align="center">
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method='POST' enctype='multipart/form-data'>
<p>Scegli  da caricare dim:  "1050x600px"</p>
<p><input type='file' name='carica_file'></p>
<p><input type='submit' name="submit" value='Carica'></p>
</form>
</div>

grazie mille.
 
Si, perfetto
se le misure son sempre quelle puoi fare anche cosi
PHP:
if($info[0] == 1050 and $info[1] == 600)
{
e risparmi 2 righe di codice :fonzie:
 

Discussioni simili