勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

PHPでCannot re-assign auto……のエラー

   2024/02/20  PHP

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

  関連記事

PHPでOGPタグ(metaタグ)を簡単に取得できる「OpenGraph.php」の利用方法
PHPでOGPタグ(metaタグ)を簡単に取得できる「OpenGraph.php」の利用方法

PHPでOGPタグ(metaタグ)を取得する際、file_get_content ...

数値を3桁とかでカンマ区切りにする
数値を3桁とかでカンマ区切りにする

見たこと無い関数が業務中にあったのでメモ。 number_format ■参考サ ...

PHPでCSVファイル出力用の関数
PHPでCSVファイル出力用の関数

ここのところログ系をCSVファイル出力にするケースが多かった為、使いまわせるよう ...

PHPで指定したディレクトリ内のファイル名を取得し、更新日時順でJSON形式にて出力する方法
PHPで指定したディレクトリ内のファイル名を取得し、更新日時順でJSON形式にて出力する方法

先日summernoteに対してギャラリー画像挿入機能を追加する方法をメモしたが ...

AlmaLinux8&PHP8系の環境にComposerをインストールする方法
AlmaLinux8&PHP8系の環境にComposerをインストールする方法

AlmaLinux8&PHP8系の環境にComposerをインストールし ...