• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:phpの時間の条件)

phpの時間の条件とは何か?

このQ&Aのポイント
  • 他人が作ったプログラムの修正で、ある時間が経過したらファイルをクリアする条件
  • clearstatcache()関数とfilemtime()関数を使用して時間を確認
  • 10800は3時間を表す

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

えーっと、10800ってのは秒数… つまり3時間で消去って事だと思われます。 例えば10時間に設定するんでしたら、そこの数字を「36000」にすればOKと思われます。 試しにそこを3600に設定してみてください 1時間で消去されると思われます。

roxyfan
質問者

お礼

ありがとうございます。すみません、初歩的なことを聞いてしまいました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • C言語でファイルを出力

    ファイルの中に変数をいれて複数のファイルをつくろうとしたのですが、 できたファイルの後に?マークがついてきます。 file = fopen("filename.txt", "w"); for(j=0; j<30; j++){ fprintf(file ,"%d.dat\n",j ); } fclose(file); file2 = fopen("filename.txt", "r"); として、ファイル名を書いたファイルをつくってから、 for(k=0; k<30; k++){ fgets(fp,sizeof(fp),file2); file_out = fopen(fp,"w"); 省略 fprintf(file_out, %e %e \n",a ,b); fclose(file_out); } fclose(file2); をして、30個のファイルを出力すると、 0.dat? 1.dat? 2.dat? . . . 29.dat? というファイルができてしまいます。 ファイルの中はしっかりできています。 なにか解決法を知っている方がおりましたら、どうか教えて下さい。

  • phpでファイルが削除できない

    こんにちは。 ファイル名の書かれたdir.txtを開いて、その中から1日以上経過したファイルを削除するtime.phpを作成しようと思っています。 実行してみると、24時間経過したファイルがあっても 「Warning: unlink() [function.unlink]: Permission denied in C:\Program Files\xampp\htdocs\test\time.php on line 33」 というエラーがでて削除できない 実行結果にprintするように指定していない$imaの数値「1128673152」が表示される。 のですが、どこに間違いがあるのでしょうか? time.phpの内容 ---------------------------------------------------------------------- <html> <body> <?php // ファイルを読み込み専用でオープンする $fp = fopen('dir.txt', 'r'); // 終端に達するまでループ while (!feof($fp)) { // ファイルから一行読み込む $line = fgets($fp); $line = rtrim($line); // ファイルの更新時間を調べる $kousin = filemtime("$line"); // 今の時刻 $ima = time(); // 経過時間を計算する $keika = $ima - $kousin; // 出力する print $line; print "<br>\n"; print $ima; print "<br>\n"; print $kousin; print "<br>\n"; print $keika; print "<br>\n"; clearstatcache(); if ( $keika > 86400 ) { unlink( "$file" ); } } // ファイルをクローズする fclose($fp); ?> </body> </html> ----------------------------------------------------------------------

    • ベストアンサー
    • PHP
  • Cでのファイルからの入力およびファイルへの出力

    こんばんわ。質問があります。Cでのファイルの入出力についてなんですが、「fscanf」と「fprintf」を用いてあるデータファイルからデータを取り込んで処理をしてファイルに書き出すプログラムを作成したのですが、私が作成したプログラムの場合、まずfscanfでファイルをすべて読み込んでしまって、それから処理をして書き出すというプログラムなのですが、この方法ではなく、はじめに最初の1行だけを読みこんでその1行だけを処理して書き出し、次に2行目だけを読み込んで処理して書き出し、そして3行目を読み込んで処理・・・・という風に1行ごとに読み込みおよび書き込みを行っていくプログラムを作成したいのですがどのようにプログラムを組んでよいのか分かりません。アドバイスがいただけると幸いです。よろしくお願いいたします。 ちなみに私が作成したプログラムは下記のようなものです。 #include <stdio.h> #define NDATA 10000 #define NMAX 40 main() { double x[NDATA], y[NDATA], z[NDATA]; double xx[NDATA], yy[NDATA], zz[NDATA]; int i, n=0 FILE *in_file, *out_file; char in_filename[NMAX], out_filename[NMAX]; printf("Input filename: "); scanf("%s", in_filename); in_file = fopen(in_filename, "r"); while(fscanf(in_file, "%lf %lf %lf", &(x[n]), &(y[n]), &(z[n])) != EOF) n++; fclose(in_file); for(i=0; i<n; i++) xx[i] = x[i]*y[i]; yy[i] = y[i]*z[i]; zz[i] = z[i]*x[i]; printf("Output filename: "); scanf("%s", out_filename); out_file = fopen(out_filename, "w"); for(i=0; i<n; i++) fprintf(out_file, "%f %f %f\n", xx[i], yy[i], zz[i]); fclose(out_file); }

  • 時間制限について

    携帯のホームページをつくっています。 アクセスしてから60秒間は「A」と表示し、60秒を過ぎるとは「B」と表示させようと考えています。 そこで <?php $file = "test.dat"; $a = file ($file); $fp = fopen ($file , 'w'); fwrite ($fp , date ('Y/m/d H:i:s')); foreach ($a as $line) { list($time) = $line; if (strtotime($time) > time() - 60) { echo 'A'; }else { echo 'B'; } } fclose($fp); ?> というような感じにしてみました。 けれど、更新するたびに$timeも動いてしまい、常にBと表示されてしまいます。 最初にアクセスした時間を固定する良い方法はございませんでしょうか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPでファイルの書き換え

    PHPのファイル操作について悩んでおります。 存在するHTMLファイルを読み込み、 1行目だけを削除して、別のHTMLとして保存し、 それを表示するPHPを考えています。 ソースは下記のとおりなのです。 最初にコピーをしておいて、それを操作するようにしています。 元のファイルが壊れるのが怖いので。。。 flock($fp, 1); 以降がどうしたものかと悩んでいます。 どなたかご教授いただければ幸いです。 何卒よろしくお願いします。 -----PHPソース----- $in_file = "***1.html"; $out_file = "***2.html"; copy($in_file,$out_file); $fp = fopen($out_file, "r+"); flock($fp, 1); $str = fgets ($fp,4024); $str = ""; fseek($fp,0); fputs($fp, $str); flock($fp, 3); fclose($fp); include($out_file);

    • ベストアンサー
    • PHP
  • PHPでpopenでファイル出力

    下記のようにプログラムを作成しておりますが、 検索結果全体を読み込むことができません。 全て8000バイトくらいしか読み込むことができません。 何故でしょうか?? | more という文をgrep に追加してもできませんでした。 $fp_r = popen('nkf -e -Lu '.$fileName.' | grep \''ああ'\'',"r"); //ファイルの内容を全て読み込む $body=fread($fp_r,filesize($fileName)); $fp = fopen($preFile, "w"); chmod($preFile,0777); flock($fp, LOCK_EX); fputs ($fp, $body); flock($fp, LOCK_UN); fclose($fp); pclose($fp_r);

    • ベストアンサー
    • PHP
  • phpのlock処理について

    phpのlock処理について 頻繁に書き込みされるファイルが飛ばないようにロックをしているのですが、 (アクセスログを保存) phpのロック処理を調べていると 一方ではこれでよい、もう一方ではこれでは意味がないなど 色々な事が書かれており、いまいち理解できません。 wモードで開くと強固なロックは不可能なのでしょうか。 以下のようにしているのですが ロックの意味はないでしょうか。 //ロック専用ファイルを開く $flock=fopen("lock.txt","w"); //ロック専用ファイルをロック flock($flock,LOCK_EX); //書き込むファイルを連結して代入 $lineall = implode('', $lines); //書き込み用のファイルを開く $fp=fopen($log_file,"w"); fwrite($fp, $lineall); fclose($fp); //ロック用ファイルのロック解除 flock($flock, LOCK_UN); fclose($flock); プログラムが1から私が作成したものではなく、 ちょくちょく消えてしまうことからロック処理をしたいのと 処理の問題でwモードでの書き込みでないとどうもゴミが入ってしまうようですので (r+でやってみましたが空行などのゴミが沢山入ってしまいました) wモードでの強固なロック方法があればと思うのですが・・・。 お手数をおかけしますがご教授いただけますと幸いです。

    • ベストアンサー
    • PHP
  • php、fgets関数について質問です。

    質問させてください。 phpのfgets関数についてなのですが、 $filename = fopen("http://ほにゃらら.com", "r"); while (!feof($filename)) { $naiyo = fgets($filename); echo $naiyo; } fclose($file_handle); で、ファイル内容の全体を出力するということらしく、実際に出力できたのですが、ファイルの特定の一部を出力するにはどうすればいいのでしょうか? 例えば、読み込んだページ内容の<span id="ほにゃらら">から</span>の間を出力するなどは可能なのでしょうか? 当方、phpを最近勉強し始めた人間ですが、どなたかご教授下さい!

    • ベストアンサー
    • PHP
  • 変数内の文字列を空にできない

    ファイルに文字列を改行などを加えながら格納し、条件にそってファイルから取り出し表示します。 その後ファイルの中身、取り出しと表示に使った変数を空にしたいと思って作ったwindowsプログラムの一部で下記のようにしているのですが 一回目のoutを表示すると正しく表示されるのですが それ以降,前の文字列が半端に混じって表示されます。 word.txtの中身は空になってるのを確認したのですが woかoutの中身が綺麗にクリアされていないみたいです。何故でしょうか? 解決策を教えて下さい、お願いします。 FILE *words; int a; char lo[256], wo[256], out[256]; //文字列をファイルに出力 words = fopen("word.txt" , "a") fprintf(words , lo); if(a>0) fprintf(words, "\n"); else fprintf(words , " "); fclose(words); //ファイルから指定サイズの要素を入力 words=fopen("word.txt", "r"); fread( wo, sizeof( char ), 256, words ); wsprintf(out, "%s", wo); //DrawTextへ fclose(words); //ファイルの中身を破壊 words=fopen("word.txt", "w"); fclose(words); //変数内の文字列を消す strcpy(out, ""); strcpy(wo, "")

  • 0と1のファイルへの書き込み、出力

    c言語で0と1の乱数を生成し、ファイルに出力したいのですが、出力がおかしくなってしまいます。 正しく0と1をファイルに書き込み、出力するにはどうしたらいいでしょうか。 わかる方いらっしゃいましたら教えてください。 お願い致します。 #include<stdio.h> #include <stdlib.h> #include <time.h> #define max 3000000 #define nrand(n) (int)((double)n*rand()/RAND_MAX) /* 0以上n未満の整数を返す */ int main() {   FILE *Wf;   char W_filename[20];   int *W=(int *)malloc(sizeof(int) * max);   printf("入力ファイル名 : "); scanf("%s",W_filename);   if( ( Wf=fopen(W_filename,"w") ) == NULL ) printf("ファイルを開けません\n");   else   {     for(i=0;i<max;i++)     {     W[i]=nrand(2);     fprintf(Wf,"%d ",W[i]);    }   }   fclose(Wf);   free(W); } 出力が ‰‱‱‰‱‱‰‱‱‰‰‰‰‱‰‱‰‱‰‰ のようになってしまいます。 Wにはちゃんと0か1が入っているみたいなのですが・・・