📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)
ページの作成:「== 概要 == <br><br> == アップロード == スーパーグローバル変数である配列<code>$_FILES</code>において、<code>tmp_name</code>キーはPHPによって決められた固定の配列キー名である。<br> <br> PHPでファイルアップロードを処理する場合、配列$_FILESには決められたキーが必ず含まれる。<br> * tmp_name *: PHPが自動的に生成する一時ファイルのパス * name *: アップロードさ…」 |
|||
| (同じ利用者による、間の2版が非表示) | |||
| 22行目: | 22行目: | ||
// 'xxx'の部分はフォームのname属性で自由に決められるが、'tmp_name'等の第2レベルのキーはPHPによって決められた固定値である。 | // 'xxx'の部分はフォームのname属性で自由に決められるが、'tmp_name'等の第2レベルのキーはPHPによって決められた固定値である。 | ||
$temp_path = $_FILES['xxx']['tmp_name']; // 'tmp_name'は固定 | $temp_path = $_FILES['xxx']['tmp_name']; // 'tmp_name'は固定 | ||
</syntaxhighlight> | |||
<br><br> | |||
== __FILE__ と $_SERVER["SCRIPT_NAME"] == | |||
==== __FILE__ ==== | |||
__FILE__は、スクリプトファイルの絶対パス (フルパス) を返す。<br> | |||
これは、常にファイルシステム上の実際のパスを示す。<br> | |||
<br> | |||
インクルードされたファイル内で使用する場合は、メインスクリプトのファイルのパスを返す。<br> | |||
また、シンボリックリンクの場合、実際のファイルパスを返す。<br> | |||
<br> | |||
主な使用ケース<br> | |||
* ファイルシステム操作 | |||
* 設定ファイルの読み込み | |||
* ログファイルの作成 | |||
<br> | |||
<syntaxhighlight lang="php"> | |||
// ファイルパスが /var/www/html/example/test.php に存在する場合 | |||
echo __FILE__; // 出力: /var/www/html/example/test.php | |||
</syntaxhighlight> | |||
<br> | |||
==== $_SERVER["SCRIPT_NAME"] ==== | |||
$_SERVER["SCRIPT_NAME"]は、Webサーバのドキュメントルートからの相対パスを返す。<br> | |||
これは、URLでアクセスされたパスを示す。<br> | |||
<br> | |||
また、シンボリックリンクの場合はリンクのパスを返す。<br> | |||
<br> | |||
HTTPリクエストに関連する情報を提供する時に使用する。<br> | |||
<br> | |||
<syntaxhighlight lang="php"> | |||
// URLが http://example.com/example/test.php の場合 | |||
echo $_SERVER["SCRIPT_NAME"]; // 出力: /example/test.php | |||
</syntaxhighlight> | |||
<br> | |||
主な使用ケース<br> | |||
* URL生成 | |||
* リダイレクト処理 | |||
*: ページのリロード : <code>header("location: $_SERVER["SCRIPT_NAME"]");</code> | |||
* パスの相対参照 | |||
<br> | |||
==== 差異 ==== | |||
<syntaxhighlight lang="php"> | |||
// ファイルパス: /var/www/html/example/test.php | |||
// URL: http://example.com/example/test.php | |||
echo __FILE__; // 出力: /var/www/html/example/test.php | |||
echo $_SERVER["SCRIPT_NAME"]; // 出力: /example/test.php | |||
// インクルードファイル (/var/www/html/example/includes/header.php) 内での場合 | |||
echo __FILE__; // 出力: /var/www/html/example/includes/header.php | |||
echo $_SERVER["SCRIPT_NAME"]; // 出力: /example/test.php (メインスクリプトのまま) | |||
</syntaxhighlight> | </syntaxhighlight> | ||
<br><br> | <br><br> | ||