ทำไมผมถึงมีปัญหา ตลอดเลยครับ เรื่องของการ ทำกราฟ ในPHP มันขึ้นงี้อะครับ
ทำไมผมถึงมีปัญหา ตลอดเลยครับ เรื่องของการ ทำกราฟ ในPHP มันขึ้นงี้อะครับ
Warning: Cannot modify header information - headers already sent by (output started at C:\AppServ\www\45678.php:9) in C:\AppServ\www\45678.php on line 10
PNG IHDR๔6๊ฆ PLTEฐะาzฐดW D/ภภ+IDATxํ]0F๊SะV๓*๐&ฺ=ถ]E ฏa^ i’vbวถl]]’ณd๛CWษn๐€|ณฦ๏%๘‘hUd…฿ฐc,{๓&dท๖“้฿ฝูฒckฝฝ\ปiํฎฒ์ผmฬAอnฺ๓โํ๖ญืฒ_:๗!d?uฯ๔{ฉต?@ึaWฐK๋๊ฐueR/ตร–Iิว]ุfฝ-๒n7วิ6๋ณw็๙ฑ&ทู๖&นอz{ณMmณฯ.ตอ๚์.7งไ6๋}๎_Inณฉ๖ฮ~LmณO‘uุ์2็:€:f]N๊ๅwุ๘ฤฯฯy์ุีํQm6ฟร์ๆูf๓[ไุ~ฐqm6ฟEญฦตูฒ;lณEื=-mkณe฿บุูlั็=}ฒฌรฎ`/yฎจC|ึลง^ษ;๘%s;vu{@-ู&ฦ๖ฐฦ>ปษณ4๖ฮ"3ํ 6๋Efฺรn—์qc{ุl6้ณดYกw>ฐอ ~qm๖iณป=\Pฌ M=;ฐ๘29ปบfeฺฤศพ:อฟีนaฟฬ่ผmึป๖ุฒฎดYyo๗ทY&5ถ;๋oณ5์6+ฟ๓๕ทู’sX}ฅอพ@ึaWฐง๋๊P&๋ึSOบร,%พtฮcวฎnดY้๕ุ>อJท‘}a6+ '๖I•nะ#๛ยฟ@ี๙iญ'mถฒ}าf+q๛ฐต?eึaWฐว๋๊P:๋–Rฏ^ฟ^ฮcวฎnฟถY้9์ฒซอJฯใํท6๋ฝษ\ผML์ื6ซeืfS7หพ;oณ:๖ฏ฿อๆฃTึfU์ท6๛ขY]มrฎจ\ึ ๘๏ร`ว]ฬO๏– -้m๗1ฝo[~"ถl๏ญuฎ?ุ่ปุgท}ซํผm\?ปํ[k็m7ปb^ฯ~๙wญท๎jT๚โ.w๛mw฿pฏbYฑฟถ^€ฟน๙€ ลIENDฎB`
ผมควรจะแก้ที่ไหนแก้ยังไง ทั้งที่ โค้ดก็ไม่ผิด ครับ
โค้ดมันครับ
Code (PHP)
<?
header("Content-type: image/png");
// ค่าของข้อมูลที่ต้องการสร้างกราฟ
$data[1]="30";
$data[2]="40";
$data[3]="50";
$data[4]="60";
$data[5]="70";
$data[6]="80";
$data[7]="90";
$data[8]="100";
$img = ImageCreate(500, 310); //สร้างรูปขนาด 250x320
ImageColorAllocate($img, 255, 255, 255); //กำหนดพื้นรูปเป็นสีขาว
//กำหนดสีที่ใช้ในการวาด
$line = ImageColorAllocate($img ,176, 208, 210);
$dataFill = ImageColorAllocate($img, 122, 176, 180);
$black = ImageColorAllocate($img, 87, 32, 324);
//สร้างเส้นตรงในแนวตั้ง ซึ่งเป็นเส้นที่ขนาบขอบด้านซ้ายของแผนภูมิแท่ง
ImageLine($img, 50, 50, 50, 50, $line);
$bartick = 20; //ความหนาของแผนภูมิแท่งแต่ละอัน
$barspace = 30; //ระยะห่างระหว่างแผนภูมิแท่งแต่ละอัน
$barmax = 400; //ความยาวสูงสุดของแผนภูมิแท่ง
$baseX = 50; //จุดเริ่มต้นในแนวนอนของแผนภูมิแท่ง
$baseY = 30; //จุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง
//วนลูปเพื่อสร้างแผนภูมิแท่ง
for ($i=1; $i<=count($data); $i++) {
//หาจำนวนเความกว้างของกราฟ
$percent[$i]=$data[$i];
$data[$i]=$data[$i]*$barmax /100;
/* สร้างตัวแปรอาร์เรย์เก็บพิกัดของมุมต่างๆของแผนภูมิแท่ง เพื่อนำไปกำหนดให้ฟังก์ชั่น
ImagePolygon() */
$setBar[$i] = array($baseX, $baseY,
($baseX + $barmax), $baseY,
($baseX + $barmax), ($baseY + $bartick),
$baseX, ($baseY + $bartick));
//ใช้ฟังก์ชั่น ImagePolygon() เพื่อสร้างแผนภูมิแท่ง
ImagePolygon($img, $setBar[$i], 4, $line);
//วาดแผนภูมิแท่ง โดยใช้ฟังก์ชั่น ImageFilledRectangle()
ImageFilledRectangle($img, $baseX, $baseY, ($data[$i]+50), ($baseY + $bartick), $dataFill);
//แสดงข้อความเพื่อบอกค่าของแผนภูมิแท่งแต่ละอัน
ImageString($img, 3, ($baseX - 10), $baseY + 5, $i , $black);
ImageString($img, 3, ($data[$i] + 55), $baseY + 5,
number_format($percent[$i]) ."%", $black);
$baseY += $barspace; //ขยับจุดเริ่มต้นในแนวตั้งของแผนภูมิแท่ง
}
ImagePNG($img);
ImageDestroy($img);
?>
Tag : - - - -
Date :
2010-01-04 18:00:45
By :
nerobenz
View :
1574
Reply :
6
ใช้ editor ตัวไหนเซฟไฟล์ครับ
editor บางตัวจะมีให้เลือก save/no save BOM ให้เลือก no save ครับ
Date :
2010-01-04 18:30:55
By :
num
ใช้ Macromedia Dreamweaver 8 ครับผม
Date :
2010-01-04 18:39:15
By :
nerobenz
ดูที่ menubar > edit > preference > New Document > checkbox (include unicode signature (BOM) ครับ
Date :
2010-01-04 18:56:32
By :
num
ผมได้ทำตามที่บอกแล้วปากฎว่า เป็นเหมือนเดิมครับ หรือว่ามันต้องใช้ตอนไหนไมครับ
Date :
2010-01-04 19:54:54
By :
nerobenz
หรือจะเป็นเพราะมีช่องว่างก่อน เครื่องหมาย <? ครับ
ช่องว่างหรือขึ้นบรรทัดใหม่<?
header("Content-type: image/png");
แก้ปัญหาชั่วคราว บันทึกไฟล์นี้แล้วเปลี่ยนนามสกุลเป็น .php แทนครับ
http://jquery.jitwitya.com/index.txt
Date :
2010-01-04 20:55:51
By :
num
ตามที่ คุณหนุ่ม No. 5 นั่นเลยครับ
Date :
2010-01-04 22:16:51
By :
lozomac
Load balance : Server 05