0104 | ปุ่มอัพโหลดรูปเข้า upic.me ด่วนทันใจ
Sunday, July 11th, 2010 Posted in PHP Coding, Web Server | 128 Comments »คุณสมบัติ
– upload รูปได้ทุก format ที่ upic.me รองรับ ขนาดใหญ่ได้ถึง 2MB
– เลือกอัพได้ทีละหลายๆ รูปเหมือนหน้าแรก upic.me ด้วย
– มีสถานะการ upload ขึ้นตลอดการอัพ และจะหายไปเองเมื่ออัพเสร็จ
– อัพเสร็จ code ขึ้นในกล่องข้อความทันที ไม่ต้องก๊อปวาง
– ปรับแต่งหน้าตา สีสันของปุ่มได้ตามสะดวก (ส่วนแก้ไขข้อความ จะทำ version ถัดไปครับ)
– เอาไปใช้กันได้ฟรีๆ ไม่ต้องแปะ link กลับ ไม่ต้องแปะเครดิตใดๆ ทั้งสิ้น
– ไม่เปลือง bandwidth ของ host ด้วย เพราะอัพตรงเข้ามาที่ server ของ upic.me เลย
ถ้างงยังไงลองดูตัวอย่าง code ด้านล่างได้เลยครับ
<script type="text/javascript" src="http://upic.me/js/embedupload.js"></script> <script type="text/javascript"> upic_target = "targetelement"; upic_type = "resulttype"; upic_buttoncss += "appendcss"; </script> |
upic_target => จะให้เอา code ไปแปะที่ช่องไหน
upic_type => รูปแบบ code ที่แปะ มี htmlfull / htmlthumb / bbfull / bbthumb (ถ้าไม่ระบุ จะถือว่าเป็น bbthumb ครับ)
upic_buttoncss => css เสริมสำหรับข้อความในปุ่ม เผื่ออยากแก้สีแก้รูปแบบ ใส่ไปได้เลยครับ (การใส่สี รองรับ code แบบ #abcdef เท่านั้นนะครับ)
ส่วน uploadprogress จะมีประมาณนี้ครับ
<style type="text/css"> #upic_uploader{} #upic_uploadprogress{} .progressWrapper{margin-top:5px;} .progressContainer{border-bottom:1px dotted #ddd;padding:2px;} .progressName{text-align:left;color:black;margin-left:2px;float:left;} .progressBarStatus{color:#666;text-align:right;margin:1px 1px 0 0;font-size:9px;} .red{border:solid 1px #B50000;background-color:#FFEBEB;} .green{border:solid 1px #DDF0DD;background-color:#EBFFEB;} .blue{border:solid 1px #CEE2F2;background-color:#F0F5FF;} .progressBarInProgress,.progressBarComplete,.progressBarError{clear:both;font-size:0;width:0%;height:2px;background-color:blue;margin-top:4px;} .progressBarComplete{width:100%;background-color:green;visibility:hidden;} .progressBarError{width:100%;background-color:red;visibility:hidden;} </style> |
(พอดีมันผ่าน compressor มาหลายรอบ code เลยดูยากหน่อย ขออภัยด้วยครับ)
ถ้าอยากแก้ไขหน้าตาสีสันยังไง สามารถ copy code ด้านบนไปแก้ไข แล้วใส่ต่อจาก script ได้เลยครับ
Tags: api, javascript, upicme
0102 | MRTG monitoring script for nginx
Tuesday, July 6th, 2010 Posted in IP Network, Web Server | 1 Comment »สร้างไฟล์ /root/bin/mrtg-nginx.pl ข้อมูลตามนี้
#!/usr/bin/perl # $Revision: 2 $ # $Date: 2008-09-12 15:11:40 +0300 (Fri, 12 Sep 2008) $ my %opt = ( # http link to nginx stub_status, be sure turn on stub_status in nginx conf nginx_status => 'http://localhost:80/status', # path for program what may dump web page, normaly lynx -dump # lynx => 'lynx -dump', lynx => 'wget -q -Y off -O -', ); $opt{var} = $ARGV[0] if $ARGV[0]; $opt{nginx_status} = $ARGV[1] if $ARGV[1] and $ARGV[1]=~/^http:\/\/\w+/; $opt{var} ||= ''; my $do = `$opt{lynx} $opt{nginx_status}`; if ($opt{var} eq 'req') { $do=~/^Active connections:\s*(\d+)\s*$/ms or warn "Error! Can't find data!\nIN :\n$do"; $opt{d2} = $opt{d1} = $1; } elsif ($opt{var} eq 'con') { $do=~/^\s*(\d+)\s+(\d+)\s+(\d+)\s*$/ms or warn "Error! Can't find data!\nIN :\n$do"; $opt{d2} = $opt{d1} = $3; } #elsif { $do=~/^Reading:\s+(\d+).*Writing:\s+(\d+).*Waiting:\s+(\d+)/; } else { $opt{var} = 'ERROR'; $opt{d2} = $opt{d1} = 0; warn "Error! Please read the help and set (req|con)\n"; } print "$opt{d1}\n"; print "$opt{d2}\n"; #print "$opt{up}\n" if $opt{up}; print "Nginx $opt{var}\n"; |
เสร็จแล้วสั่ง
chmod a+x /root/bin/mrtg-nginx.pl
ให้รันได้
แล้วเอาไอ้นี่ไปใส่ใน nginx.conf ส่วนของ vhost นะครับ
location /status { stub_status on; access_log off; } |
แล้วก็… อันนี้เอาไปใส่ใน mrtg.cfg
Target[nginx.newconns]: `/root/bin/mrtg-nginx.pl con` Title[nginx.newconns]: NGINX Connections PageTop[nginx.newconns]: <H1>NGINX Connections</H1> MaxBytes[nginx.newconns]: 10000000000 ShortLegend[nginx.newconns]: c/s YLegend[nginx.newconns]: Conns / sec LegendI[nginx.newconns]: In LegendO[nginx.newconns]: Legend1[nginx.newconns]: New inbound connections Legend2[nginx.newconns]: Options[nginx.newconns]: growright,nopercent Target[nginx.requests]: `/root/bin/mrtg-nginx.pl req` Title[nginx.requests]: NGINX Requests PageTop[nginx.requests]: <H1>NGINX Requests</H1> MaxBytes[nginx.requests]: 10000000000 ShortLegend[nginx.requests]: req YLegend[nginx.requests]: Req LegendI[nginx.requests]: In LegendO[nginx.requests]: Legend1[nginx.requests]: New inbound connections Legend2[nginx.requests]: Options[nginx.requests]: growright,nopercent,gauge |