• 締切済み

PHP ファイル操作

PHP4を使用しているものです。 あるファイルのデータを変数にとりこんで 作業をおこなうロジックを教えてください。 変数に取り込むまででよろしいです。 そういった関数ありますか? よろしくお願いします。

みんなの回答

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.2

ファイルの中にどのようにデータが入っているのですか? 一データごとに改行しているのであれば、NO1 the845tさんの言われるとおり、 $data=file($path); で一発です。 またもしファイルの中に一行で、例えばカンマ区切りなどでデータがあるとすれば、 $data=explode(",",file($path)); となります。 もっと詳しくデータの中身を書いてください。

fm0606
質問者

補足

すみません、ファイルの種類は httpd.conf named.conf コンフファイルです。 ;,:などいろいろ存在しますが、上記のように explode(~);で一つずつ指定してやらないと いけないのですか?

全文を見る
すると、全ての回答が全文表示されます。
  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

あるファイルのデータとは? データファイルであるならば、 file();で配列にできます。

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

関連するQ&A

  • PHPでファイルを先に読み込ませる

    PHP初心者です。 私が使用したい多くの関数を用意した「functions.php」を作成しました。 関数を使用するファイルは、これを文頭で読み込ませているのですが 出来れば初期状態(外部ファイルを読み込まない状態。requireなど使わないで)で使いたいと考えています。 「.htaccess」などで「functions.php」を読み込んで、「.htaccess」そのディレクトリ以下はPHPファイルを作成したら関数を使用できるようにしたいのです。 ※ちなみに私は使用したいサーバーの管理権限はありません 「.htaccess」では無くても良いのですが、こういう方法は可能ですか?

    • 締切済み
    • PHP
  • phpで外部ファイルを取り込み変数にセットしたいです。

    phpで外部ファイルを取り込み変数にセットしたいです。 いつもお世話になっております。 外部ファイル(data.ini)を作ってphpで読み込み変数にセットして ブラウザに表示したいのですが外部ファイルを読み込む方法が わかりません。 外部ファイルの中身は 変数A=1 変数B=2 という変数が保存されています。 これを読み込んでphp側で取得、表示したいのですが 可能でしょうか?ご教示お願いします。

    • ベストアンサー
    • PHP
  • phpのform操作について

    out.html ~ ある情報を投げる → joint.php で 中継する、一時的にここで受取った情報を保管する さらにこの情報を次のページに投げる → in.php と ここで最終的に受取る。 ※注意点 ・必ずjoint.phpを中継しなければならない ・投げられた情報は変数1つで処理可能です 最初にout.htmlで入力された値をどのページに行った時でも使用できるようにしたいのですが…。 方法 1.file操作で一時的に情報を仮置きする → text.txt などと 2.session変数を使用する 3.cookieを使用する この他処理の仕方で何か良い方法ありますでしょうか? またこの場合はどれを使用すれば一番効率が良いのでしょうか? アドバイス宜しくお願いします。

    • 締切済み
    • PHP
  • PHPのファイルアップロード・ダウンロードに関して

    PHPを用いて作成したいプログラムの内容は以下の通りです。 1. htmlフォームよりファイルをアップロード(テキストファイル) 2. アップロードされたファイルの中のデータに対して別のPHPプログラムを実行 3. 2の結果をhtmlにて表示、且つ結果ファイルのダウンロード です。 行き詰まっているのは、htmlから<input type="file">を用いて送信されたファイルはPHPでは$_FILESにそのファイルに関する情報が格納されると思いますが、別のPHPプログラムを実行する際にこのグローバル変数($_FILES)は使用できません。一度、move_uploaded_fileにてどこかのディレクトリに保存したファイルを、fopenなどで読み込んで実行させするしか方法はないでしょうか?すなわち、move_uploaded_fileなしでアップロードファイル内のデータを別のPHPプログラムで実行させる方法はないでしょうか? ダウンロードに関しても同様で、PHPプログラムの実行結果が納められた変数($XXXX)をダウンロードしたい場合、どこかのディレクトリに保存せずにこれをダウンロードさせる方法はないでしょうか? どうぞよろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPの慣習的な書き方・組み方について

    PHPの面白さが分かってきて、コツコツ演習しているのですが、気になることが いくつかあるので質問しました。 問1 PHPは変数宣言をしなくていい、ということで驚いています。 でも、PHPプログラマーの方って、慣習的にどんな変数にしていますか? 接頭辞のようなものを付けているのでしょうか? たとえば、name とするよりも strName のほうが、なんとなく分かりやすいような気がします。 このあたりは、どうなのでしょうか? 問2 a.php b.php c.php という3つのファイル内では、同じ関数を使っているとします。こんなとき、それぞれのファイルに 同じ関数を書き込むよりも、ひとまとめにしたほうがいいと思います。 たとえば、function.php なんてファイルを作って、a.php、b.php、c.php の各ファイルの冒頭で、 include して、関数を使うたびに呼び出したほうが、読みやすくなると思いました。 なんでもかんでも、ひとつのファイルに書いてしまうと、メインの処理がどうなっているのか、分から なくなるので、このあたりは、慣習的にどんな書き方をしているのかなと思って質問しました。 問3 問2とややかぶりますが、入力チェックなども関数化して、別ファイルにまとめて記述するものでしょう か? そして、必要になったら呼び出してチェックする。このあたりは、どんな書き方をしていますか? 問4 自作の関数、ファイルの名付け方について。 自分で作った関数を命名する際に、f_ とか fun ではじまる接頭辞を付けるものでしょうか? 他者の書いたプログラムを参考にしていると、突然、知らない関数が出てきて、自作の関数だと気付く ことがあります(接頭辞が付いていれば、もっと早く気付いたと思います)。 また、php_editor なる便利なツールがあったので、使い始めたのですが、プロジェクト名やphpファイル、 関数ファイルのファイル名には、なんらかの規則性をもたせていますか? たとえば、プロジェクト名なら、pro と接頭辞をつけたりしますか? という質問です。 組み方が我流になる前に、実際に仕事で使っている方は、慣習的にどんな書き方をしているのか知りたいの ですが…。 よろしくおねがいします。

    • ベストアンサー
    • PHP
  • $_POST[***]を2つのPHPファイルで受けるには

    ずっと考えていたのですが、どうも良い方法がわからないので投稿しました。htmlファイルから、post[***]で変数を送信したいのですが、普通は1つのphpファイルに送信するところを2つのPHPファイルに送信する方法がないものか考えています。何か良い方法はないのでしょうか。もしかして、こういうときにどうにかしてクラスとか作って継承とかして、変数の値を継承して使うんでしょうか?

    • ベストアンサー
    • PHP
  • PHPでの文字操作について

    簡単にいうとPHPで暗号化ロジック関数を作成しようと考えています。 ※この暗号化は復号出来る事を前提に考えています。 簡単なレベルで元の文字列をまず16進数状態に変換して戻す という事が出来ないか?と考えています。 これが出来ればビットに数字を足したり引いたりした値を暗号化 文字列としてできるのではないかと思っています。 一応現在文字列の16進数表記は以下の手順で出来るという事が 分かったのですが、16進数表記にしたデータを元の文字列に 戻す方法が分かりません。 何か良い方法が在れば宜しくお願いします。 少し調べたら16進数から文字列に戻すにはエンディアンを考慮~ という説明があるのですが、私にはハッキリと分からない状態です。 【16進数化テスト】 <?php ### 元データの設定 $data01 = "テストデータ"; ### 16進数表記化 $data02 = bin2hex($data01); ### 暗号化情報の表記 echo "暗号前:" . $data01; echo "暗号後:" . $data02; ?>

    • ベストアンサー
    • PHP
  • PHP 設定ファイルとユーザ定義関数

    ある機能を満たすためのライブラリ(lib.php)を作成しました。 このlib.phpはユーザ定義関数の寄せ集めです。 それぞれのユーザ定義関数では、設定ファイル(config.php)に記述されている共通変数を利用します。 このconfig.phpなのですが、ユーザ定義関数ごとにincludeする以外の方法はあるでしょうか? lib.php function one() { $hensu1... $hensu2... ...処理; } function two() { $hensu1... ...処理; } .... config.php $hensu1 = 1; $hensu2 = 2; ... という構成です。 function one,function twoでconfig.phpの変数を利用したいのですが、lib.phpの先頭でinclude "config.php"をしてもfunctionの中では変数のスコープが有効にはならず、 lib.php function one() { include "config.php"; ...処理; } function two() { include "config.php"; ...処理; } としています。 PHP5を使用しています。 function one() { global $hensu1... } としたらよいのでしょうか? どなたかアドバイスいただけますと幸いです。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP4.1でファイル読み込みできない

    次のような方法でファイルの読み込みをしていますが、4.1の環境だと右上の地球アイコンが回りっぱなしでページが表示されなくなります。 $fo=@fopen($data_file,"r") or err("データファイルを読み込めません"); flock($fo, LOCK_EX); $i=0; while(!feof($fo)){ $text_buff=fgets($fo); if(trim($text_buff)){ $buff[$i]=$text_buff; } $i++; } flock($fo, LOCK_UN); fclose($fo); file関数で読み込んだら問題なかったので、現在はfile関数を使っていますが、どのコマンドが問題なのかわかりません。 file関数だとfilelockされないので、同時アクセスされた場合データの破壊があると聞いておりますのでできればfopenで処理したいと考えています。 php.iniなどで回避可能なのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHP ファイル操作について

    PHPのファイル操作についてご教授ください 同じサーバー内に置いている同じ環境の別ドメインに設置した 同じPHPの挙動が異なる為、その原因を教えて頂きたいです。 ファイルへ保存した場合の改行の有無についてです。 以下一部を抜粋しています。 初期状態(abc.txtの中身) -----ここから----- すもも<>あんず<>すいか<> -----ここまで----- ▼以下を実行 [入力内容] data01:すもも data02:あんず data03すいか $log_file = 'abc.txt'; $lines = ""; $fp = fopen($log_file, "rb+"); set_file_buffer($fp, 0); flock($fp, LOCK_EX); $freadsize = @fread($fp,filesize($log_file)); $freadsize = chop($freadsize); $lines = explode("\n",$freadsize); $lnum = count($lines); for($i=0;$i<$lnum;$i++){ $lines[$i] = "$lines[$i]\n"; } array_unshift ($lines, "$data01<>$data02<>$data03<>$blank"); rewind($fp); $lnum = count($lines); for($i=0;$i<$lnum;$i++){ if(preg_match("/^[0-9]{10}<>+/",$lines[$i])){$check = 1;}else{$check = 0;} if($check == 1){ fputs($fp,$lines[$i]); } } ftruncate($fp, ftell($fp)); flock($fp, LOCK_UN); fclose ($fp); ▼実行後(abc.txtの中身) りんご<>ばなな<>ぶどう<> すもも<>あんず<>すいか<> 別のドメイン下では、改行されません。 りんご<>ばなな<>ぶどう<>すもも<>あんず<>すいか<> この同じPHPを同じサーバー内の別ドメインで 実行した場合、改行される場合と改行されない場合があるのです。 ドメインが異なる以外は同じ環境のはずなのですが、挙動が異なります。 改行をして保存したいのですが、改行されないドメイン下のPHPは array_unshift ($lines, "$data01<>$data02<>$data03<>$blank"); ↓ array_unshift ($lines, "$data01<>$data02<>$data03<>$blank\n"); としています。 何故挙動が異なるのでしょうか? 文字コード、改行コードは同じです。

    • ベストアンサー
    • PHP