• ベストアンサー

ブラウザ上で.htaccessファイルを更新するには?

ブラウザ上で.htaccessファイルを更新できるようにしたいです。 .htaccessファイルを読み込んで表示させ、テキストエリアで編集後 更新ボタンで更新できるphpを作るにはどうすればできるでしょうか?

  • PHP
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

読みこみはreadfile()した結果をtextareaに受ければ よいでしょう。 上書きはpostで受け取ったtextareaの情報をfwrite などすればよいでしょう。 もちろんパーミッションなど調整が必要です。 http://www.php.net/manual/ja/function.fread.php http://www.php.net/manual/ja/function.fwrite.php

その他の回答 (1)

  • fire--
  • ベストアンサー率49% (146/293)
回答No.2

余計なお世話かもしれませんが、.htaccessをブラウザから 更新できるようにするというのは、セキュリティホールを 作るようなものなので、ご注意を。

関連するQ&A

  • 自動更新について質問です。

    自動更新について質問です。 PHPかHTMLかCGOどれで質問しようか迷いましたが、作っているプログラムがPHPなのでPHPのカゴテリで質問しました。 <meta http-equiv="refresh" content="30; url=top.php" /> で、自動更新をしています。 (1)テキストエリアに入力された文字列をOKボタンを押して更新してもデータが保持されるには? (そのテキストエリアはパスワード形式です。) >> (2)テキストエリアに書き込み中に自動更新されてもデータを保持するには? >> この二つの

    • ベストアンサー
    • PHP
  • htaccessについて

    ライブドアのレンタルサーバでHPを運用しています。 その中で、PHPを使って外部ファイルからテキストを取得して画面に表示するスクリプトを作りたいと思います。例えば、「001.txt」を取得したい場合は、GETパラメータの「file」に「001」を渡せば取ってくる感じです。 それを、mod_rewrite関数を使ってURLを書き換えたいのですが、.htaccessに以下を記載してもどうもうまく動きません。 ---------------------------------------------------------- RewriteEngine On RewriteRule ^/test/***/([a-z0-9_]+)$ /test/***/execute.php?file=$1 ---------------------------------------------------------- 試しにローカルのxamppのhttp.confに同じように記載したのですが問題なく動きます。レンタルサーバは.htaccess対応と書いてあるので、サーバ設定の問題でもなさそうですが。。 ご教授願います。

  • CakePHPの .htaccess設定について

    CakePHPをVPSで構築したサーバー(Linux)にインストールしました。 .htaccess(mod_rewrite)の設定がうまくいっていないようなので対処の方法を教えてください。 [環境] PHP 5.3.3 Apache 2.3.3 CakePHP 1.3.15 mod_rewriteが動いてるのはチェック用のプログラムで確認しました。 controllerとViewファイルを作り、文字の表示は成功しています。 フォームの実験を行った時にフォーム送信後のURL表示がうまくいっていません。(get/post共に) [書籍を参考にしたプログラム] Sampleコントローラーを作り、Viewの中にSampleディレクトリを作りその中にindex.ctpファイルを設置。フォームにテキストを入力して送信ボタンを押すと、テキストが表示されるプログラムです。 [コントローラー]sample_controller.php class HelloController extends AppController { public $name = 'Hello'; public $uses = null; public $layout = "hello"; function index(){} function sendForm(){ ~フォームで送られたテキストを表示(プログラムは省略)~ } } [index.ctp]のフォームのHTML <form method="post" action="./sendForm"> ~省略~ <input type="submit" /> </form> http://www.example.com/sampleでフォームを開きテキストを入力して送信ボタンを押すと http://www/example.com/sample/sendForm というURLになるはずなのですが、 http://www.example.com/sendForm となってしまいます。 試しにブラウザから「http://www/example.com/sample/sendForm」というURLを入力してみますと、フォームで入力したデータは表示されませんが、ページ自体は表示されます。 もう一つ、index.ctpの<form method="post" action="./sendForm">のアクションのパスを /sample/sendForm に変更してみますとデータも表示され、求めた結果になります。 以前、別の環境でこのプログラムを動かしたときは、<form method="post" action="./sendForm">のままでうまくいったので、.htaccessのファイルの設定に問題があると予想されます。 下記にcakePHPの設定情報を記載しますので、間違っている部分を指摘していただければと思います。 ※ディレクトリの構成は下記のページの「3.4.3. 高度なセットアップ:その他のインストール方法」を参考にしています。 http://cakephp.jp/old_doc/ch03s04.html [アプリケーションディレクトリ] /home ____/me ________/mysite ____________/config ____________/controllers ____________/models ____________/plugins ____________/tmp ____________/vendors ____________/views ____________index.php ____________.htaccess→「htaccessファイル1」● [公開ディレクトリ] /var ____/www ________/html ____________/example.com→ドキュメントルート _______________/css _______________/files _______________/img _______________/js _______________.htaccess→「htaccessファイル2」● _______________css.php _______________favicon.ico _______________index.php [コアファイルディレクトリ] /usr ____/lib ________/cake ____________/cake ________________/config ________________/docs ________________/libs ________________/scripts ________________app_controller.php ________________app_model.php ________________basics.php ________________bootstrap.php ________________dispatcher.php ____________/vendors ____________/plugins ____________index.php ____________.htaccess→「htaccessファイル3」● 「htaccessファイル1」(アプリケーション) -------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine on   RewriteBase /cake/app→■追加  RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] </IfModule> ------------------------------------------------- 「htaccessファイル2」(公開) -------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine On   RewriteBase / →■追加  RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule> -------------------------------------------------- 「htaccessファイル3」(コア) -------------------------------------------------- <IfModule mod_rewrite.c> RewriteEngine on   RewriteBase /cake→■追加 RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/webroot/$1 [L] </IfModule> -------------------------------------------------- 疑問点は下記のようになっています。 (1)追加した部分のRewriteBaseはこれで良いのか? (2)RewriteRule ^$ webroot/ [L] RewriteRule (.*) webroot/$1 [L] の部分はこのままで良いのか?webroot部分の変更は必要か? (3)RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]の部分はこのままで良いのか?

    • ベストアンサー
    • PHP
  • ブラウザの更新ボタン

    フォームでデータを送信した後に、ブラウザの更新ボタンを押すとデータが再送されますが、サーバ側で違いのチェックをPHPで出来ますか? よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • htaccessを設定するとAS3から読み込めない

    現在、ActionScript3.0からテキストファイルを読み込んで、 その内容を表示するというプログラムを組んでいます。 swfファイルと、txtファイルは以下のように配置されています。 root-┐     │     ├swfフォルダー     │     └txtフォルダー   swfフォルダーには、作成したswfファイルを配置し、 txtフォルダーに配置したテキストファイルを読み込ませています。 txtフォルダーへの直接リンクを防ぐため。 (このフォルダーに配置したテキストファイルをブラウザ上には表示させたくない) htaccessファイルに、以下のような記述を行い、 配置したところ、配置する前には読み込めていたテキストファイルが 読み込まれなくなってしまいました。 swf上では全く表示されません。 <FilesMatch "\.(inc|dat|log|txt|csv)$"> Order allow,deny deny from all </FilesMatch> SetEnvIf Referer も試してみましたが、効果がありませんでした。 txtフォルダー内には、PHPでテキストファイルを読み込ませる APから読ませるテキストファイルを配置していますが、 こちらの方は問題なく読み込むことが出来ます。 原因が全くつかめない状態です。 自分としては、AS3からテキストファイルを読み込むPHPを呼び出して、 その戻り値を表示させるという方法も採れると思いますが、 出来れば、AS3から直接読ませる方式をとりたいと思っています。 回避策、解決策をご存じの方がいらっしゃいましたら、 ご教示いただければと思います。 以上、よろしくお願い申し上げます。

  • htaccess使わずに.phpを.html表示

    お世話になります。 現在、phpを使ったサイトを作成しています。 客先の意向で拡張子を.phpではなく.htmlにしなくていはいけませんが、htaccessを触ることは禁止されいてます。 htaccess使わずにファイル名index.phpをindex.htmlで表示させる方法があれば教えてください。 お願いいたします。

    • ベストアンサー
    • PHP
  • 「htaccess」と「jsファイル」について

    csvとjsを読み込んで表示させているPHPスクリプトがあります。 ■htaccess <Files ~ ".(dat|log|csv|txt)$"> deny from all </Files> この状態では、問題ないです。 ・csvファイルには、ブラウザから直接アクセスできない。 ・csvファイル自体は、ファイルに読み込まれ、結果が画面に正常表示されている。 ところが、拡張子にjsファイルを追加したところ、 画面上で、そのjsスクリプト部分がまったく読み込まれないようになりました。 <Files ~ ".(dat|log|csv|txt|js)$"> deny from all </Files> ■質問内容 拒否ファイルにcsvがあっても、csvファイルは読み込めたのに、 拒否ファイルにjsを指定すると、なぜ、読み込めなくなるのでしょうか? jsはクライアントサイドの処理で、 csvファイルはサーバサイドのPHPを利用して読み込んでいるからなのでしょうか? deny from all って、アパッチの設定か何かなのでしょうか? 具体的に何をしているのでしょうか?

  • フォームから入力すると、入力内容がブラウザ画面に反映する仕組み

    フォームから入力すると、入力内容がブラウザ画面にテキストとして反映する仕組みを作りたいと考えています。 ただし、Web上のサーバーにアップロードせず、ローカルでhtmlファイルを開いて使用する前提です。 たとえば「クリスマス」とテキストエリアに入力してボタンを押すと、テキストがテキストエリアの下に表示され、 続いて「サンタクロース」とテキストエリアに入力してボタンを押すと、「クリスマス」の下に「サンタクロース」が表示される・・・といった次第です。 よいアイディアがあればご教授ください。

  • .htaccessを使いエラーが起きたら飛ばす

    Apacheで.htaccessを使いアクセス制限をしようとしています。 そして403エラーが起きたら指定のファイルにリダイレクトするというのを試みているのですがうまくいきせん。 問題点を絞るべくなるべく簡単にしてみました。 a.phpファイル (http://xxx.yyy.co.jp/ に存在します) <?php print("a"); error_log("a"); ?> b.phpファイル (a.phpと同様にhttp://xxx.yyy.co.jp/ に存在します) <?php print("b"); error_log("b"); ?> .htaccessファイル ErrorDocument 403 http://xxx.yyy.co.jp/b.php deny from all <Files ~ "\.(html|php)$"> allow from all </Files> この.htaccessの意図は拡張子がhtmlとphpのファイルだけにアクセスを許可します。 そしてそれ以外でアクセスしてきて403エラー(forbidden)が出た場合b.phpにリダイレクトしようとしています。(話を簡単にするため他のエラーについては省略します) 問題が出る流れ 1:まずブラウザでhttp://xxx.yyy.co.jp/a.phpにアクセスします。 2:なぜか ErrorDocument 403 に引っかかり http://xxx.yyy.co.jp/b.php に飛んでしまいます。 もちろんこのとき http://xxx.yyy.co.jp/ に a.php はちゃんと存在しています。 よって「ErrorDocument 403 http://xxx.yyy.co.jp/b.php」をまるごと.htaccessから削除してもう一度アクセスしても当然403エラーは出ません。 ちなみに本当にエラーだった場合の処理はうまくいっていて、存在しないファイルで例えば下記のようなURLでアクセスをした場合は正しく http://xxx.yyy.co.jp/b.php に飛びます。 http://xxx.yyy.co.jp/a.ccc 問題は何故エラーでもないのにErrorDocument 403で飛んでしまうのかです。 やはり.htaccessの設定の仕方が悪いのでしょうか。

    • ベストアンサー
    • PHP
  • cakephpで特定ファイル表示(htaccess

    CakePHPではURLを一度index.phpにリダイレクトするような作りになっていますが、Googleの検索エンジン用のsitemap.xmlファイルを公開ディレクトリに置いた場合、そのファイルだけはmod_rewriteのルールから外して、普通にブラウザで見れる状態にしたいです。 .htaccessをどのように設定すれば良いか、教えてください。 なお、CakePHPのindex.phpファイルと.htaccess、sitemap.xmlは同じディレクトリに置いてあります。 [環境]CakePHP 1.3 PHP5.3 現在は.htaccessは以下のように設定されています。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule> 上記の RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] の前の行に RewriteCond %{REQUEST_FILENAME} ^sitemap.xml を入れるとこのファイル自体はブラウザから見れるようになりますが、サイトのトップページ以外を見ようとすると、「Not Found」が返ってきてしまいます。

    • ベストアンサー
    • PHP

専門家に質問してみよう