のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,368,802人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    元スレくだすれPHP(超初心者用)5

    php覧 / PC版 /
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

    901 = :

    オーバードーズなら一目瞭然なんだけどね。
    飯島愛の死体を見せれば。

    「これがオーバードーズという状態です」って。

    902 = :

    分かりました。
    仕事でPHPやりながら家でJAVAかじります。

    904 = :

    趣味でぼっち開発の俺には、簡単お手軽どこでも動いてゆるゆるのPHP君で十分です。

    905 = :

    >仕様変更に異常に弱い
    それは設計モデル次第だ

    906 = :

    >>904
    一人で100人のキャラを演じながら開発しろよ

    907 = :

    >905
    比較の話だろ。
    そりゃJavaだってアセンブラよりは変更に強かろうよ。

    908 = :

    >>1
    を読んで思い切って質問してみちゃいまう

    tp://hiroqli.blogspot.com/2007/12/keepass.html

    にphpと書かれていたのでここで質問するんですが
    これを自分のPC上で実行したい場合どうすればいいんでしょう?
    IDMというアプリでエクスポートされたCVSをKeepass用に変換できるもののようなんです
    よろしくお願いします

    909 = :

    >>908
    http://www.php.net/downloads.php
    PHP環境を入れる

    914 = :

    「質問」の人?

    915 = :

    HTMLの表示用に同じ雛型を用いて、個別に変わる個所を変数で呼びしたいのですが
    変数を入れ子で使うにはどうすれば良いのかご教授ください。

    test.php
    <?php
    $title = "てすとぺーじ";
    $hoge = $hensuu1; //変数1の中身を表示させたい
    ?>
    <?php include('html.php'); ?>
    <?php echo $html; ?>

    html.php
    <?php include('hensuu.php'); ?>
    <?php
    $html = "
    <html>
    <head><title>$title</title></head> ←$titleは「テストページ」となりますが
    <body>
    $hoge ←例えばここに「hensuu1」の中身を表示させるためには、どうすればいいですか?
    </body>
    </html>";
    ?>

    hensuu.php
    <?php
    $hensuu1 = "実際に表示させたい内容";
    ?>

    916 = :

    >>915
    なんか色々変・・・
    設計を見直したほうがいいよ

    917 = :

    素直にテンプレートエンジン使いなよ

    918 = :

    >>916-917
    変なのは分かっているのですが
    設計を見直そうにもphpを初めて1週間なので
    何をどうしたらベストなのか計画を立てることさえできません。


    現状はwindowsにApacheとPHPを入れて
    表示されるかどうかを確認するのが精いっぱいです。

    919 = :

    ならまだそんなことやる段階ではないと思われ

    921 = :

    922 = :

    内部的にfopenするときにw+で
    開いてしまっているので、ファイルの内容が空になる。

    そんときに第三者から読み込みにこられると
    空のファイルを渡す

    それからロックをかける

    こういう仕様なので、append以外では使えない。

    こういう理解にしました。

    924 = :

    >>922
    空のファイルが渡されるっていう現象を検証できるソースある?
    試してみたい。

    925 = :

    (1)w+でオープンする
    (2)w+なので、自動的にファイルの中味が空になる
    (3)第三者が読み込みにくる
    (4)空のファイルを渡す
    (5)ここでようやくロック発動
    (6)第三者が空のファイルを戻しにくる
    (7)カウンタがぶっ壊れる

    927 = :

    file_put_contentsって
    fopen -> fwrite -> fclose
    って3つの流れを自動でやってくれるんだけど、
    この中の
    fopenが、どうもw+でオープンしてるらしい。

    だとしたら、ファイルの中味は問答無用で
    オープン時に空になるよね。

    だからappend以外では使えない。

    928 = :

    マニュアル見るのめんどくさいからみてないけど
    file_put_contentsも第三引数あたりでLOCK_EX使えるでしょ

    >>927
    該当ファイルを読み込んで修正してファイルを空にして全て書き出すのが基本
    追記も便利だけどね

    931 = :

    検証してみたよ。
    コマンドラインで
    for($i = 0; $i < 10000; $i++) {
    $data = file_get_contents("test.txt");
    $data += 1;
    $res = file_put_contents("test.txt", $data, LOCK_EX);
    if ($res === false) {
    error_log("write failed");
    }
    }

    こんな感じのソースをシェルを複数立ち上げて実行したら、
    単独なら10000になるけど、同時実行させると少なくなった。
    3端末でやったら29767だった。本来なら30000になるべきだが。
    しかし、もし>>925の言っている通りなら、どっかで0が戻るとすると、
    こんなにきわどい値にはならない。もっと小さくなる。

    排他ロックされて、書き込みに失敗していると見るべきだ。
    実際、エラーログには書き込みに失敗した分のfailedが記載されたよ。

    よって、LOCK_EXは正しい。

    932 = :

    つまり、まじめにカウンターを実装するなら、file_put_contentsでfalseが返ったら、
    リトライするなりなんなり、自分で実装しなきゃいけない。
    そこを、ミスったのをPHPの仕様漏れにしたがったってことじゃねぇか。

    933 = :

    $count = 0;

    counter:
    try {
    カウンター書き込み
    } catch(Exception $e) {
    while($count <= 試行回数) {
    $count++;
    goto counter;
    }

    こんなんか?

    934 = :

    http://yp.xenophy.com/?p=23

    誰も信じて疑っていないのか、PHP5.1.0からサポートされたという、第3引数のLOCK_EXによる排他ロック
    file_put_contents( $path, $string, LOCK_EX );

    これ・・・・・排他ロック・・・・・・できてません。。。

    JMeterの負荷テストにて実証済みです。
    具体的にどうなるかというと、書き込み時にロックがかけられないので、
    書き込み時に、読み込みが行われた場合は、「空」で取得されます。
    うーん。空なのか。。。

    935 = :

    くだすれだが、くだらないブログのつぶやきを信じるスレじゃないからな。
    検証してねぇだろそのブログ主

    936 = :

    >>933
    例外が発生してるわけじゃないからな。

    937 = :

    <?php
    print M_SQRT2;
    ?>

    で、スクエアルートが表示できると聞いて、
    さっそくいろいろ試してみたのだが、
    これって結局、2と3しか対応してないのな。

    939 = :

    >>937
    http://jp.php.net/manual/ja/math.constants.php

    940 = :

    アクセスしてきたユーザーのIPアドレスを
    crypt、またはMD5,またはsha1等で
    暗号化してIDとして表示したいのだが、
    安全性はどんな感じか。

    941 = :

    >>940
    何の安全性?

    942 = :

    >>941
    復号されること

    943 = :

    固定IPアドレス前提?
    複号されたところでどうなる?
    暗号IPとREMOTE_HOSTで照合するわけだよね? だとしたら生IPとREMOTE_HOSTで照合するのとほとんど変わらないと思うが・・

    944 = :

    >>943
    違う。
    アクセスしてきたやつのIPを
    暗号化関数にぶちこんで、IDを生成して、

    「今、この人達が見にきてます」

    って表示するの。

    945 = :

    表示するためだけに使う程度のIDなら見に来てる人に名前入力させれば?

    946 = :

    >>945
    それをサニタイズして表示するのがめんどくさい
    入力させない方がセキュリティは上がる

    947 = :

    でも見に来てる人たちのIDの中に自分のIDも確認できたほうがちょっとうれしくないか?
    文字のランダムな羅列よりも・・

    949 = :

    簡単に消そうと思えばセッションファイルをunlinkするだけで事足りるだろ
    ブラウザ側のクッキーの扱いなんてしょせんサーバ側でコントロールなんてできないし

    950 = :

    >>939
    5.3からceilとかfloorをroundで代替できるようになるんだね


    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について