ローカルで$_SERVER['SCRIPT_NAME']を使う場合の疑問

このQ&Aのポイント
  • ローカルでの$_SERVER['SCRIPT_NAME']の使用法と情報の取得方法について
  • ローカルでPHPを動かす際に、複数のサイトを運営する場合の対処法
  • ローカルでの動作確認とサーバーへのアップロードの手順について
回答を見る
  • ベストアンサー

ローカルで$_SERVER['SCRIPT_NAME']を使う場合の疑問

ローカルでPHPを動かす時、http://localhost/ファイル名 という感じになっています。 でも私は、複数のサイトを運営しているので、localhost/サイト名/ファイル名 という状態になっています。 サーバーで $_SERVER['SCRIPT_NAME'] を使って情報を取得した場合と、ローカルで $_SERVER['SCRIPT_NAME'] を使って情報を取得した場合では、取得できる情報が違います。 この場合、どのようにして制作を進めて良いのかわかりません。 私としては、まずはローカルで動作確認をしてから、サーバーにアップロードするという方法を取りたいと思っています。 アドバイスよろしくお願いします。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • jtam
  • ベストアンサー率100% (2/2)
回答No.1

私もPHPを学習中のため、不正確だったら申し訳ないです。 $_SERVER['SCRIPT_NAME']で取得できる情報はスクリプトまでのパスなので <?php echo $_SERVER['SCRIPT_NAME']; ?> で表示される情報は環境によって違います。 ローカル上であっても、サーバ上でも、取得できる情報はその環境での「スクリプトまでのパス」なので、そのスクリプト自身を指定する場合に$_SERVER['SCRIPT_NAME']でを指定するのであれば特に問題はないかと思います。

aiueo667
質問者

お礼

アドバイスどうもありがとうございます。 取得できる情報は環境によって違うのは仕方のないことということがわかりました。環境によって左右されない方法をとりたいと思います。

