みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

phpで困っています。

phpの初心者です。画像をアップロードするプログラムを作っていているのですが、

Parse error: syntax error, unexpected T_VARIABLE

というエラーが出ます。

$new_name_log = "{$upload_name_l}\n";

array_push($upload_name_l, $new_name_log);

file_put_contents($save_name_file, $name_log);

この3行に原因があるので調べてみると、WEB上のサイトからソースコードをコピペしてきたときに陥りやすい、インデント(字下げ)のために、タブではなく全角スペースを使っていたのが原因とありました。確かに以前に作ったもののコピペです。コピーもとのプログラムはエラーは出ていません。全角スペースなども確かめたり、コピペではなく、自分で入力したりしてもエラーが消えません。どのように修正すれば良いのでしょうか。変数$upload_name_lや配列$upload_name_lには値が入っています。

投稿日時 - 2014-06-26 17:35:34

QNo.8654377

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>Windowsの「メモ帳」なんかは使わずにハイライト機能のあるエディタを使えばこの手のエラーはだいたい原因が分かるんですけどねぇ
どうせならEclipse+PDTあたりのIDEでしょう。
自分で探さずともIDEが構文チェックもしてくれる。

投稿日時 - 2014-06-28 03:11:38

お礼

ありがとうございます。Dreamwaverを使って、シンタックスエラーが出たのですが、なぜかよく分かりませんでした。

投稿日時 - 2014-07-06 15:52:52

ANo.2

Windowsの「メモ帳」なんかは使わずにハイライト機能のあるエディタを使えばこの手のエラーはだいたい原因が分かるんですけどねぇ…

Ideone上での実行結果
http://ideone.com/CwWzby

本当にこの通りであれば、文法エラーは見つからないことになります。他に原因があるはずです。最悪その「動かないコード」をideoneで実行したものを貼ってもらえれば原因が分かるのでまた回答します。


(蛇足)

ファイルアップロードに関するネット上のサンプルは手順が不適切であることが多いので、私の記事を一度は参照してみてください。エラーを絶対に発生させない&セキュリティホールを絶対に作らないことを目標として、公式マニュアルより丁寧に記述しています。

ファイルアップロードの例外処理はこれぐらいしないと気が済まない
http://qiita.com/mpyw/items/939964377766a54d4682

投稿日時 - 2014-06-26 21:00:56

補足

Runtime error

stdin
Standard input is empty

stdout
Standard output is empty

stderr
copy

PHP Parse error: syntax error, unexpected 'file_put_contents' (T_STRING) in /home/CHQnhj/prog.php on line 160

ideoneで実行したら上記のエラーが出ました。

投稿日時 - 2014-07-06 15:51:11

お礼

ありがとうございました。

投稿日時 - 2014-07-06 15:51:14

ANo.1

もし$upload_name_lが配列だったら
>$new_name_log = "{$upload_name_l}\n";

というのはおかしくないですか?
逆に配列じゃなかったら

>array_push($upload_name_l, $new_name_log);

がおかしい

投稿日時 - 2014-06-26 17:55:22

あなたにオススメの質問