การใช้ 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>"
ผลลัพธ์



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