ITメモ
PHP
PHP マニュアル(PHP Official Web)
Basic Knowlege / 基礎知識
「CentOS」にPHPをインストール方法PHPファイルの作り方外部「クラスファイル」「関数ファイル」を読み込む方法変数の使い方定義済み変数の使い方関数の使い方配列の使い方クラスの使い方ヒアドキュメントの使い方PHPの演算子条件分岐
Access Info / アクセス インフォ
IPアドレスを確認する方法アクセスされたURLパスを確認する方法PCとスマートフォンの判定アクセスしたページから特定ページにリダイレクトさせる方法
ファイル・ディレクトリ
ファイルとディレクトリの操作方法(作成・確認・削除)ディレクトリ内のファイル・ディレクトリPath(URL)を配列に格納する方法
ファイルの読み込みと書き込み
「file_get_contents」関数を使ってファイルを読み込む方法「readfile」関数を使ってファイルを読み込む方法「file」関数を使ってファイルを読み込む方法「fread」関数を使ってファイルを読み込む方法「fgets」関数を使ってファイルを読み込む方法「fwrite」関数を使ってファイルに書き込みをする方法
チェック
「is_file」関数 - 指定パスがファイルかをチェックする方法「is_dir」関数 - 指定パスがディレクトリかをチェックする方法
画像ファイル
画像ファイルのIPTC情報を取得する方法 画像ファイルをZipファイル形式でダウンロードさせる画像をコピーする方法画像のキーワード情報を取得する方法画像ファイルから「EXIF」ヘッダを読み込む画像の大きさ・画像情報を取得する
情報
「PHP」の出力系関数 - プログラミングで必須のデータ内容をチェックする方法関数の返り値を複数で受け取る方法使用可能なメモリ使用量を変更する方法mb_send_mail - エンコード変換を行ってメールを送信する「Google」「Goolge Map]に渡した値が文字化けするときの解決方法PHPで日付比較をする方法
文字列
「文字列」の長さを取得する方法【 substr 】「文字列」から一部分を取り出す方法【 explode 】「文字列」を分割する方法【 preg_split 】正規表現で「文字列」を分割するランダムな数字を取得する方法
文字の検索
「strpos」関数で指定文字の最初の位置を確認する方法「preg_match」関数で指定した「正規表現」で検索する方法
文字の置換
「str_replace」関数で指定した文字列を置き換える方法「preg_replace」関数で指定した文字列を置き換える方法
文字の削除
「trim」関数 - 文字列の両端から指定文字を削除する方法「ltrim」関数 - 文字列の先頭から指定文字を削除する方法「rtrim」関数 - 文字列の末尾から指定文字を削除する方法文字列の中にある「文字」を削除する方法「改行」を削除する方法文字列の「空白(スペース)」を削除する方法
配列
配列に値を追加する方法配列の値を削除する方法配列の有無を確認する方法配列の中から重複した値を削除する配列の空の値を削除する配列の並び順を変えるis_array - 変数が配列かを確認するin_array - 配列の中に指定した値があるか確認するimplode - 値の間に文字加えて配列を文字列に変換するarray_merge - 配列と配列を結合する方法
ライブラリ
「PHP」で使えるライブラリの種類「GD」ライブラリの使い方
Server / サーバー
サーバーの最大実行可能時間を変更する





【PHP】「アクセスしたページ」から「特定ページ」に「リダイレクト」させる方法

【PHP】
「アクセスしたページ」から「特定ページ」に
「リダイレクト」させる方法







はじめに



「PHP」では、
「アクセス」してきた「訪問者」を、
「異なるページ」へと「移動」させる
「リダイレクト」ができる「関数」が用意されている。


「PHP」では、
リダイレクトに使用できるのは、
「header」関数。


Back

「リダイレクト」とは


「リダイレクト」とは、
「アクセスされたページ」から「異なるページ」へと、
「プログラム」を使用して「移動」させることをいう。


「PHP」では、
「header」関数を利用して、
「リダイレクト」を行うことができる。


Back

「リダイレクト」に利用できるPHP関数「header」


「header」関数は、
「ヘッダ」を操作する「ネットワーク関数」。

生の「HTTPヘッダ」を送信する関数で、
「リダイレクト」に利用できる関数。

詳しく知りたい人は、
PHPマニュアルの「header」関数ページ
を参照してください。


Back

「リダイレクト」させる「サンプルコード」




URLを入力するサンプルコード


<?php
header("Location: http://SampleDomain.com/");
?>



変数でURL指定するサンプルコード


<?php
$URL_Redirect = 'http://SampleDomain.com/';
header("Location: {$URL_Redirect}");
header("Location: ".$URL_Redirect);
?>



Back

「HTML」コードに「埋め込む」には「出力」前に記述する


「PHP」のリダイレクト関数「header」は、
アクセスした「ページ」で、
「HTMLコード」の中で、
「header」関数の記述前に、
何かしらの「出力」がされると、
「リダイレクト」ができなくなる。


「リダイレクト」させたい場合は、
「WEBページ」の「HTMLコード」において、

・「html」タグの前
・「head」タグの中で、「Title」タグなどの出力する前

のいずれかに記述すると良い。


「文字」が「1文字」でも「出力」されると、
「他のページ」への「リダイレクト」は、
できないようになっているらしい。


「リダイレクト」ができない時は、
確認してみると良い。



「htmlコードファイル」での「記述位置」


<?php
header("Location: http://SampleDomain.com/");
?>
<html>
<head>





もしくは、



<html>
<head>
<?php
$URL_Redirect = 'http://SampleDomain.com/';
header("Location: {$URL_Redirect}");
header("Location: ".$URL_Redirect);
?>

<title>WEBページのタイトル名</title>




</head>
<body>

表示されるWEBページの内容

</body>
</html>



Back

うまくリダイレクトできないときの対処法


「PHP」での「リダイレクト」は、
条件が揃っていないと、
「header」関数の記述が正しくても、
「リダイレクト(header関数)」が機能しないことがある。



うまくリダイレクトしないときの原因

・「リダイレクト先のページ」がない
・「リダイレクト」が機能していない
・「header」関数の前に、出力されるプログラムがある
・「アドレス」の入力ミス
・「header」関数の書式が間違っている


Back