関連するQ&A

  • $_SERVER['SCRIPT_NAME']についての質問

    PHPに関しては先週から勉強し始めている初心者です。 先日、簡単なパンくずリストを自動生成するスクリプトを作ろうと思いました。その際このスクリプトは外部ファイルにして、includeしようと思ったのですが、 $_SERVER['SCRIPT_NAME']; で現在実行しているスクリプトのファイル名を取得する場合は、includeをしたスクリプトのファイル名ではなく、パンくずリスト自身のファイル名を取得されてしまいます。 なので、スクリプト内の $name=$_SERVER['SCRIPT_NAME']; という部分だけを取り出して、ページ内に直接記述し、includeする際に、 include"http://exampleeee.com/pankuzu.php?name=$name"; として動作させています。 しかし、個人サイトとはいえ、非常に規模の大きいサイトになる予定なので、後での管理などが大変になるかもしれません。できれば $_SERVER['SCRIPT_NAME']; の部分も外部ファイルに入れておきたいのですが、何か良い方法があればアドバイスをお願いします。 あと、最後にもうひとつ質問があります。 include"http://exampleeee.com/pankuzu.php?name=$name"; のように変数を渡す場合、配列を渡すことはできないのでしょうか? 以上が私の質問です。文章中に誤った表現や、誤解などがあればご指摘願います。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • ローカルからサーバーへのファイルアップロードについて

    質問があります。 今ホームページを作成しています。 画像をあつかいたいのですが、FTPなどのソフトを使用せずにPHPで作成したWEB画面からローカルの画像を サーバーにアップロードしたいと考えています。 WEB画像はサーバー上にあり、 表示部分<INPUT>と参照ボタンとアップロードボタンが あります。 参照を押下すると自分の使用しているローカルのファイル・ディレクトリ情報があり、エクスプローラーバーが表示されてファイルを選択すると入力画面に 選択されてあファイル名が表示されるようにしました。 それでアップロードボタンを押すと、 WEB画面と同じサーバーの同じ場所に指定したファイルが アップロード(転送)される仕組みにしたいのですが、 どのようにすればいいでしょうか? アドバイスお願い致します。 【PHP:4.02】

    • 締切済み
    • PHP
  • ネームサーバーについて

    運営していた専用サーバー内のHPが突然表示されなくなりました。 FTP接続でも、そのドメインで接続出来なくなりました。 某レンタルサーバー会社へ、ネームサーバーがダウンしていないか確認をしましたが、 ネームサーバーのダウンはしていない、サーバーもダウンしていない、との回答で、 さらに調べてもらったところ 「そのドメインは、ネームサーバーに登録されていません。」と回答が来ました。 しかし、そのHPは、約1年前からそのドメインにて、 HPを普通に管理運営してきました。 何度も更新してきました。 ドメインは、某ドメイン取得会社でドメインを取得し、 某ドメイン取得会社の管理ページ上にて、そのドメインを別の某レンタルサーバー会社のネームサーバーに設定しています。 また、HP立上げ時に、そのドメインは、某レンタルサーバー会社へ、その会社のネームサーバーに登録するようにも連絡していました。 ところが、某レンタルサーバー会社のネームサーバーは、「そのドメインが、今までネームサーバーに登録されていない」と言っています。 ●そこでご質問です。 ネームサーバーに設定せずに、今までそのドメインでのHPがで表示可能なものでしょうか? 実際に、そのドメインで表示、運営出来ました。 どういう事でしょうか?

  • Web上にあるSQLファイルを実行するPHPスクリプト

    レンタルサーバを借りてCMSを運営しているのですが、引越しする必要がでてきました。 新しいサーバはデータベースにはそのレンタルサーバが設置したPHPMyAdminか、契約したサーバの領域内にあるPHPファイルからしか接続できず、そのPHPMyAdminは2Mまでのファイルしか読み込めません。 200Mちょっとあるデータベースを分割して読み込もうにも、画像をデータベースに取り込んでいるCMSなので、1つのテーブルだけで2Mを越えるものもあって、全部をPHPMyAdminで読み込むことはできません。 そこで、Web上にアップロードしたSQLファイルを実行できるPHPスクリプトを探しています。 そういったスクリプトをご存知の方、いらっしゃいましたら情報をお願いします。

    • 締切済み
    • PHP
  • サーバーにアップするとスクリプトが実行されません

    サーバーにアップするとスクリプトが実行されません ローカルのサーバー(MAMP)だと問題なく動くのに サーバーにアップロードするとスクリプトが動きません プリローダのある1フレーム目のスクリプトは実行するのですが コンテンツを配置する2フレーム目スクリプトが実行されません 2フレーム目にはプリローダの読み込み完了イベントを受けて gotoAndStopしていくようにしてあります ブラウザのFlashPlayerは gotoAndStopしたところのフレームのスクリプトは実行しないのか? とか思ったりもしたのですがそれならMAMPでも同じ症状になるはず・・・ といろいろ考えても原因がわからず行き詰まってしまいました コンテンツ自体はスクリプトを 全部1フレーム目に固めてしまうことで とりあえずは解決したのですが なぜローカルサーバーで動くものが アップロードした先では動かないのか? 謎は解けないままです よろしくお願いします

    • ベストアンサー
    • Flash
  • レンタルサーバーだとタイトルロゴが消える

    ローカルサーバーにてテーマをカスタマイズしてサイトを制作しました。ですが、レンタルサーバーを借りて、Wordpressをサーバーに導入し、そこにテーマをアップロードすると、タイトル画像が消えてしまいました。 ローカルサーバーの方ではタイトルロゴは消えないのですが、違った形式の画像に差し替えたり、少しコードを変えてみたりしてもでてきません。 下記はつくりかけの私のサイトなのですが、どなたか推測できそうな原因を教えてください。早く提出しなければならず、困っております。よろしくお願いいたします。 http://awakewalk.m9.coreserver.jp/wordpress/ ヘッダーのPHPファイルには <a href="<?php echo home_url();?>" title="<?php bloginfo('name'); ?>"><img src="<?php echo get_template_directory_uri(); ?>/images/header.jpg" alt="awakewalkerポートフォリオ" width="500" height="100" /></a></h1> を挿入しています

    • ベストアンサー
    • HTML
  • レンタルサーバーで、ホームページを運営しております。本日突然表示がおか

    レンタルサーバーで、ホームページを運営しております。本日突然表示がおかしくなり、Webサーバー内のファイルを調べたところ、jsファイルに追加した覚えのない記述が見つかりました。以下のような変なサイトのphpファイルのURLも記述されています。 document.write('<script src=http://**.se/bilder/klassfest3.php ><\/script>'); このような記述はしていませんし、サーバーにアップロード前のjsファイルと比べてもこのような記述はありません。 何者かがファイルを書き換えることなんて出来るのでしょうか? 防衛策なんてあるのでしょうか? あまり知識の無いものがHPの運営をしているのが問題かもしれませんが、今後のことを思うと心配です。

  • GETを使ったサーバとのセッションが理解できません

    今、phpの勉強を本を見ながらやっていますが良く理解出来ません。 諸兄のご指導を宜しくお願い致します。 <html><head><title>00000000</title></head> <body> <?php echo "今GETで渡したのは".$_GET['name']."です"; ?> </body></html> 上のようなスクリプトを書いて、「get_test」という名前のファイルで保存して、 「http://localhost/test/get_test.php」とURLに打ち込み、 「http://localhost/test/get_test.php?name=test」にアクセスすると 「今GETで渡したのはtestです」と表示されましたが、これはどういう意味でしょうか。 ユーザーの持っているファイルは上側で、サーバーの持っているファイルからレスポンスが来たということでしょうか。それならサーバーからレスポンスの来たファイルの名前をどのような名前になっているのでしょうか。 それとも両方ともサーバーが持っているのでしょうか。

    • ベストアンサー
    • PHP
  • ローカル環境でのアップロードテスト

    お世話になります。 is_uploaded_fileをローカル上でテスト行いたいのですがうまくいきません。(ファイルが空の状態です) 外部サーバでは正常にアップロードできます。 サーバまたはPHP側の設定でしょうか? マニュアル読むと、「クライアントマシン上での名前$_FILES['userfile']['name'] では動作しません。」とありますが この辺りが引っ掛かってるような・・・?? テスト用コード if ( ! is_uploaded_file($_FILES['upfile']['tmp_name'])) { $img_name = 'NO_FILE'; echo $img_name; exit(); } $_FILES['upfile']['error'])も試したのですがエラーコードも出力されません。 ローカル:WindowsXP、Apache 2.2.6、PHP 5.25 外部サーバ:Linux系、Apache 2.0、PHP 4.3.9

    • ベストアンサー
    • PHP
  • レンタルサーバーからローカルへのバックアップ

    CMSを使って会員制のサイトを運営しております。 ある程度の制限はありますが会員が画像などをアップロードして コンテンツを投稿できる仕組みになっています。 その場合のバックアップの方法について教えて下さい。 文章などのデータベースはmysqlに入っているのでそれを定期的に バックアップしております。 問題はサーバー内の画像などのファイルなのですが 現在は、goodsyncというソフトを使って、レンタルサーバーのフォルダから 自分のパソコンの中のフォルダにダウンロードしています。 バックアップしているとなぜか毎回、エラーがでるので調べてみたところ サーバー内には123.JPGと123.jpgが存在しているのですが パソコンのフォルダには上記の場合、ひとつのファイルとみなされるようで 一つしかバックアップできないためエラーになっているようです。 そのように大文字と小文字のファイル名の画像は複数あるので その画像ファイルが全てエラーの原因になっています。 自分だけで更新するのであれば、 「アップロードする場合はファイル名を小文字にする」 などの対策が取れるかもしれませんが、 大勢の会員さんがいるのでなかなかそういう対策もできません。 サーバーに大文字と小文字のファイルがある場合、 みなさんはどうやってバックアップをとっているのでしょうか?

専門家に質問してみよう