Het volgende script:
Opmerking: er is her en der geknipt in bovenstaand stukje code, maar wat er moet staan staat er... Verder is het handig te weten dat de server waarop het draait geen GD ondersteunt boven versie 1.8, vandaar de ouderwetse methode. Het gaat dus om het stukje over de hoogte en de breedte. Overige op- en aanmerkingen natuurlijk ook wel welkom. Kunnen jullie toch niet laten, duszzz.
Ik laad dus een fotootjes op. Een .JPG bestand wel te verstaan. Het script pakt het netjes op en zet het in de directory. Vervolgens resized bovenstaand stukje code het bestand naar een kleiner formaat. Dit gaat uitstekend, -tig foto´s geprobeerd. Dan komt de klant. De eerste de beste foto die hij opload wordt groter weergegeven dan de aangegeven waardes. Andere foto´s die hij heeft upgeload werken wel, maar die ene foto niet! Dat zul je dus altijd zien he. Hoeveel je ook test. Toch niet monkeyproof (de klant is autoverkoper, dus misschien nog een nivo onder een monkey).
Persoonlijk denk ik dat het aan het .jpg bestand ligt. Het gaat om foto´s uit een digicam en die ene foto had een net iets ander formaat dan de andere foto´s waardoor ik denk dat die specifieke foto ooit eens door een programma gehaald is welke interne jpg gegevens heeft veranderd ofzo (je ziet: ik word al aardig paranoïde hiervan).
Heeft iemand ervaring hiermee? Kan het zijn dat interne jpg. gegevens je script laten struikelen? Of doe ik gewoon iets verkeerd...
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| $filename = $HTTP_POST_FILES[file][name][$i]; $extensie = substr($filename, -3); $filename = $lastid . $toe; $filename = $filename .".". $extensie; move_uploaded_file($file[$i], "site/auto/" .$filename); ## CREATE THUMBNAIL $img = "site/auto/" . $filename; $imgsize = getimagesize($img); $img = imagecreatefromjpeg($img); if ($imgsize[0] >> $imgsize[1]) { $ratio = ($imgsize[0] / 130); $breed = 130; $hoog = round($imgsize[1] / $ratio); } else { $ratio = ($imgsize[1] / 130); $hoog = 130; $breed = round($imgsize[0] / $ratio); } $thumb = imagecreate($breed,$hoog); imagecopyresized($thumb,$img,0,0,0,0,$breed,$hoog,$imgsize[0],$imgsize[1]); imagejpeg($thumb, "site/auto/t_".$filename, 80); |
Opmerking: er is her en der geknipt in bovenstaand stukje code, maar wat er moet staan staat er... Verder is het handig te weten dat de server waarop het draait geen GD ondersteunt boven versie 1.8, vandaar de ouderwetse methode. Het gaat dus om het stukje over de hoogte en de breedte. Overige op- en aanmerkingen natuurlijk ook wel welkom. Kunnen jullie toch niet laten, duszzz.
Ik laad dus een fotootjes op. Een .JPG bestand wel te verstaan. Het script pakt het netjes op en zet het in de directory. Vervolgens resized bovenstaand stukje code het bestand naar een kleiner formaat. Dit gaat uitstekend, -tig foto´s geprobeerd. Dan komt de klant. De eerste de beste foto die hij opload wordt groter weergegeven dan de aangegeven waardes. Andere foto´s die hij heeft upgeload werken wel, maar die ene foto niet! Dat zul je dus altijd zien he. Hoeveel je ook test. Toch niet monkeyproof (de klant is autoverkoper, dus misschien nog een nivo onder een monkey).
Persoonlijk denk ik dat het aan het .jpg bestand ligt. Het gaat om foto´s uit een digicam en die ene foto had een net iets ander formaat dan de andere foto´s waardoor ik denk dat die specifieke foto ooit eens door een programma gehaald is welke interne jpg gegevens heeft veranderd ofzo (je ziet: ik word al aardig paranoïde hiervan).
Heeft iemand ervaring hiermee? Kan het zijn dat interne jpg. gegevens je script laten struikelen? Of doe ik gewoon iets verkeerd...
[ Voor 7% gewijzigd door Eijkb op 23-05-2003 09:40 ]
.