array en getimagesize
Wordt
Of anders iets handiger om te veranderen misschien:
Als ik als winkel een site zou laten maken zou ik willen dat het script goed in elkaar zat en er niet met kunst- en vliegwerk een oplossing is gevonden. Zeker niet als het om een service/deel van de site gaat die klanten kunnen gebruiken.
ik voeg gewoon dit toe:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
//nu maak ik een aparte loop voor de resolutiebepaling
for ($i = 0; $i < $count; $i++) { //voor alle files
if ($_FILES['userfile']['tmp_name'][$i] != "") { //wanneer de file niet niets is
$dimensions = getimagesize($_FILES['userfile']['tmp_name'][$i]); //pak de dimensions
$breedte = $dimensions[0]; //definieer ze
$hoogte = $dimensions[1];
if ($breedte < 1200 || $hoogte < 1200) { //wanneer ze niet toegestaan zijn
$resolutie[$i] = "{$_FILES['userfile']['name'][$i]} heeft een te lage resolutie! Verwacht geen perfecte afdruk!"; //geef deze waarschuwing
}
}
if (!isset($notacceptable[$i]) && {file is geen zip})) { //wanneer het wel een plaatje is
if ($resolutie[$i] != ""){//wanneer de foutmelding bestaat
echo "<font color=\"red\">".$resolutie[$i]."</font><br>";//geef die dan
}
}
}
?>
//nu maak ik een aparte loop voor de resolutiebepaling
for ($i = 0; $i < $count; $i++) { //voor alle files
if ($_FILES['userfile']['tmp_name'][$i] != "") { //wanneer de file niet niets is
$dimensions = getimagesize($_FILES['userfile']['tmp_name'][$i]); //pak de dimensions
$breedte = $dimensions[0]; //definieer ze
$hoogte = $dimensions[1];
if ($breedte < 1200 || $hoogte < 1200) { //wanneer ze niet toegestaan zijn
$resolutie[$i] = "{$_FILES['userfile']['name'][$i]} heeft een te lage resolutie! Verwacht geen perfecte afdruk!"; //geef deze waarschuwing
}
}
if (!isset($notacceptable[$i]) && {file is geen zip})) { //wanneer het wel een plaatje is
if ($resolutie[$i] != ""){//wanneer de foutmelding bestaat
echo "<font color=\"red\">".$resolutie[$i]."</font><br>";//geef die dan
}
}
}
?>
het enige probleem is dat zipfiles ook in de acceptable types zitten, die moet ik er nog uit filteren. Want de resolutie van een zip is 0x0, dat is van latere zorg; dit werkt. Dus wat ik nu heb gedaan is gewoon een nieuwe loop gemaakt buiten mijn bestaande checkloop, omdat deze loop niet mag bepalen dat een file niet verzonden wordt, maar dat de user een waaschuwing krijgt.
Gewijzigd op 02/09/2004 09:37:00 door Joris van Rooij
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
//nu maak ik een aparte loop voor de resolutiebepaling
for ($i = 0; $i < $count; $i++) { //voor alle files
if ($_FILES['userfile']['tmp_name'][$i] != "") { //wanneer de file niet niets is
$dimensions = getimagesize($_FILES['userfile']['tmp_name'][$i]); //pak de dimensions
$breedte = $dimensions[0]; //definieer ze
$hoogte = $dimensions[1];
if ($breedte < 1200 || $hoogte < 1200) { //wanneer ze niet toegestaan zijn
$resolutie[$i] = "{$_FILES['userfile']['name'][$i]} heeft een te lage resolutie! Verwacht geen perfecte afdruk!"; //geef deze waarschuwing
}
}
if (!isset($notacceptable[$i]) && $hoogte != 0 && $breedte != 0) { //wanneer het wel een plaatje is
if ($resolutie[$i] != ""){//wanneer de foutmelding bestaat
echo "<font color=\"red\">".$resolutie[$i]."</font><br>";//geef die dan
}
}
}
?>
//nu maak ik een aparte loop voor de resolutiebepaling
for ($i = 0; $i < $count; $i++) { //voor alle files
if ($_FILES['userfile']['tmp_name'][$i] != "") { //wanneer de file niet niets is
$dimensions = getimagesize($_FILES['userfile']['tmp_name'][$i]); //pak de dimensions
$breedte = $dimensions[0]; //definieer ze
$hoogte = $dimensions[1];
if ($breedte < 1200 || $hoogte < 1200) { //wanneer ze niet toegestaan zijn
$resolutie[$i] = "{$_FILES['userfile']['name'][$i]} heeft een te lage resolutie! Verwacht geen perfecte afdruk!"; //geef deze waarschuwing
}
}
if (!isset($notacceptable[$i]) && $hoogte != 0 && $breedte != 0) { //wanneer het wel een plaatje is
if ($resolutie[$i] != ""){//wanneer de foutmelding bestaat
echo "<font color=\"red\">".$resolutie[$i]."</font><br>";//geef die dan
}
}
}
?>
Want de output van
is 0x0, dus dat filter ik zo eruit. (niet volgens het boekje, maar goed....)
Gewijzigd op 02/09/2004 11:32:00 door Joris van Rooij