タグ

資料とphpに関するvespidのブックマーク (3)

  • Apocripha.net [PHP] fopen() "r+" "w+" どちらも「読み込み/書き込み共用です」 どない違うねんという話

    テキストファイルに書かれた数値を読み込んで1プラスして再書き込み。 カウンタとか、なにかのユニークな数値を管理するためによくやる手法かと思います。 で、同時アクセスされたときに読み書きの間で処理が前後すると同じ値が採番されてしまったりするので、だいたいは下記のような手順で進みますよね。(詳細なソースは省きます) fopen() でファイルオープン ↓ flock() で排他ロック ↓ fread() で読み込み ↓ 加算した値を計算 ↓ rewind() とか fseek() とかでファイルポインタを先頭に移動 ↓ fwrite() とかで書き込み ↓ flock() でロック解除 ↓ fclose() でファイルを閉じる ありふれた処理ではあるのですが、そういった処理はたいていDB処理することが最近多かったので、はて fopen() では読み書き両方したいときにはどんな感じで読み込めばよ

  • ファイルロックについて - phpspot

    PHPではflockによるファイルのロックが出来ます。 ファイルロックとは、アクセスカウンタなどで複数人数が同時にアクセスしても、ファイルが飛んでしまわないようにする仕組みです。 flock はOSの仕組みを利用した高速かつ強力なファイルロックの仕組みです。 が、この仕組みを詳しく知らないで使っていると、ファイルが飛んでしまった、 ということが起こってしまいます。 flockはファイルポインタを引数にとり、ファイルロックを設定、解除するための関数です。 flock($fp,LOCK_EX) のように、 排他ロックをかけた場合は、他のプロセスはファイルの変更、参照が出来なくなります。 他プロセスが、参照/変更しようとしても、他プロセスはflock($fp,LOCK_UN)されるまで待ちの状態になります。 flock($fp,LOCK_SH) のように、 共有ロックをかけた場合は、参照は出来る

  • PHPのクラスで質問です。 PHPプログラムでクラスを組むに当たってプログラムに出てくるこの  -> 矢印みたいなものですが これってどういう意味があるのでしょう…

    PHPのクラスで質問です。 PHPプログラムでクラスを組むに当たってプログラムに出てくるこの -> 矢印みたいなものですが これってどういう意味があるのでしょうか? -> と => の違いも曖昧でわかりません。 代入の事かと最初は思ったのですが何か色々ありそうなのですが この ->  と => の矢印が出てくるケースを全て把握したいのですが この 矢印 について知っていることがあったら教えてください。 よろしくお願いします。 また別になってしまうのですが、 クラスとSMARTY,ライブラリとPear、フレームワークが頭の中でごちゃごちゃになっています。 これらを分かりやすく初心者の私でも分かるように教えていただいてよろしいでしょうか?。 実際の職場の現場ではこのように使われていると教えていただくとイメージがしやすいです。 よろしくお願いします。

  • 1