参考
#!/usr/bin/perluse CGI::Carp qw(fatalsToBrowser);print "Content-type: text/html; charset=UTF
PerlのテキストカウンターのロジックをほぼそのままPythonに移植してみました。
サンプル
#!/usr/bin/python3.6
# -*- coding: utf-8 -*-
import io , sys ,locale
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
import fcntl
# 読み書きモードで開く
fd = open("counter.txt", "r+")
# ファイルをロックする
fcntl.flock(fd.fileno(), fcntl.LOCK_EX)
count = fd.read()
icount = int(count)
icount += 1
count = str(icount)
# 書き込み位置を先頭に戻す
fd.seek(0)
fd.write(count)
fcntl.flock(fd.fileno(), fcntl.LOCK_UN)
fd.close()
print("Content-Type: text/html;charset=utf-8\n\n")
print("<html>\n")
print("<body>\n")
print("<p>あなたは")
print(count)
print("人目のお客様です</p>\n")
print("</body>\n")
print("</html>\n")
1行目は、レンタルサーバー毎に違います。
上記をcounter.cgiとして、UTF-8、改行LFで保存して転送。
counter.cgi パーミッションを755
0
上記を、counter.txtとして保存して、転送
counter.txt パーミッションを666
上記を配置して、動作させてみてくださいね。
スポンサーリンク
コメントを残す