ここから本文です

<?php if (isset($_POST['msg']) and isset($_POST['name']) and isset($_POST['t...

アバター

ID非公開さん

2015/3/411:29:21

<?php
if (isset($_POST['msg']) and isset($_POST['name']) and isset($_POST['title']) and isset($_POST['time']) and isset($_POST['id'])) {

$msg = $_POST['msg'];
$name = $_POST['name'];
$title = $_POST['title'];
$id = $_POST['id'];
$time = $_POST['time'];

file_put_contents('./log.cgi', $name . "\t" . $title . "\t" . $msg . "\t" . $id . "\t" . $time . "\n", FILE_APPEND | LOCK_EX);

header('location: ./');
}
?>


簡単な掲示板アプリを作ってるのですが名前、タイトル、内容をスマホ側で送信してサーバーで受信した文をlog.cgiの先頭に入力した文を追加したいです。だけどうまく行きません。どうすれば良いでしょうか?

閲覧数:
58
回答数:
2
お礼:
500枚

違反報告

ベストアンサーに選ばれた回答

agu********さん

2015/3/411:46:30

>だけどうまく行きません。

「うまく行きません」だけでは現象が把握出来ません。「どうなるのか」を書いてください。


>log.cgiの先頭に入力した文を追加したい

先頭に挿入するのか最後に追加するのか、どちらでしょうか?スクリプトの記述は「最後に追加」になっているようですが・・・

もしも先頭に挿入するなら、今現在のデータを全部読込んで書き戻さないと出来ません。テキストファイルの宿命です(これが面倒なのでSQLiteでもいいのでDB使いたくなります)。
更新時は(今のまま)最後に追加するようにして読込んで使う方で「全部読込んで(file)逆順にする(array_reverse)」とかの方が楽だと思います。

  • アバター

    質問者

    ID非公開さん

    2015/3/411:50:11

    すいませんでした、今の状態だと送信したら下に追加されてしまいます。

    log.cgiの先頭に挿入したいです

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この回答は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜1件/1件中

sen********さん

2015/3/414:27:18

他の回答者の方にたいしての応答で、現在はファイルの最後の行に追加されてしまうとありました。
ちょっとせこいけどそれなら
ファイルを読み込む&gt;変数にファイルの内容全部格納&gt;入力データと変数を結合&gt;それをファイルに上書き
これでどう?

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる