PHP学習まとめ(include + ファイル操作)

① require / include の違い

require_once(1回だけ)

xuser/lib/test2.php

test2.php ファイルをインクルードし、そのファイル内の関数を実行して、内容を表示することです


PHP部分
-----------
<?php
// test2.phpで呼び出されたときに笑います。
print("ワッハッハ \n");
// test2.phpでrun関数を呼び出すと走ります。
function run(){
    print("シュタタタ\n");
}
?>
<?php ... ?>: PHPコードブロックを示します。
print("ワッハッハ \n");: "ワッハッハ" という文字列を表示し、改行します。
function run() { ... }: run 関数を定義し、関数が呼ばれると "シュタタタ" という文字列を表示します。
-----------
<?php
// test2.phpファイルをインクルード
include_once("test2.php");

// run関数を呼び出す
run();
?>
include_once("test2.php");: test2.php ファイルを一度だけインクルードします。このファイルには上記で定義したコードが含まれていると仮定します。
run();: run 関数を呼び出し、その結果 "シュタタタ" という文字列を表示します。
全体の流れ
HTML部分: ページの基本的な構造を定義します。
PHP部分1: 笑い声の文字列を表示し、run 関数を定義します。この部分は通常、test2.php ファイルに含まれていると仮定されます。
PHP部分2: test2.php ファイルをインクルードし、run 関数を呼び出します。
実行結果の期待
最初のPHP部分が実行されて "ワッハッハ" という文字列が表示されます。
次のPHP部分が実行されて test2.php が再度インクルードされ、run 関数が呼び出されて "シュタタタ" という文字列が表示されます。
最終的なHTML出力は次のようになります:

---------
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>xuser/lib/test2.php</title>
</head>
<body>
ワッハッハ 
シュタタタ
</body>
</html>
このスクリプトの意図は、test2.php ファイルをインクルードし、そのファイル内の関数を実行して、内容を表示することです。

以下が読み込んだURLファイル
ワッハッハ 

Warning: Cannot modify header information - headers already sent by (output started at /home/canape/canape.stars.ne.jp/public_html/xuser/lib/test2.php:80) in /home/canape/canape.stars.ne.jp/public_html/xuser/test2.php on line 2
test2 改善版

書き込みテスト

ファイル内容

テスト書き込み「test2.php内」:2026-05-17 19:44:22

説明

■ 処理の流れ
1. ボタン押下でPOST送信
2. file_put_contentsで追記(FILE_APPEND)
3. LOCK_EXで排他制御
4. file_get_contentsで読み込み表示

■ ポイント
・.txtファイルを使用(安全)
・直接アクセスでは書き込まれない
・スマホ対応済み
シュタタタ

require(毎回実行)


Fatal error: Cannot redeclare run() (previously declared in /home/canape/canape.stars.ne.jp/public_html/xuser/lib/test2.php:76) in /home/canape/canape.stars.ne.jp/public_html/xuser/lib/test2.php on line 76