Klopt. De header is het eerste dat verstuurd moet worden, daar mag niks tussen zittenquote:Op vrijdag 23 maart 2007 10:55 schreef Chandler het volgende:
Als ik een echo voor de header zet krijg ik gewoon de melding dat de headers niet verstuurd kunnen wordenen zonder het resize gedeelte gaat het gewoon helemaal goed
ImageJpeg spuugt geen header uit maar wel contents als je geen filename hebt opgegeven. Verder kunnen we bar weinig zo, zonder codequote:Op vrijdag 23 maart 2007 11:09 schreef Chandler het volgende:
Klopt, maar nu vraag ik me af of de volgende functies een header uitspugen!
imagecreatefromjpeg
ImageCreateTrueColor
ImageCopyResized
ImageJpeg
ImageDestroy
Want kan daar helaas niets over vinden op php.net...
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 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 | { $new = "./gallery/org-" . $id . "-" . $_FILES['foto1']['name']; $new1 = "./gallery/" . $id . "-" . $_FILES['foto1']['name']; if (move_uploaded_file($_FILES['foto1']['tmp_name'], $new)) { function cSize($im_width, $im_height, $size) { if ($im_width >= $im_height) { $factor = $size / $im_width; $new_width = $size; $new_height = $im_height * $factor; } else { $factor = $size / $im_height; $new_height = $size; $new_width = $im_width * $factor; } return array("width" => round($new_width, 0), "height" => round($new_height, 0)); } // insert into db mysql_query("INSERT INTO `fotos` (`vis_id`, `foto`) VALUES ('" . $id . "', '" . $_FILES['foto1']['name'] . "');"); // kijken of we het plaatje moeten verkleinen // alle teksten vasthouden. ob_start("ob_end"); // is the orginal file still existing. $im = @imagecreatefromjpeg($new); // file is opend for editing if ($im) { // set up thumbnail sizes $im_width = imageSX($im); $im_height = imageSY($im); if (500 >= $im_width && 500 >= $im_height) { // doe niets ImageJpeg($im, $new1, 75); } else { $new_size = cSize($im_width, $im_height, 500); // create new image. $new_im = ImageCreateTrueColor($new_size['width'], $new_size['height']); // thumbnail the image. ImageCopyResized($new_im, $im, 0, 0, 0, 0, $new_size['width'], $new_size['height'], $im_width, $im_height); // make image as jpeg. ImageJpeg($new_im, $new1, 75); // remove build settings. (cache) ImageDestroy($im); ImageDestroy($new_im); } } ob_end_clean(); } } |
1 2 | exit(); |
gedaan voordat ik je post zagquote:Op vrijdag 23 maart 2007 11:23 schreef JeRa het volgende:
ImageJpeg spuugt geen header uit maar wel contents als je geen filename hebt opgegeven. Verder kunnen we bar weinig zo, zonder code
Ik zou zeggen, comment de hele body van die functie eens uit en schakel weer regels in totdat het niet meer werktquote:Op vrijdag 23 maart 2007 11:31 schreef Chandler het volgende:
Volgens mij hoeft dat er niet eens in te staan
Uit nieuwsgierigheid: Is dit vanwege de netheid, strictheid of omdat de kans groot is dat het dan totaal niet werkt?quote:Op vrijdag 23 maart 2007 11:33 schreef JeRa het volgende:
[..]
En als een sidenote, een Location-header moet normaal gesproken een complete URI bevatten, en geen relatieve paden.
Uit de RFC:quote:Op vrijdag 23 maart 2007 11:36 schreef Geqxon het volgende:
[..]
Uit nieuwsgierigheid: Is dit vanwege de netheid, strictheid of omdat de kans groot is dat het dan totaal niet werkt?
Dus vanwege netheid, strictheid én omdat er een kans is dat sommige systemen er anders op vastlopenquote:14.30 Location
The Location response-header field is used to redirect the recipient to a location other than the Request-URI for completion of the request or identification of a new resource. For 201 (Created) responses, the Location is that of the new resource which was created by the request. For 3xx responses, the location SHOULD indicate the server's preferred URI for automatic redirection to the resource. The field value consists of a single absolute URI.
Location = "Location" ":" absoluteURI
Dát, en een additionele mogelijkheid is natuurlijk het hanteren van configfilesquote:Op vrijdag 23 maart 2007 11:42 schreef Geqxon het volgende:
Al lijkt mij dat niet handig voor standaardscript dat op veel server gedeployed moet worden. Al kun je dan wel weer met $_SERVER spelen
Ja, ik geloof dat je het als een bmp moet voorstellen, echt elke pixel stelt een byte voor. Tenminste dat las ik ergens toen ik er mee aan de slag ging.quote:Op vrijdag 23 maart 2007 12:24 schreef Chandler het volgende:
Ps. Is het logisch als je een bestand van 2MB hebt deze 20MB aan geheugen in beslag neemt met imageCreateFromJpeg?
Als hij het naar een rauw formaat omzet, kan dat best logisch zijn. Ik heb geen flauw idee dusquote:Op vrijdag 23 maart 2007 12:24 schreef Chandler het volgende:
Ps. Is het logisch als je een bestand van 2MB hebt deze 20MB aan geheugen in beslag neemt met imageCreateFromJpeg?
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |