限定しりとり

「index.htmlへのアクセスをindex.phpへ飛ばす」や「index.phpをブラウザで見たらindex.htmlと変わらないように見える」ではなく、index.phpでindex.htmlというファイルを自動で作りたいのですが、このようなことは可能でしょうか?

また、10分ごとにindex.htmlがindex.phpによって更新されるということはできるでしょうか?

A 回答 (7件)

>htmlをphpにしたら検索にかからなくなった


検索とは 検索エンジンのことでしょうか?
それでしたら
 htmlタグを書き忘れているだけかも
  phpを確認してみてください
もし、検索エンジンでなく全文検索Namazuとかの検索でしたら、使ったことがないのでわかりません。

検索エンジンで検索にかからないでしたら
phpの出力が
<html><head><metaはココ></head><body>内容</body></html>の構成になっていないとか?
description、Keywordsを指定し忘れている?
こちらを参考に
http://www.tohoho-web.com/html/meta.htm


→保存
( http://jp.php.net/manual/ja/function.file-put-co … )
file_put_contents($FileName, $data);

保存ファイルを読み込みながら出力
( http://jp.php.net/manual/ja/function.file-get-co … )
( サイズが大きい場合は、一定バイト読み込みながらループで出力した方がいいでしょう )
まとめてポイ!!
echo file_get_contents($FileName);


テンプレートクラスでしたら使用例のコメントも含めて140行くらいで作った物を
もっているのですが、 ここにアップするにはちょっと行数がおおいから
無理っぽい。
(別質問で テンプレートクラスについて聞いてもらう方がいいかも)
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
<html><head><meta></head><body>内容</body></html>の構成になっています。

検索とはgoogleなどのことです。

今回の「.phpで.htmlを作る」は可能なようですが、私の能力ではあまりにも難しすぎるのであきらめることにします。
ありがとうございました。

お礼日時:2005/10/18 18:07

やり方は色々あると思いますがindex.htmlをひとまず別の名前のテンプレートにしてfopen()で読み込んで一部を変更してから別ファイルポインタでindex.htmlを出力する方法や。


テンプレートをインクルードファイルに入れておき書き換える変数とおりまぜてindex.htmlを出力するとか。やり方はどうでも出来るということは断言できます。

でもページの一部をランダム表示ということであればそこまでしなくてもその一部をインラインフレームにして。。インラインフレームに表示されるhtmlファイルを書き換えるほうが作業的にもサーバ的にも負担が少なくよいかもです。

DBから取り出した結果<これについてはPHPではお手の物なのであえて説明はしませんね^^
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
インラインフレームは今のところ考えておりません。
すみません!

お礼日時:2005/10/18 18:00

質問者 さんは 専用サーバーを使うのでしょうか?



共有サーバーでしたら
/etc/crontab
とかはいじれないところが多いので
よく調べてから 決めて下さいね。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
サーバーはロリポッ○です。
どうやらロリポッ○ではcronがいじれないようです。(*o*)

お礼日時:2005/10/16 17:26

おそらく自動更新をかけようとたくらんでいらっしゃるのでしょうかw???



PHPにはファイル関数があるからそれを使えばよいではないでしょうかw

10分ごとってところはサーバのバックアップなどに使う手法で定期的にそのPHPプログラムを起動してやればできますよ^^
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
「ページの一部をランダム表示にしたり、DBから取り出した結果を表示した」phpをindex.htmlにしたいのです。

ファイル関数でってことは定期的にfopen( )などでPHPプログラムを起動ってことでしょうか???

お礼日時:2005/10/16 17:30

index.phpは必要ないですよね?


10分ごとにindex.htmlが更新されてしかも
index.htmlを参照したいのであれば、
shスクリプトをcronで実行すればいいのだし。
どこでindex.phpが活躍するのかわかりません。

よくやりたいことを整理して、仕様をきめて
みてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
「ページの一部をランダム表示にしたり、DBから取り出した結果を表示した」phpをindex.htmlにしたいのです。

お礼日時:2005/10/16 17:31

index.phpでindex.htmlなど任意のファイルを自動で作ることは可能です。





>10分ごとにindex.htmlがindex.phpによって更新される
間隔が短いので
・他のPCから定期アクセス

・サーバーの定期実行

よりは、

index.htmlより
phpをメインにしたほうがいいと思います。

きらわれている
[index.htmlと変わらないように見える]
にされるほうがいいとおもいます。

単純なテンプレートクラスを利用するだけでも
プロバイダみたいな動的コンテンツを簡単につくれます。

単に拡張子がきらいなだけでしたらサーバーの設定によっては
phpをhtml拡張子で実行できるようにすることもできます。
見かけ上phpだとわかりませんから。
(そこに更新php呼ぶ判定をいれておくとか)

また
生成にかかる更新処理時間をきにして
index.htmlを生成してわけたいだけでしたら、
1.更新の必要の判定
 (現在時刻-生成ページのタイムスタンプ=10分以上)
 true→ 更新   → ページ生成 →  保存 → 2へ
 false→ 必要なし → 2へ
2.生成されたページ(保存ファイル)を読み込みながら 出力

だと 10分間隔での更新は可能だと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
htmlをphpにしたら検索にかからなくなったんで、phpに原因があるのではと思い、htmlで作りたくなりました。

できれば、
----------------------------------
1のページ生成→保存
2の保存ファイルを読み込みながら出力
----------------------------------
の方法を教えていただきたく思っております。

お礼日時:2005/10/16 17:37

可能です。



>「index.htmlへのアクセスをindex.phpへ飛ばす」
なら、.htaccessで

RedirectMatch ^/index.html http://example.com/index.php

と記述してあげれば、index.htmlへのアクセスはindex.phpへ飛びます。

>index.phpでindex.htmlというファイルを自動で作りたいのですが、このようなことは可能でしょうか?

この場合は、
<?php
//index.htmlを作成するプログラム
~~ 省略 ~~

//作成したhtmlファイルへ飛ばす。
header("Location: http://example.com/index.html");

?>

とheader関数を使うことで、
直前に作成したindex.htmlへ飛ばしてあげることができます。

>また、10分ごとにindex.htmlがindex.phpによって更新されるということはできるでしょうか?
これはindex.phpにindex.htmlを作成するスクリプトを組んでおいて、cronで
% crontab -e

10 * * * * /usr/bin/php -q /スクリプト/までの/path/index.php

と設定してあげれば10分毎にindex.htmlが生成されます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
「index.htmlへのアクセスをindex.phpへ飛ばす」じゃないんです・・・。

index.htmlを作成するプログラムってどのようなものでしょうか?
自分でも調べてみますが、もう少し具体的に教えてもらいたいです。

使っているレンタルサーバーではcronがいじれないそうなので・・・他の方法を・・。

お礼日時:2005/10/16 17:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!