- 締切済み
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には値が入っています。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- ahoo_ok
- ベストアンサー率31% (30/95)
>Windowsの「メモ帳」なんかは使わずにハイライト機能のあるエディタを使えばこの手のエラーはだいたい原因が分かるんですけどねぇ どうせならEclipse+PDTあたりのIDEでしょう。 自分で探さずともIDEが構文チェックもしてくれる。
Windowsの「メモ帳」なんかは使わずにハイライト機能のあるエディタを使えばこの手のエラーはだいたい原因が分かるんですけどねぇ… Ideone上での実行結果 http://ideone.com/CwWzby 本当にこの通りであれば、文法エラーは見つからないことになります。他に原因があるはずです。最悪その「動かないコード」をideoneで実行したものを貼ってもらえれば原因が分かるのでまた回答します。 (蛇足) ファイルアップロードに関するネット上のサンプルは手順が不適切であることが多いので、私の記事を一度は参照してみてください。エラーを絶対に発生させない&セキュリティホールを絶対に作らないことを目標として、公式マニュアルより丁寧に記述しています。 ファイルアップロードの例外処理はこれぐらいしないと気が済まない http://qiita.com/mpyw/items/939964377766a54d4682
お礼
ありがとうございました。
補足
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で実行したら上記のエラーが出ました。
- yambejp
- ベストアンサー率51% (3827/7415)
もし$upload_name_lが配列だったら >$new_name_log = "{$upload_name_l}\n"; というのはおかしくないですか? 逆に配列じゃなかったら >array_push($upload_name_l, $new_name_log); がおかしい
お礼
ありがとうございます。Dreamwaverを使って、シンタックスエラーが出たのですが、なぜかよく分かりませんでした。