
phpを使い始めて間もないのですがファイルの最終更新日付を表示させたいと思い、やっているのですが、 syntax error, unexpected 'echo' (T_ECHO) in C:\Users\admin\Desktop\web\test\new_design\index4.php on line 19
とでて、どうにもできない状態です。
19行目周辺をどう直したらいいのでしょうか?
一応ソースですが、
<html>
<meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS"/>
<head>
<title>Tokei with Photo。</title>
このページは自宅サーバーを利用しています。</br>
<?php
//ファイル
$top_url = "index.htm";
//更新時刻をUNIXタイムスタンプ値で取得
$get_unix = filemtime($top_url);
//UNIXタイムスタンプ値を変換
$get_date = date("Y/m/d",$get_unix);
date_default_timezone_set(Asia/Tokyo) //表示
echo "Last Update ";
echo $get_date;
?>
</head>
</html>
18行目のタイムゾーン指定は
無いと、表示は一応成功するのですが
日付表示の上に、date(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in C:\Users\admin\Desktop\web\test\new_design\index4.php on line 17
と、エラーが出てしまうので、対処として指定しています。(php.iniで指定はしているのですが)
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
エラーメッセージの意味、理解していますか?
syntax error,
文法のエラー
unexpected 'echo' (T_ECHO)
期待されない「echo」
ということで、 『本来 echo と書けない箇所(echoが期待されない箇所)に echo がある、という文法上の間違い」ということです。
この「unexpected 〜」のエラーが出るときにチェックするべき点は次の3つです。
(1) 単純に、書き間違いをしていないか?
(2) 使い方を勘違いしていないか?
例えば、echo は関数ではないので、式の途中に書いたりはできません
(3) 括弧、引用符、 セミコロン等の忘れ/余分はないか?
(1)に近いですが。
括弧等を間違えると、期待とは違う文法解釈されて、「正しい」箇所が「間違い」と判定されることがあります。
この場合、エラーメッセージにある行番号や「期待されないXX(= XX がいらない)」と、真因が違うことがよくあります。
そのため、メッセージから真因を考える必要があります。
例) unexpected '}' だったら、次の2つが考えられます
・ } が多い(単純な書き間違い)
・ 上の方で { が抜けているために、ここで「 } が多い」と判定されてしまった(真因はメッセージとは別)
さて。
echo が多い、というエラーですが、 18行目に echo はありません。
次の行の echo がありますが、 これは「正しい」ものです( 少なくとも、あなたはそう思っているはずです)
ということは、 「echo が余分」なのではなく、「なにかが足りなくて、『echoが余分』と解釈されてしまっている」と考えられます。
そういう視点で
date_default_timezone_set(Asia/Tokyo) //表示
を見ると、確かに足りないものがあります。
また、これを解決しても、間違いがあります。
・マニュアルをよく読みましょう.
http://php.net/manual/ja/function.date-default-t …
・(Asia/Tokyo) とは、どういう意味になるかわかりますか?
・何の目的で date_default_timezone_set を使っているのか、考えましょう。
プログラムは、実行した順序で内容が変わります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
findstrのerrorlevel
-
shシェルスクリプト 空白行の...
-
小数点以下0の非表示
-
バッチファイルで、全てのウィ...
-
foreachで回った数を表示したい
-
Windowsのsetコマンドでの小数...
-
環境変数「%USERPROFILE%」の内...
-
PHPスクリプトにスタイルシート...
-
ウイルスもどき
-
【C#】DataGridViewの最大列数...
-
「取得先」という表現について
-
セッション変数にパスワードを...
-
C言語でシステム日付との差を...
-
POSTされたかどうか確かめる方...
-
wordの差し込み印刷で文字...
-
PHPでログイン人数を制限したい
-
PHPのセッション有効期限について
-
excel access連携 このテーブル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
バッチファイルでpingの結果を...
-
shシェルスクリプト 空白行の...
-
switch()文で値の大小比較
-
findstrのerrorlevel
-
ゼロとNULLを区別して number_f...
-
小数点以下0の非表示
-
バッチファイルで、全てのウィ...
-
syntax error, unexpected 'ech...
-
PHPで画像を取得、保存する方法
-
【初歩】 for構文内におけるロ...
-
コマンドプロンプト echo onで...
-
画像の削除
-
ISSETで変数に値が入っていない...
-
phpでcookieがうまく保存されない
-
pdftkを使った処理をバッチファ...
-
phpで「+=」と「=+」の違いは?
-
Windowsのsetコマンドでの小数...
-
4桁の乱数の発生
-
オブジェクトの中身の判定(PHP)
おすすめ情報