• ベストアンサー

外部ファイルの読み込みと書き込み

PHPで外部ファイルにfwiteで追加書き込みを行うときに改行して下に下に書き込んでいくのが普通だと思いますが、上に上に書き込むためにはどのようにすればいいのでしょうか? また上述の方法が大変なら外部ファイルを一番下の行から読み込む方法を教えて頂けますでしょうか? よろしくお願い致します。

  • PHP
  • 回答数2
  • ありがとう数0

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

  • ベストアンサー
  • emriv
  • ベストアンサー率83% (5/6)
回答No.2

rewindが利用できると思います。 rewindはファイルポインタの位置を先頭に戻す関数です。 PHPマニュアルより引用 >bool rewind ( resource $handle ) >handle のファイル位置指示子を、 ファイルストリームの先頭にセットします。 ファイルを開く $file = fopen(ファイル名,"r+"); ポインタを先頭にする rewind($file); ファイルに書き込む fwrite($file,書き込む内容); という形で利用すれば先頭に書き込むことが可能だと思います。

参考URL:
http://php.mirror.camelnetwork.com/manual/ja/function.rewind.php

その他の回答 (1)

回答No.1

一般的な方法がどうなのか分かりませんが、 前者はfwrite()とfile_get_contents()を利用すれば出来ます。 file_get_contents()にて全てのファイルデータを取得し、 それに追加したい文字列を連結させ、 fwrite()(オープンモードは'w'か'w+')で文字列を書き込む。 後者は、file()を利用してファイルデータを配列として取得して 一番最後の添え字のデータから順に読み込む事で実現できます。

関連するQ&A

  • 外部ファイルの読み込み

    HTMLにPHPの外部ファイルを読み込みたいと考えています。 <?php include ("1.php"); ?> <html> <head> <title></title> </head> <body> <div> <?php include ("2.php"); ?> </div> </body> </html> <?php include ("3.php"); ?> こんな感じで組み込むことって可能ですか? 外部ファイルなしで普通に1つにして読みこませると大丈夫なのですが、上記のように外部ファイルとして読み込ませると、表示されません。 <html>タグの外って、基本的にだめなんですか? 教えてください。

    • ベストアンサー
    • PHP
  • 外部サーバーにあるファイルを読み込み処理をしたいものがあります。

    外部サーバーにあるファイルを読み込み処理をしたいものがあります。 LWP::Simpleのget関数を使って読み込む方法があるのを知りました。 でも、その外部サーバーにあるファイルを1行ずつ読み込んで処理がしたいです。 getで受け取ったデータをファイルに書き込んで処理するしか方法はないんでしょうか? 外部サーバーにあるファイルは1行が1つのデーターとなっていで、区切りが改行で仕切っています。 1回の読み込みで出来る方法がありましたら、知恵をお貸しください。よろしくお願いします。

    • ベストアンサー
    • Perl
  • ファイルへの書き込み

    フォームに入力されたデータをCSVファイルに書き込みたいのですが、以下のようにすると追加で書き込みはできるのですが、ずっと改行されずに1行に書き込まれてしまうので、新しいデータを入れる際に改行されるようにしたいのですが、どのようにすればいいでしょうか? $fp = fopen(TEST_FILE,"a") or die("ファイルを開けません\n"); flock($fp, LOCK_EX); fputs($fp, "aaa")."\n"; flock($fp, LOCK_UN); fclose($fp);

    • ベストアンサー
    • PHP
  • 書き込みファイルの読み込み

    PHPにて他PHPスクリプトが書き込みを行っているファイルに 対し、fopenでそのファイルを読み込みで開いても問題ありませんでしょうか? 読み込み処理中に、書き込む挙動がエラーになってしまわないか懸念してます。 Linuxサーバ PHP 4.3.10 Apache 1.3.31

    • 締切済み
    • PHP
  • PHPで外部ファイルを読み込むときの行の最後の改行の消し方について

    PHPについての質問です。 初歩的な質問ですがどうかお付き合いいただけたらと思います。 PHPで外部ファイルを読み込む際、csvファイルなどを1行ずつ読み込んだ場合、行の最後の改行まで代入されます。 例えば ////test.php/////////////// <?php $filename = list.csv; $fp = @fopen($filename,"r"); $data = @file($filename); @fclose($fp); ?> //////////////////////////// ////list.csv//////////////// 1,2,3,4,5 6,7,8,9,10 //////////////////////////// とする場合 $data[0]には 1,2,3,4,5 プラス改行のデータ $data[1]には 6,7,8,9,10 プラス改行のデータ が代入されます。 この改行のデータを除くためにはどのようにすればよいですか? 初歩的な質問で申し訳ないのですが、よろしくお願いします。

    • 締切済み
    • PHP
  • JavaScriptの外部ファイルの読み込み

    JavaScriptの外部ファイルの読み込みは、PHPファイルでも出来るのでしょうか。

  • 追加書き込みと改行コードについて

     お世話になっております。  PHPの初心者です。  PHPの追加書き込みの件で質問です。テキストファイルにテキストを追加書き込みしようと思い、以下のように書きました。 $fp = fopen('data.txt', 'a'); flock($fp, LOCK_EX); $return = fputs($fp, "$namen"); flock($fp, LOCK_UN); fclose($fp);  これでファイルに追加で書き込みはできるのですが、文末に直接つながってしまい改行されないですよね?一度書き込まれるごとに改行したいのですが、改行コードが\nでは追加で書き込みができなくなってしまいました。$returnの値がゼロになってしまいファイルに何も書き込まれなくなってしまいました。 $return = fputs($fp, "$namen\n"); ←この部分に\nを書き足しました。  文字コードはUTF-8で書き、改行コードはLFで統一しています。  PHPの改行コードについてわかる方がいましたらおしえてください。  

    • 締切済み
    • PHP
  • 外部ファイルから一部分を消去したい

    外部ファイル 123基準あいうえお 基準1かき くけこ 基準2さしす[改行] 45678基準たち つてと 基準1な にぬねの 基準2はひふ へほ[改行] ・・・(以下同様、行によって半角ペースの数が違います。) 上のような日本語を含む外部データがあります。 これをfgetsで1行読み込み、以下のようなことをしたいのですが、C言語ではどのようにすればよいでしょうか? 基準の文字を消し、かつ、基準1,2を含むのそ間の文字 も消し、別のファイルに書き出したい。 基準、基準1,2は各行に1つだけ存在し、全角文字を含みます。

  • メールアドレス・外部ファイルからの読み込み

    いつも大変お世話になっております。 現在、PHPでメールアドレスを外部ファイルにおいて、読み込ませて利用しようとしているのですが、方法がわかりません。 現在、$変数名=”メールアドレス”; として外部ファイルにおいており、include_onceでそのファイルをよみこませて、mb_send_mailで送信先にその変数名をしてしても送信できませんでした。 お手数をおかけしますが、ご教授の程、お願い致します。

    • 締切済み
    • PHP
  • 外部ファイルの読み込みで

    初心者ですがよろしくお願いいします。 外部ファイルの読み込みでLoadMovie("~.jpg")を使用しているのですが 例えばA.jpgを読み込もうとしたけれど A.jpgが見つからなかった場合の処理を設定するには どのような方法があるのでしょうか?

専門家に質問してみよう