解決済み

PHPの syntax error について

  • すぐに回答を!
  • 質問No.9547442
  • 閲覧数145
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 88% (306/344)

PHPのコードを書いて、添付のスクリーンショットのようなエラーが出てきます。
コードは次のようなもので、HTML文書のフォームから送られてきた名前のファイルを消去するものです。

<body>
<?php
$FileName=$_POST["deleteFileName"];
$FileName="C:\xampp\htdocs\".$FileName;
echo $FileName ;

unlink($FileName);

//echo "<form id='next' method='post' action='QAgmeOver.php' >";
//echo "<input type='submit' value='call QAgameOver' >";
//echo "</form>";
?>
<!--
<script type="text/JavaScript">
window.document.getElementById("next").submit();
</script>
-->
</body>

問題の line 18 というのは次の行です。
//echo "<form id='next' method='post' action='QAgmeOver.php' >";

unexpected T_STRING というのは、何か文字列の書き方に問題があるということらしいのですが、何をどうやって見てもエラーが消えないのでコメントアウトしてみましたが、それでも同じエラーメッセージが出てきます。
どうすればこのエラーが出なくなるのか、詳しい方がいらっしゃいましたら教えてください。お願いいたします。

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

  • 回答No.1

ベストアンサー率 69% (864/1249)

他カテゴリのカテゴリマスター
4行目の

$FileName="C:\xampp\htdocs\".$FileName;

の \ を全て

$FileName = "C:\\xampp\\htdocs\\".$FileName;

~という風に修正すれば通る様になると思います。

P.S.
\ (日本語の¥マーク) はPHPコード内では出現場所の如何に関わらず常にエスケープ文字として機能するため、うっかり癖でローカル内ファイルへのURL(Windows風PATH)を記述してしまうと。ディレクトリ階層の区切りを示す「\ (¥)」がエスケープ文字と判断され、例文の $FileName へ代入された文字列は実際には C:xampphtdocs".$FileName;~(これ以降の改行も含む全ての記述が1つの文字列と判断されている)~という風になるため。

エラー表示で9行目と出るのは、4行目で発生したエスケープ処理の間違いにより、$FileName="" の終末を意味する " が「PHPプログラムとして正しい意味で次に最初に登場する部分」が9行目の echo "~の部分になるため。そこまでを1つの文字列として処理してしまうからです。

このため echo "~以降の部分から改めてPHPプログラムとしてサーバ側が解釈しようとしますが…

<form id='next' method...

~なんてPHPプログラムは存在しないため、そこでエラーになって止まるのです。
お礼コメント
papashiroSooke

お礼率 88% (306/344)

早速にご回答を頂き、有難うございます。
ご忠告の通りに"\"を "\\" にしてみたらファイル名を渡すことが出来ました。
しかし今度は、「そんなファイルは存在しません」というメッセージが出てきました。 これはまた別の件として質問させていただきます。
もしよかったらそちらの方にもご回答いただけると有難いです。
投稿日時 - 2018-10-14 12:48:45
たいせつな将来のこと。あえて、知らない人に聞いてみよう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


OKWAVE若者応援スペシャル企画

ピックアップ

ページ先頭へ