วันพุธที่ 21 มกราคม พ.ศ. 2558

การใช้ python CGI พื้นฐานใน ubuntu


        การใช้ python cgi ใน ubuntu นั้นจะต้องทำการสร้างโฟเดอร์ cgi-bin ขึ้นก่อนแล้วเก็บไฟล์ที่ใช้ในการเขียน python cgi
 
            การเขียนpython cgi จะเป็นการเขียนโปรแกรม python ที่สามารถแสดง html ได้ และในการเขียนนั้นต้องใส่
                        #!/usr/bin/python และ
                        print "content-type :text/html\n\n"
           โดย #!/usr/bin/python จะทำให้เห็นว่าเป็นโค้ด python และ print "content-type :text/html\n\n" คือการที่สามารถแสดง html ได้
           และการ ใช้cgi ต้องกำหนดให้ไฟล์นั้นสามารถ execution ได้โดยจะสามารถกำหนดได้ที่ properties
           
             ในที่นี้ไฟล์ที่ใช้การรันนั้นเป็นโปรแกรมสำหรับอ่าน ไฟล์ต่างๆในโฟเดอร์ cgi-bin และแสดงขนาดไฟล์ต่างๆ

#!/usr/bin/python
print "content-type: text/html\n\n"
import os
path = "/home/ubuntu/cgi-bin"
for d in os.walk(path):
    print "<br><b>"+d[0]+"</b> : "
    print "<br>"
    for f in d[2]:
        size = os.path.getsize(d[0]+"/"+f)
        print f+" : "
        print size
        print "<br>"

อธิบายโค้ด
path = "/home/ubuntu/cgi-bin"
        เป็นตัวกำหนดโฟเดอร์ที่จะใช้ในการหา
for d in os.walk(path): 
         เป็นการท่องไปในโฟเดอร์ที่กำหนดในวงเล็บของ walk() จะทำการท่องไปในแต่ละโฟเดอร์ ซึ่ง d จะเป็นตัวท่อง จะแสดงได้เป็น d=[[เป็นชื่อโฟเดอร์ที่กำลังอยู่] , [ชื่อโฟเดอร์ต่างๆในโฟเดอร์นั้น] ,[ชื่อไฟล์ต่างๆในโฟเดอร์นั้น]] และเมื่อวนครบรอบ d จะเข้าไปในโฟเดอร์ที่อยู่ในนั้น และจะดำเนินการแบบ tree
    print "<br><b>"+d[0]+"</b> : "
    print "<br>"
           แสดงชื่อของโฟเดอร์ โดยมีการเว้นบรรทัดจากโค้ด html <br> และมีการแสดงเป็นตัวใหญ่จากโค้ด html <b>ตัวใหญ่</b> ในการแสดง html จะต้องใช้ print ในการแสดง
    for f in d[2]:
            วนเพื่อแสดงไฟล์ต่างๆ
        size = os.path.getsize(d[0]+"/"+f)
            ใช้ os.path.getsize(d[0]+"/"+f) ในการวนแล้วหาค่าขนากของไฟล์ด้วย getsize ที่จะหาขนาดจากไฟล์ในวงเล็บ
        print f+" : "
        print size
        print "<br>"

ผลลัพธ์


ไม่มีความคิดเห็น:

แสดงความคิดเห็น