Software: Apache/2.2.3 (CentOS). PHP/5.1.6 uname -a: Linux mx-ll-110-164-51-230.static.3bb.co.th 2.6.18-194.el5PAE #1 SMP Fri Apr 2 15:37:44 uid=48(apache) gid=48(apache) groups=48(apache) Safe-mode: OFF (not secure) /var/www/html/manage/develop_person_depart/ drwxr-xr-x |
Viewing file: Select action/file-type: <?php header("Content-type: image/png"); $img = ImageCreate(300, 300); //สร้างรูปขนาด 300x300 ImageColorAllocate($img, 255, 255, 255); //กำหนดพื้นรูปเป็นสีขาว $degrees = array(); //สร้างตัวแปร $degrees เป็นอาร์เรย์ว่างไว้ก่อน $diameter = 200; //กำหนดขนาดเส้นผ่านศูนย์กลางของแผนภูมิวงกลม $radius = $diameter / 2; //เก็บขนาดรัศมีของวงกลมไว้ในตัวแปร $radius $sum = array_sum($data); //หาผลรวมของข้อมูลทั้งหมด for ($i=1; $i<=3; $i++) { //คำนวณขนาดของมุมตามค่าของข้อมูล โดยเก็บไว้ในตัวแปรชนิดอาร์เรย์ชื่อ $degrees $degrees[$i] = ($data[$i] / $sum) * 360; } $red = ImageColorAllocate($img, 255, 0, 0); $blue = ImageColorAllocate($img, 0, 0, 255); $green = ImageColorAllocate($img, 0, 150, 0); $yellow = ImageColorAllocate($img, 255, 255, 0); $black = ImageColorAllocate($img, 0, 0, 0); $white = ImageColorAllocate($img, 255, 255, 255); //เก็บค่าสีไว้ในอาร์เรย์ เพื่อความสะดวกตอนเทสีลงไปในแต่ละเซคเตอร์ของแผนภูมิ $arrColor = array($red, $blue, $green, $yellow, $black); $last_angle = 0; //กำหนดมุมที่จะเริ่มวาดเซคเตอร์ //วาดเซคเตอร์ (sector) ของแต่ละข้อมูลในแผนภูมิวงกลม for ($i=1; $i<=5; $i++) { //วาดส่วนโค้ง ImageArc($img, 150, 150, $diameter, $diameter, $last_angle, ($last_angle + $degrees[$i]), $black); //กำหนดค่ามุมของเซคเตอร์ที่จะถูกวาดในรอบถัดไป $last_angle += $degrees[$i]; /* คำนวณหาพิกัด (x, y) ตรงส่วนปลายของเส้นโค้ง เพื่อจะได้ใช้ฟังก์ชั่น ImageLine() ลากเส้นไปหาได้ถูกต้อง */ $end_x = round(150 + ($radius * cos($last_angle * pi() / 180))); $end_y = round(150 + ($radius * sin($last_angle * pi() / 180))); //ลากเส้นจากจุดศูนย์กลางของวงกลมไปยังปลายส่วนโค้ง ImageLine($img, 150, 150, $end_x, $end_y, $black); } $prev_angle = 0; $pointer = 0; for ($i=1; $i<=5; $i++) { $pointer = $prev_angle + $degrees[$i]; $this_angle = ($prev_angle + $pointer) / 2; $prev_angle = $pointer; //คำนวณหาพิกัด (x, y) ตรงส่วนปลายของเส้นโค้ง $end_x = round(150 + ($radius * cos($this_angle * pi() / 180))); $end_y = round(150 + ($radius * sin($this_angle * pi() / 180))); //คำนวณหาพิกัด (x, y) ของจุดที่อยู่กึ่งกลางเซคเตอร์ เพื่อใช้ฟังก์ชั่น ImageFill() เทสีลงไป $mid_x = round((150 + ($end_x)) / 2); $mid_y = round((150 + ($end_y)) / 2); //เทสีลงไปที่พิกัด ($mid_x, $mid_y) ซึ่งเป็นจุดกึ่งกลางของแต่ละเซคเตอร์ ImageFill($img, $mid_x, $mid_y, $arrColor[$i - 1]); } ImagePNG($img); ImageDestroy($img); ?> |
:: Command execute :: | |
:: Shadow's tricks :D :: | |
Useful Commands
|
:: Preddy's tricks :D :: | |
Php Safe-Mode Bypass (Read Files)
|
--[ c999shell v. 1.0 pre-release build #16 Modded by Shadow & Preddy | RootShell Security Group | r57 c99 shell | Generation time: 0.006 ]-- |