PHPのgethostnameメソッドの使い方を現役エンジニアが解説【初心者向け】

初心者向けにPHPのgethostnameメソッドの使い方について解説しています。gethostnameメソッドは、ローカルのマシンに設定されている標準的なホスト名を取得します。レンタルサーバなどでは、ドメイン名などを取得することが出来ます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、PHPのgethostnameメソッドの使い方について解説します。

 

なお本記事は、TechAcademyのPHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPのgethostnameメソッドの使い方について詳しく説明していくね!

大石ゆかり

お願いします!

 

PHPのgethostnameメソッドとは

PHPのgethostnameメソッドとは、ホスト名を取得するための関数です。PHPのgethostnameメソッドは、PHP5.3.0以降のPHP5系、PHP7系で利用することが可能です。ホスト名とは、ネットワーク上でコンピュータを識別するための名称を意味します。

例えば学校や、企業内のネットワーク内で接続されているコンピュータやプリンタやNAS等の表示を見たことが有るかと思います。プリンタとは印刷機のことです。プリンタであれば、一般的にはプリンタの型番が表示されています。

NASとは、Network Attached Storageの略称で、ネットワークに接続されているHDDやSSDなどの大容量記憶装置を意味します。

プリンタもNASも、接続している他のユーザからわかりやすいようにホスト名を設定していることがあるということです。

 

gethostnameメソッドの使い方

サンプルコード

gethostname()
php_uname('n')

 

解説

gethostname()というコードをPHPプログラム中に記載することで、ホスト名を取得することが可能です。

PHP5.3より前のPHPの場合は、php_uname(‘n’)と記載することで、gethostname()と同様に、ホスト名を取得することが可能です。

 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

サンプルコード

<?php
$host1 = gethostname();
echo $host1 . "\n";
$host2 = php_uname('n');
echo $host2;
?>

 

表示結果

e7f7d468662d
e7f7d468662d

 

解説

1行目の<?phpでは、PHPプログラムを開始するということを宣言しています。

2行目の$host1 = gethostname();では、変数$hostにホスト名を代入しています。

ホスト名自体は、gethostname();で取得しています。

3行目のecho $host1 . “\n”;では、2行目で代入した変数$host1にはいっているホスト名を表示しています。

. “\n”;の部分で改行しています。

4行目の$host2 = php_uname(‘n’);では、PHPのバージョンが5.3より前の場合用にサンプルコードを用意しました。

本来は、同じプログラム内で、別のバージョンのPHPを実行するわけでは無い点に注意が必要です。ただ、php_uname(‘n’);自体は、PHP5.3以降のPHPでも利用可能です。

実際には、PHPのバージョンにより2行目と4行目どちらかを使い分ける必要があります。変数$host2には、php_uname(‘n’);で取得したホスト名を代入しています。

5行目のecho $host2;では、4行目で取得したホスト名を表示しています。

6行目の?>は省略可能です。PHPの処理が終了することを意味しています。

今回は、ホスト名がe7f7d468662dだったため、e7f7d468662dと表示され、改行後、再度、e7f7d468662dと表示されました。

 

今回は、PHPのgethostnameメソッドの使い方について解説しました。

筆者プロフィール

中本賢吾(なかもとけんご)

アジマッチ有限会社 代表取締役社長

開発実績:PHPフレームワークを利用した会員制SNS・ネットショップ構築、AWSや専用サーバー下でLinuxを使用したセキュアな環境構築、人工知能を利用したシステム開発、店舗検索スマホアプリ開発など。

地域の職業プログラマー育成活動では、小学生がオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞。ゲームで遊ぶより作ろうぜ!を合言葉に、小学生でも起業できる技術力を育成可能で有ることを証明し続けている。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

オンラインのプログラミングスクールTechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

PHPやフレームワークのLaravelを使ってWebアプリケーションの開発を学ぶことができます。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間で習得することが可能です。

また、現役エンジニアから学べる無料のプログラミング体験会も実施しているので、ぜひ参加してみてください。