2016.04.01 Friday

PHPの関数に慣れるための自習1

[スポンサードリンク]

0

    <!DOCYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>テキストエリアの情報をPOSTメソッドで受け取るには?</title>
    </head>
    <body>

    <?php
    // テキストエリアの情報を取得。@はエラー制御演算子
    $textarea1 = @$_POST['textarea1'];

    // HTMLタグを文字化することで無効化。
    $textarea1_escaped = html_escape( $textarea1 );

    // 改行コード(¥n¥r)を<br />に変換し、テキストエリア中の改行を反映
    $textarea1_message = nl2br( $textarea1_escaped );
    echo "<h1>テキストエリアの情報</h1>¥n";
    echo "<hr>¥n";
    echo "<p>";

    // HTMLタグと改行コードを処理された整形済みの入力情報を表示
    echo $textarea1_message;
    echo "</p>¥n";


    // -----------------------------------------------------
    // 投稿時のタイムスタンプ名で生成したファイル名が既に、
    // C:/xampp2/htdocs/test1/file/配下にあるかどうか調べる。
    // もしあればエラーメッセージを表示
    // -----------------------------------------------------

    // 保存するファイル名をランダムに生成
    $filename="C:/xampp2/htdocs/test1/file/" . time() . ".txt";



    if( file_exists( $filename ) ) { // 同名のファイルが存在するならば
    // 保存を諦める!
    echo "You cannot save this file. Please Copy text and retry!";
    } else { // ファイルが存在しないならば
    // ファイルを新規作成しテキストエリアの文字列を保存する
    echo "{$filename}に投稿を保存しました。";
    file_put_contents($filename, $textarea1_message);
    }

    function html_escape( $string ) {
    return htmlspecialchars($string, ENT_QUOTES);
    }
    ?>

    <form method="POST" action="">
    <div>テキストエリア</div>
    <textarea name="textarea1" cols="100" rows="10">
    初期値:textarea1
    </textarea>
    <br>
    <input type="submit" value="提出">
    </form>
    <?php
    // -----------------------------------------------
    // C:/xampp2/htdocs/test1/file/配下にある、
    // 全てのファイルの内容を表示する
    // -----------------------------------------------
    // scandir()してディレクトリ内の全てのファイルを降順の配列で取得する(例:1459211111.txt)
    $atc_array_order_by_desc = scandir("C:/xampp2/htdocs/test1/file", 1);
    // C:/xampp2/htdocs/test1/file/配下のファイル名の配列の各要素に対して処理を行う
    for( $i = 0; $i < count( $atc_array_order_by_desc ); $i++ ) { // countは配列の要素数
    // 記事のフルパスを指定してテキストファイルから中身を読み込む
    $atc = @file_get_contents( "C:/xampp2/htdocs/test1/file/" . $atc_array_order_by_desc[$i] );
    // ファイル名の冒頭10文字を取りだす。
    // ファイル名の冒頭10文字はタイムスタンプなのでDate関数で保存日時に変換して表示
    echo @date("Y/m/d H:i:s", mb_substr( $atc_array_order_by_desc[$i], 0, 10 ) );
    // 記事本文を装飾して表示
    echo "<p style='background-color:#ffff99; border:solid 2px #ffffcc; width:400px;'>$atc</p>";
    }
    ?>
    </body>
    </html>

    2016.04.01 Friday

    PHPでテキストエリアの情報をポストメソッドで受け取るには?

    [スポンサードリンク]

    0
      JUGEMテーマ:気になること
       
      <!DOCYPE html>
      <html>
      <head>
      <meta charset="UTF-8">
      <title>テキストエリアの情報をPOSTメソッドで受け取るには?</title>
      </head>
      <body>
      <?php
      // テキストエリアの情報を取得。@はエラー制御演算子
      $textarea1 = @$_POST['textarea1'];
      // HTMLタグを文字化することで無効化。
      $textarea1_escaped = html_escape( $textarea1 );
      // 改行コード(¥n¥r)を<br />に変換し、テキストエリア中の改行を反映
      $textarea1_message = nl2br( $textarea1_escaped );
      echo "<h1>テキストエリアの情報</h1>¥n";
      echo "<hr>¥n";
      echo "<p>";
      // HTMLタグと改行コードを処理された整形済みの入力情報を表示
      echo $textarea1_message;
      echo "</p>¥n";
      function html_escape($string) {
        return htmlspecialchars($string, ENT_QUOTES);
      }
      ?>
      <form method="POST" action="">
      <div>テキストエリア</div>
      <textarea name="textarea1" cols="100" rows="10">
      初期値:textarea1
      </textarea>
      <br>
      <input type="submit" value="提出">
      </form>
      </body>
      </html>
      

      nl2brは(えぬ12びーあーる、ではなく、エヌエル2ビーアール)

      htmlspecialcharsの第二引数の「ENT_QUOTES」はシングルクォート('')をエスケープするために付加する







       

      [スポンサードリンク]

      ● Profile ●
      スポンサードリンク

      姉妹ブログ2よろしくっす♪

      rurupi logs
      ● ad ●

      女性専用の匿名カウンセリング【ボイスマルシェ】新規会員登録で初回1080円オフ!
      ● ●
      Selected Entries
      Categories
              
      Others
      Mobile
      qrcode
      Powered by
      30days Album
      無料ブログ作成サービス JUGEM