• 締切済み

書き込みファイルの読み込み

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

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

みんなの回答

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.1

特に問題ないです。 ただし、きちんとエラー処理はしましょうね。

関連するQ&A

  • 他サーバーにあるファイルに書き込みを行いたい。allow url fopen関連?

    いつもお世話になっております。 環境:PHP5,SQLite3 サーバA…サーバBへの書き込み処理をするPHPファイルを置く サーバB…書き込みが行われるファイルを置く(ファイルが無ければ作成される) サーバAに置いたPHPスクリプトファイルで、 サーバBに置いてあるファイル(例えばPHPファイル)に書き込み処理をする場合、 PHPやサーバソフト(Apache)の設定を、 どのようにすれば良いでしょうか。 allow url fopenなどをちょこっと調べてみたのですが、 よく分かりませんでした。 サーバA、B両方のphp.iniに対し、 何らかの設定をする必要があるのでしょうか。 それとも、片方だけで良い?! また、ファイルの書き込み権限の設定も関係してくる話だと思います。 書き込み側と、書き込まれる側の権限設定(chmod)についても、 併せて教えて頂けると助かります。 どなたか、よろしくお願いします。

    • ベストアンサー
    • PHP
  • ファイルへの書き込みについて

    test.phpというスクリプトを作成しています。 ファイルを指定して指定文字列"ABCD"を書き込むという処理です。 =========================== $MOJIRETU="ABCD" $fp=fopen("./TEST/TEST.html", "w"); fputs($fp,$MOJIRETU); fclose($fp); =========================== という処理です。 ですが、どうしてもファイルが作成されません。 実際に書き込むファイルは存在しませんが、 マニュアルを見るとfopenはファイルが未存在の 時は作成すると書いてありました。 権限(?)の問題かと思い、test.phpを'777'に変更しましたが 作成されませんでした。 どのような問題が推測されるでしょうか? 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • ファイルの書き込みについて

    ファイルの書き込みに関する質問です。 下のコードでは、 3行目「$ptr=fopen("kekka.txt", "w"); //ファイルを開く」 に問題があるというエラーが出ます。 しかし、文法的には問題はないと思うのですが・・・。 サーバーには、"kekka.txt"というファイルが置いてあります。 何かアドバイスがありましたら、よろしくお願いいたします。 <?php $x = "こんにちは";  $ptr=fopen("kekka.txt", "w");   //ファイルを開く    flock($ptr, LOCK_EX);      //ファイルをロックする      fputs($ptr, $x);      //書込む    flock($ptr, LOCK_UN);       //ロックを解除する  fclose($ptr);            //ファイルを閉じる ?>

    • ベストアンサー
    • PHP
  • 新しいファイルの書き込み ファイルができたり/出来なかったり 

    $fp3 = fopen("ent.txt,"w"); とオープンして fputsで書き込み fclose("ent.txt"); でクローズしています このプログラムをlocalhost/a.phpとかで実行すると 出力されるはずの、ent.txtファイルが exploreで見えないのです IEの更新ボタン(再実行?)を押すと ent.txtが見えます WindowXPにApacheとphpをインストールして 実行しています またこのルーチンを関数化して外部ファイルに置き 実行する時に、includeでもってくるように 変えましたが、ロジック上は問題ないと 思うんですが よろしくお願いします

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

    ffftpを利用して、WindowsからLinuxサーバーにファイルを転送しました。 しかし、書き込み禁止、実行ファイルであるにも関わらず、上書きされてしまいました。 上書きされた後はオーナーは読み書き有効となり、実行が禁止となってました。他は、読み込みのみ有効。 質問ですが、もともとが書き込み禁止のままで、ファイルを上書きは可能なのでしょうか? ffftpの設定に強制的に転送できるモードがあるんでしょうか?それとめ、Linuxサーバー上のなんらかの設定が影響しているんでしょうか? お詳しいかたご教示ください。

  • ◆速い、ファイル読み込みは?

    いつもお世話になっております。 $all_listには1000以上のURLが含まれています。 それを1ページずつ読み込みある単語を探すという処理を作っています。 しかし、file関数が遅い。。。その為、サーバがダウンしないか心配。 phpのfile関数は極端に遅いという事が他の書き込みでもあるのですが、他に良い関数や他の方法のアイディアがある方がいればご教授下さい。 fopen等も試してみましたが。。。 for($a = 0; $a < ($num - 1); $a++) { $html = @file("$all_list[$a]"); if($html){ foreach( $html as $key => $value ){ $rcd = ereg("$search", $value); if($rcd){ $INFO[][url] = $all_list[$a] } } } } @fclose($html);

    • ベストアンサー
    • PHP
  • PHPでCSVの読み込みができません。

    PHP4+ApacheでWebアプリケーション(問い合わせフォーム)を開発しています。 普段はApache+PHPを導入したWindowsマシンでコーディングしていて、CSVファイルも開きます。 しかし、開発サーバ(Linuxマシン、ApacheとPHPのバージョンは同じ)へアップロードすると Windowsマシンで読み込みができていたCSVファイルが読み込みができなくなります。 CSVファイルの文字コードShift-JISで各項目は""でくくってあります。1行あたり10項目で20行固定です。 CSVファイル読み込みする理由は定義ファイルとして読み込んむためで、各行には宛先や問い合わせ内容・タイトル等を設定し、定義ファイルの番号(3桁の数字)によって問い合わせフォームを切り替えています。 ちなみにPHPの文字コードはUTF-8です。 例) "f01","パソコンセミナー申込","","","","","","","","" "f02","インターネットに触れてみよう。","","","","","","","","" "f03","申込期限2009年1月末,"","","","","","","","" "f04","hoge@aaa.jp","hage@bbb.jp","debu@ccc.jp","","","","","","" "f05","support@ddd.jp","","","","","","","",""  :  : "f20","○○○","20","△△△","","","","","","" 1行目は問い合わせフォーム名、2行目と3行目はフォーム内容のコメント、4行目は担当者宛のメールアドレス、5行目は自動応答用のメールアドレス、6行目以降は問い合わせフォームの任意設定項目(f20の場合、○○○:好きな食べ物は?、20:文字数20文字、△△△:3つ以内で記入してください)を表します。 問い合わせフォーム本体PHPと入力チェック等を行う外部ライブラリPHPを用いています。現状は、本体PHPでCSVをfopenで開いて、CSV読み込みにはfgetcsv()を使用しています。指定行以内でループさせ、該当の行の該当項目を指定しています。 CSVファイルはテンプレートのCSVファイルをコピー関数で複製・リネームしていますが テンプレートファイル内の各項目(各行先頭項目)はしっかりコピーされています。 Windows環境下では mb_convert_encodingを使用して、読み込み・書き込み(Shift-JIS⇔UTF-8変換)ともに動いています。 しかし、Linux環境下では、まったく読み込みすらできません。 Linuxで読み込みができないのがどうしてもわかりません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ファイルの書き込みについて。

    普通のログファイルを書き込む処理をしているのですが、 エラーになります。 何がおかしいのかわかりません。 $IN = fopen($fname, "a"); エラーが表示されます。 Warning: fopen("/log/20040802.log", "a")

    • ベストアンサー
    • PHP
  • windowsサーバでファイルに書き込みできない

    こんにちわ 先日サーバの移転でアイル(windows)に移項しました。 使用していたphpスクリプトでファイルに書き込む部分がなぜか動作せず、ログファイルの保存が出来なくなってしまいました。 $log ="log.csv"; $reg_com = $_POST['name'].",".$_POST['union']; $fp = fopen($log, "a"); flock($fp, LOCK_EX); fputs($fp, "$reg_com\n"); flock($fp, LOCK_UN); fclose($fp); Linuxサーバの再は上記で問題なくファイルに書き込みされていたのですが、なぜ動作しないのでしょうか? スクリプトの動作は、postされた内容をプログラムファイルと同じ階層のlog.csvに追記していくものになります。 問題点のご指摘をお願いします。

    • 締切済み
    • PHP
  • Apache2 - CGIで出力されたファイルの所有者を変更するには?

    Gentoo LinuxでApache2を動かしています。 Apache2の質問です。 UserDirで実行された(mod_userdirで処理される)CGIまたはPHPスクリプトが出力するファイル/ディレクトリの所有者を、リクエストされたユーザディレクトリのuid, gid へ自動的に変更する方法を教えてください。 レンタルサーバーではこのような動作を見掛けるし一般的だと思うのですが設定方法がわかりません。 よろしくお願いします。

専門家に質問してみよう