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などもダメなので注意する。
関連記事
-
-
PHPの日付・時刻関連
使えそうなものをまとめてメモ。 【関数】 ----------- ■date 日 ...
-
-
PHPにてユニークかつランダム英数字の文字列を作成する方法
PHPでユニークな文字列を作成したかった。MySQLとかのオートインクリメントの ...
-
-
【2024年版】PHPMailerでGmailのSMTPサーバを経由してメールを送信する方法
だいぶ前に同じようなことをメモしたが、そちらの方法だと送信できずエラー内容を見た ...
-
-
PHPのarray_map / array_walk関数について
他社が作成されたPHPのソースコードを拝見しているとarray_mapという見慣 ...
-
-
PHPにて「ImageHash」ライブラリを使用し画像の類似度を算出する方法
以前にPHPの「image-comparator」ライブラリで画像の類似度を算出 ...