質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
IIS 7

IIS(インターネットインフォメーションサービス) 7は、 Microsoftによって開発された、Windowsの標準ウェブサーバーです。Window Server 2008 と Windows Vista向けにリリースされました。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

Q&A

解決済

2回答

2500閲覧

IISにWordPressを設置して、その中でshtmlをインクルードしたい

hyksm

総合スコア174

IIS 7

IIS(インターネットインフォメーションサービス) 7は、 Microsoftによって開発された、Windowsの標準ウェブサーバーです。Window Server 2008 と Windows Vista向けにリリースされました。

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Windows Server

Windows Serverとは、Microsoft社のサーバ用オペレーティングシステムの総称です。 企業内ネットワークなどで利用されるサーバ機へ導入することを想定して開発されているため高い安定性があり、 管理機能を提供するソフトウェアが多く含まれています。

0グッド

1クリップ

投稿2017/06/06 05:40

編集2017/06/15 05:16

IIS内にWordPressを設置しました

階層的には

root └ sitename ├ index.html ├ include │ └ menu.shtml └ wordpress └ wp-content └ themes └ Simplecity2 └ header.php

この様になっており
WordPressのテーマの中で
menu.shtmlをインクルードしたいのですがうまく読み込んでくれません
どの様な記述なら読み込めるのでしょうか?
WordPressもPHPも苦手でよくわかりません。

htmlでは

<!-- #include file="/include/menu.shtml" -->

で読み込めますが
PHP、WordPressではどの様に読み込みますか?(index.phpで)

ご教示お願いしますm(_ _)m

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2017/06/06 05:45 編集

そもそもPHPは正常に動作確認できていますか?(phpinfo();でもecho "Hello world";でもいいので) 「うまく読み込んでくれません」はどのように記述してううまくいっていないのかも記載していただけると助かります。
hyksm

2017/06/06 06:01

phpは動いています。ですが<? php include "/include/menu.shtml" ?>ではダメでした。ちなみに通常の<!-- #include file="/include/menu.shtml" -->もダメでした
guest

回答2

0

ベストアンサー

長々とincludeについて書いていましたが間違いあったため内容を修正しました。
includeで読み込み先がHTMLの場合はそのまま画面出力しますが、ファイルのパスが合っていない場合は出力できません。
includeを書いているphpファイルからのパスが合っているかを確認してください。
下記のようなエラーが出ているはず・・・。

Warning: include(/include/menu.shtml): failed to open stream: No such file or directory

なお、echoによる「画面出力」はほんとうにそのまま出力するので、HTMLを出力してやれば通常通りHTMLとして解釈できますので下記のようにも書けます。

PHP

1<? php echo '<!-- #include file="/include/menu.shtml" -->' ?>

※ファイルのパスが違っていたらエラーとなる場合があります。場合は自身の環境にあわせて調整してください。

追記:
HTMLファイル読み込んで内容出力なら下記のほうがいいかも・・・。

PHP

1<? php echo file_get_contents("/include/menu.shtml") ?>

更に追記:
includeを利用して、header.phpからの相対パスでたどる。

PHP

1<? php include(__DIR__."/../../../../../include/menu.shtml") ?>

上記の解説ですが、../が「ディレクトリの階層を1つ上がる」意味となります。
__DIR__が自分のファイルのディレクトリまでの絶対パスみたいなものなので、
header.phpが置いてあるディレクトリから辿っていき、menu.shtmlのディレクトリをさすような形にしました。

投稿2017/06/06 06:30

編集2017/06/15 05:31
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hyksm

2017/06/15 04:55

どちらも読込ませんでした ちなみに <?php var_dump("hoge"); ?> ではOK
hyksm

2017/06/15 04:58

phpで使える関数が設定されていないとかそういうのですかね???
m.ts10806

2017/06/15 05:04

file_get_contentsもincludeもPHPの標準の関数なのでそういうのとは違うように思います。 万が一設定されていないようなことがあれば何かしらエラーも出るはずですし。 ちなみにですが、そのphpの記述はテーマのindex.phpに書こうとしてるんですよね? rootの配下のsiteというのがあるのが少し意味分かってないですが、アクセスしているURLは何ですか?
hyksm

2017/06/15 05:08

テーマのheader.phpに書いています。
m.ts10806

2017/06/15 05:11

なるほど。質問内容に「index.php」とあるので修正お願いできますか?
hyksm

2017/06/15 05:17

修正しました
hyksm

2017/06/15 05:21

やっぱりダメでした。。。 なぜなんでしょうね。ハマってます
m.ts10806

2017/06/15 05:29 編集

phpのinclude()もfile_get_contents()はいずれにしてもそのコードを書いたphpファイルからの相対パスが違っていると読み込めませんので、その辺りを探るしかないと思います。 コメントではうまくアンダーバーが反映されなかったので回答に「更に追記」しています。
hyksm

2017/06/15 05:30

来ました。パスの問題だったんですね。 絶対パスでもダメだったんですが相対パスでの指定しか効かないのでしょうか?
m.ts10806

2017/06/15 05:35

ファイル読み込み関係はファイルが存在しているかどうかも含めてパスの問題がほとんどです。 読み込むファイル側に問題があったとしてもそれは読み込めている前提で起きる問題ですね。 絶対パスだと、例えばURL指定だとサーバー側が許可しているかという問題ですとか、スタートを間違えると全く的外れなパスを指定してしまうこともあります。 相対パスだと自分のファイル(またはディレクトリ)がスタートと決まるので、あとは正しく辿るだけで良くなります(もちろんメリットデメリットは双方にあります) 「相対パスしかきかないことはないが適切かどうかは状況次第」というのが回答となりますね。
guest

0

すみません。コメントに返信しようとして回答に書いてしまいました。コメント返信に移行しています。

投稿2017/06/15 05:26

編集2017/06/15 05:27
m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問