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

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

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

4回答

1703閲覧

エラーがないので分かりにくいです..........

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/05/30 16:22

編集2017/05/31 11:06

###前提・実現したいこと
PHPを実行するがfile:で始まっていたらjavascriptでhttp://localhost/にリダイレクトする
プログラムを作りたいです。(file:上でPHPが実行できないため)
探しているのはnoscriptのようなことをPHPでもするプログラムです。

ファイル数のよく変わるフォルダの画像を表示するプログラムに組み込みます。
画像は1.jpgからの連番で保存されており、
1.jpgから順に表示するプログラムを作っています。
###発生している問題・エラーメッセージ

エラーメッセージはありませんが、ファイルを開くと内容がすべてそのまま表示されます。 勝手に<pre>~</pre>が追加されています。

実行成功範囲

ブラウザHTMLPHPjavascript
edge×
IE×××
Firefox×××
Chrome×××

###該当のソースコード

php

1<!DOCTYPE HTML> 2<html lang="ja"> 3<head> 4<meta charset="utf-8"> 5<title>漫画閲覧プログラム</title> 6</head> 7<body> 8<script type="text/javascript"> 9 if(window.location.protocol == "file:"){ 10 url=window.location.href; 11 location.href=url.replace( "file:///C:/xampp/htdocs/" , "http://localhost/" ) ; 12 } 13</script> 14<p> 15<?php 16 header('Content-Type: text/html; charset=UTF-8'); 17 $num = 1; 18 while(file_exists($num . ".jpg")){ 19 echo "<img src=" . $num . ".jpg>"; 20 ++$num; 21 } 22?> 23</p> 24</body> 25</html>

内容としてはfile:///C:/xampp/htdocs/で始まるURLの場合、
自動的にhttp://localhost/に書き換え再読み込みする
その後、PHPを実行したいです。
また、PHP単体で動かしたところ正常に動きました。

###試したこと
html javascript php 同時記述についてのページを探す

###補足情報(言語/FW/ツール等のバージョンなど)
XAMPP3.2.2

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

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

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

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

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

gouf

2017/05/30 19:02

これを解決することで実現する「本当にやりたかったこと」はなんでしょうか
guest

回答4

0

ベストアンサー

PHPが含まれていることから、ファイルの拡張子は.phpのはずですね?

だとすると、ブラウザにドロップしたりして開く場合、.phpはただのテキストファイルとして認識されてしまいますので、Javascriptが動くことはありません。
(わたしの環境ですと、Chromeはhtmlしてジャンプしました)

逆に、XAMPP上で.htmlをPHPとして認識して実行するように設定し、問題のファイルの拡張子をhtmlに変えれば、どのブラウザでも動作するように思います。
.htmlでPHPを動かす設定は、ググってみてください。

何のためにそんなことをしたいのか理解に苦しみますが・・・

投稿2017/05/31 06:42

shi_ue

総合スコア4437

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

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

退会済みユーザー

退会済みユーザー

2017/05/31 13:03

.htmlでPHPを動かす設定を調べてやってみましたが、 PHPは実行できなかったので他の方法を探しています。
guest

0

内容としてはfile:///C:/xampp/htdocs/で始まるURLの場合、
自動的にhttp://localhost/に書き換え再読み込みする

それを出来るのはブラウザのみです。
プラグイン(ブラウザ拡張)から類似のものを探されるか、プラグイン自体を開発されるしか方法はありません。

投稿2017/05/31 11:12

kei344

総合スコア69364

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

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

退会済みユーザー

退会済みユーザー

2017/05/31 11:23

location.hrefでページを移動できるという記事をQiitaなどで見たのですが......
kei344

2017/05/31 11:44

shi_ueさんが書かれているように、ブラウザにドロップしたりして開く場合、.phpはただのテキストファイルとして認識されてしまいますので、JavaScriptは動かないと考えたほうが良いです。 そもそもダブルクリックやファイルをドロップせず、ブックマークにでも入れておけば良いだけでは?
guest

0

エラーが出ないのであればXAMMPでApacheをスタートさせていなくて、アクセスするURLを間違えているのではないかと思います。
headerをその位置でコールするとエラーになります。

header:PHPマニュアル
該当場所抜粋:

覚えておいて頂きたいのは、header() 関数は、 通常の HTML タグまたは PHP からの出力にかかわらず、すべての実際の 出力の前にコールする必要があることです。 頻出するエラーとして、include または require 関数、他のファイルをアクセスする関数に 空白または空行があり、header() の前に出力が 行われてしまうというものがあります。同じ問題は、単一の PHP/HTML ファイルを使用している場合でも存在します。

投稿2017/05/30 20:26

m.ts10806

総合スコア80765

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

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

退会済みユーザー

退会済みユーザー

2017/05/31 11:10 編集

XAMMPのApacheは動いてます。 URLも間違っていません。 header()を削除すればいいのでしょうか?
m.ts10806

2017/05/31 11:11

header()に書いてある中身は理解されてますか? 何をしているかわかっているから書いていると思ったのですが・・・ 理解したうえで回答に添付した内容を読んでそれでも削除するというのであればそれはそれで良いのですが、 今回発生している問題解決の手段ではないです。 あくまでPHPが正しくPHPとして実行されているならheader()が現在の箇所に書かれていることでエラーが表示されるはず、という意味です。 エラーが何もないならPHPがPHPとして正しく実行されていないということです。
guest

0

ダメもとで拡張子をphpからhtmlに変えましたが動きませんでした。
その後さらにファイル名.php.htmlにしてみたんです。
そしたら、動きました。

ピリオド以降結果判断
php.html両方ともなぜか実行できた
phpjavascriptが実行できない×
htmlphpが実行できない×
  • 追加したコード(httpd.conf)
    AddType application/x-httpd-php .html#追加
    AddHandler application/x-httpd-php .php .html#追加
  • 追加したコード(php.ini)

[CODE]
AddType application/x-httpd-php .php .html
[/CODE]

  • 編集したコード(httpd-xampp.conf)
<IfModule mime_module> AddType text/html .php .phps AddType application/x-httpd-php .html#追加 AddHandler application/x-httpd-php .php .html#追加 </IfModule>

投稿2017/05/31 13:28

編集2017/06/01 10:25
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2017/05/31 15:21 編集

私はパソコンじゃないので分かりませんが、 a.php.html のようなファイルにしたら開けました。 もちろん、満足ではありません
m.ts10806

2017/06/01 02:30

「なぜか実行できた」の「なぜ」を解決しないことには「解決」にしてはいけませんよ。 満足でないならなおさら解決にはできません。 それにこの方法は本来到達するべき場所から逸脱しています。 マラソンにおいてゴールまで走りきれないからその辺の横道に置いてゴールしたことにしただけです。 それはではいつまでたってもゴールまできちんと走りきるための体力も技術もつきません。 従来どおり、PHPが正常に動作する環境を作ればJavaScriptも動作しますし「file:///があるかないか」なんて気にする必要はないです。 goufさんが書いていることが本質だと思いますよ。 同様の問題をかかえた人がこの質問と解決方法を見て「これで解決できますよ」と胸を張って言えますか?「ベストアンサー」の意味をもっと考えてください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問