プログラム質問箱への投稿
記事番号00567へのフォローを投稿します。
お名前(ペンネイムで結構ですが必要です)
(
ブラウザに個人情報を覚えさせない)
電子メイルアドレス(必要です)
題名(必要です)
Home Page がある方はリンク希望先の URL を記載して下さい
会議室に載せたい内容を以下へお書き下さい (
HTMLを解釈せずにそのまま表示)
1月12日に、TADさんは書きました。 >1月12日に、Kazさんは書きました。 > >> 中身は、Perlで書いていますが、ファイルの日付・時刻を獲得するのに >>lsコマンドを使っています。 >> プロバイダは、FreeBSD+Apachなんですが、最近このようなUnixコマンド >>が、正しく実行されなくて、一覧表が全く役に立ちません。 >> >> プロバイダに問い合わせても「調査中」のまま。(^^;; >> 何かこういう現象をご存じないでしょうか? > >本現象についての情報は持ってません。m(_ _)m > >プロバイダ側で何か設定を変えてたりしないですかねぇ。 >何もしてないのに動作が変わるってのは考えにくいですよね。 > >> Perlだけでファイルの更新日付・時刻は取り出すことができるのなら >>とりあえずそれでもいいのですが・・・・ > >できるだけ、機種依存のUNIXコマンドは使用せずにperlでやった方がいいんでしょうね。 > >ちゃんとperlにもstat関数というのがあって、引数としてファイルハンドルかファイル名を >渡してあげると以下のような配列を返してくれます。 > >stat FILEHANDLE > >stat EXPR > Returns a 13-element array giving the status info for a file, either the file opened via > FILEHANDLE, or named by EXPR. Returns a null list if the stat fails. Typically used as follows: > > ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, > $atime,$mtime,$ctime,$blksize,$blocks) > = stat($filename); > >今回必要なのは、10番目の$mtimeですが、以下のような手続きでファイルの更新日付を >得られますよ。 > > $mtime = (stat($filename))[9]; > ($sec, $min, $hour, $mday, $mon, $year) = localtime($mtime); > $mdate = sprintf("%02d%02d%02d", $year, $mon + 1, $mday); > >> http://ya.sakuraweb.com/%7Ekaz/test.cgi >> >>にて、lsの結果をHTML形式ではきだすCGIも作ってみましたが、lsの結果 >>をはきださず、lsコマンドでCGI自身も終わってしまっているようです。 >> 「ソースを表示」にしても lsのあとにechoで出している /BODY /HTMLなどが >>出てこないのです。(;_;) >> これは、lsコマンドだけではないようで、dateコマンドなども結果が出力されて >>こないようです。 > >httpdのエラーログには、何か出てませんか?
ホームペーヂに戻る
nir@mvg.biglobe.ne.jp
Last Update: 2 December 1999