勉強したことのメモ

webプログラマが勉強したことのメモ。

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などもダメなので注意する。

 - PHP

  関連記事

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関数とかを使ってデータを取得した際 ...