urlに含まれる文字列によって条件分岐させるphpの記述に関して。 - PHPプロ!Q&A掲示板

4921

  • 募集中!! 0P

urlに含まれる文字列によって条件分岐させるphpの記述に関して。

質問日時 / 2018年2月11日 23:15    回答数 / 3件

Questioner:  startup  このエントリーをはてなブックマークに追加 

キーワード / urlの文字列による判別    条件分岐   

お世話になっております。

下記の様なURLを?のあるなしで判別するphpの記述はどのようになるかご指導頂けませんでしょうか。

xxxx/index.php

xxxx/index?.php

記述例:

if(xxxxxxxxxxxxxx) {
  
  } else {
      
  }


ツリー一覧

┗A01shimixxxxx/index?.php でアクセスがあったときに、index.ph
 ┗A01-1startupshimix様 ご指導頂きまして感謝致します。 また混
  ┗A01-1-1shimix同じ内容のphpスクリプトを index.php と index1.php

回答一覧

並び替え:

A01
answerershimix [2月13日 09:08]

xxxx/index?.php でアクセスがあったときに、index.phpが呼び出されるのでしょうか。それはどういう仕組みで実現していますか。

例えばMultiViewsによって、indexだけでindex.phpが呼び出されるとしたら、後者のQueryStringは「?.php」ということになりますよね。

この意見に回答する

ツリーへ TOPへ

A01-1
replyerstartup [2月13日 10:18]

shimix様

ご指導頂きまして感謝致します。
また混乱させてしまい申し訳ございません。

以下の例で、urlがxxxx/index.phpであったならプログラムaを実行する、
というような記述にしたい場合どうすればよろしいでしょうか。

xxxx/index.php

xxxx/index1.php

記述例:

if(xxxxxxxxxxxxxx) {
  a;
  } else {
  b;    
  }

この意見に回答する

ツリーへ TOPへ

A01-1-1 満足
replyershimix [2月13日 10:44] (最終編集:2月13日 10:51)

同じ内容のphpスクリプトを index.php と index1.php と別の名前で(コピーして)配置するということでしょうか?

自分自身のファイル名を切り出したいなら、__FILE__ を利用すればいいと思います。
  1. $script_name = substr(__FILE__, strrpos(__FILE__, DIRECTORY_SEPARATOR)+1);

含まれるかどうかの判定でかまわないという前提(index1.php は存在するが、その文字列と部分一致する他のファイル名やpathは存在しない)であれば
  1. if (strpos(__FILE__, 'index1.php') !== false){
  2. // index1.phpのときの処理
  3. } else {
  4. // それ以外のときの処理
  5. }
でもいいと思います。


(蛇足)
$_SERVER['REQUEST_URI'] などでも同じようなものですが(こちらはDIRECTORY_SEPARATORじゃなく"/"で分割できる)QueryStringやpathinfoで予期せぬ文字列が渡される可能性があるので、__FILE__ がベターかなと思います。

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
ログファイルの中の空のデータ行を削除したい
 このエントリーをはてなブックマークに追加 
A
ログのデータ個数(列数)が固定で、空のログが"<><><>"だと既知であれば if ($line === "<><><>") { continue; } で読み飛ばしてもいいのでは? ...

>>続きを読む

まずは配列や文字列の扱いから、じっくり勉強して行きましょう。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)