Cannot re-assign auto-global variableのエラー
PHPバージョンアップに伴い「Fatal error: Cannot re-assign auto-global variable _FILES in」というエラーが発生していた。対処方法をメモ。
原因
スーパーグローバル変数をパラメータ名に使っていたがPHP5.4以降だとfatal errorになる。以下リファレンス。
http://php.net/manual/ja/migration54.incompatible.php
対応方法
#以下だとエラー function hoge( $_FILES ){ } #以下に変更する。$fileは適当な名前で設定する function hoge( $file ){ }
まとめ
関数のパラメータ名にグローバル変数を使用してはいけない。今回は$_FILESだったけど$_POSTや$_GETなどもダメなので注意する。
関連記事
-
-
Cookieをできるだけ長い期間保存する方法
あるシステムの中でCookieを可能な限り長い期間保存したいというリクエストを受 ...
-
-
MySQLから任意の順番で取り出す
SELECT * FROM テーブル名 WHERE seq = $seq OR ...
-
-
Basic認証がかかっているファイルをPHPで認証突破と取得
Aというサイトにあるベーシック認証がかかっているディレクトリ内のファイルを、Bと ...
-
-
$_SERVER['PHP_SELF']に脆弱性あり
formのaction属性とかページングのリンクとかで、 <form ac ...
-
-
PHPとSQLiteでi-mobileのデータをグラフ化
i-mobileでクリック保証のアフィリエイトだけど数値が並んでいるだけでグラフ ...
-
-
PHPで日時比較時の注意
PHPで日時を比較する際にミスがあったのでメモ。 基本形は下記。 $limit_ ...
-
-
ディレクトリに設置してあるフォルダをPHPで調べて表示
やりたい事はsampleというディレクトリがあったとして、その直下にあるフォルダ ...
-
-
mPDFで「The /e modifier is …」エラー
pdf関連のPHPライブラリ「mPDF」を使っているページがエラーログにのってお ...
-
-
PHPで「Unable to allocate~」とエラー
PHPで「Unable to allocate memory for pool」 ...
-
-
PHPでxmlのpubDateを見やすい形に整形する
PHPでsimplexml_load_file関数とかを使ってデータを取得した際 ...