PHPでCannot re-assign auto……のエラー
2024/02/20
PHPバージョンアップに伴い「Fatal error: Cannot re-assign auto-global variable _FILES in(翻訳:致命的なエラー: 自動グローバル変数 _FILES を再割り当てできません)」というエラーが発生していた。対処方法をメモ。
原因
スーパーグローバル変数をパラメータ名に使っていたがPHP5.4以降だとfatal errorになる。以下リファレンス。
http://php.net/manual/ja/migration54.incompatible.php
対応方法
#以下だとエラー
function hoge( $_FILES ){
}
#以下に変更する。$fileは適当な名前で設定する
function hoge( $file ){
}
まとめ
関数のパラメータ名にグローバル変数を使用してはいけない。今回は$_FILESだったけど$_POSTや$_GETなどもダメなので注意する。
関連記事
-
-
MySQLのREGEXPで半角記号を検索したい場合の対応方法
MySQLのREGEXPで半角記号を検索したい場合\\を付けてエスケープしないと ...
-
-
迷惑メール対策でフォームにGoogle reCAPTCHA v2を導入する方法
お問い合わせフォームのスパムメール対策としてreCAPTCHAを導入したいという ...
-
-
PHPからRedisを利用する際のよく使う構文について
PHPからRedisを利用する際のよく使う構文について以下にメモ。 ...
-
-
Laravelのディレクトリ構造・バージョン・DB接続情報確認
Laravelで作成されているシステムに携わることがあった。しかしながら当方La ...
-
-
UTF-16にエンコードされている文字列をUTF-8へデコード
エンコードされている文字列であまり見かけない感じのものがあった。UTF-8やSh ...