• 締切済み

書き込みデータフォルダの切り替え

jump.php ./001/log ./002/log ----------------------------- 下記PHPのログファイルの書き込みをフォームから(001・002・・) $name=$_POST[name]; で得た値のフォルダへ振り分けてデータの書き込みしたいのですが うまくできません。 ----------------------------- 改変前 $logfile = $logdir."/$y-$m-$d.txt"; 改変後 $logfile = $name."/".$logdir."/$y-$m-$d.txt"; ----------------------------- ご指導よろしくお願いいたします ----------------------------- $logdir ="log"; // if($_POST[r]){ $y=$_POST[y]; $m=$_POST[m]; $d=$_POST[d]; $H=$_POST[H]; $i=$_POST[i]; $word=$_POST[word]; $name=$_POST[name]; $pass=$_POST[pass]; if($pass != $adpass){die("パスワードが違います"); } if( eregi("[^0-9]",$d) || eregi("[^0-9]",$m) || eregi("[^0-9]",$y)){ die("半角数字のみ有効です。"); } if(!checkdate($m,$d,$y)){die("その日は存在しません。"); } $logfile = $name."/".$logdir."/$y-$m-$d.txt"; if(file_exists($logfile)){ $lines = file($logfile); $fp = @fopen($logfile,"w"); for($j=0;$j<count($lines);$j++){ fputs($fp,$lines[$j]); } @fputs($fp,$H.":".$i.$word.$name."\n"); @fclose($fp); }else{ $fp = @fopen($logfile,"w"); @fputs($fp,$H.":".$i.$word.$name."\n"); @fclose($fp); } header("Location: $_SERVER[PHP_SELF]"); exit; } -----------------------------

みんなの回答

  • mpx
  • ベストアンサー率71% (149/209)
回答No.2

ANo.1 つづき >> どちらもなにも表示されませんでした。 なにも表示されないと言うことは、もっと根本的なところに問題が有ったようですね。 POSTされた各変数やその加工結果を代入した変数が意図通りに取得できているかをテストプログラムを埋め込みながら 個々に確認していく必要が有りそうです。 お力になれず申し訳有りませんでした。 一点だけ、アドバスを追加させて頂くと、 もしもPHPの自動型変換の仕組みを理解されていない場合は、 フォルダー名には001,002などの数字だけでなくA001やA002等のように 英字も混ぜておく方がトラブルが減ると思います。

  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

確認のために  echo $logfile; を一度実行してみましょう もしも、$name部分の最初の 00 が消えていたら 下記コードで再度確認してみてください $logfile = sprintf("%03d",$name)."/".$logdir."/$y-$m-$d.txt";

100POINT
質問者

お礼

ありがとうございました。 早速試してみましたが、 echo $logfile; $logfile = sprintf("%03d",$name)."/".$logdir."/$y-$m-$d.txt"; どちらもなにも表示されませんでした。 お手数おかけいたしました。

関連するQ&A