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などもダメなので注意する。
関連記事
-
-
PhpSpreadsheetでフォーマット用のエクセルを読み込み、指定したセルにデータを書き込んだ上で別名で保存する方法
PHPで納品書等のフォーマット用のExcelを読み込み、指定したセルにデータを書 ...
-
-
Composer自体のインストールとmonolog及びTwigをComposer経由でインストールする方法
「Composerで○○をインストール」というのをよく見かけるがComposer ...
-
-
PHPで一括出力ではなく、ひとつずつ順次に出力する方法
PHPで重たい処理とかをしている際に、途中報告みたいな形で順次出力させる方法のメ ...
-
-
PHPでis_fileとfile_existsについて
ファイルの存在チェックを行う際に、file_exists関数を 使用していたが、 ...
-
-
PHPにて指定した期間内の日付を1日ずつループで出力する方法
PHPにて開始日と終了日をユーザが入力すると、その期間内の日付をYYYY-MM- ...