勉強したことのメモ

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からDBX Platformを利用してDropbox内のファイルを削除する方法
PHPからDBX Platformを利用してDropbox内のファイルを削除する方法

以前にPHPからDropboxのファイル一覧のデータ(ファイル名や更新日時等)を ...

PHPでJavaScriptを圧縮するライブラリ「JShrink」の利用方法
PHPでJavaScriptを圧縮するライブラリ「JShrink」の利用方法

サイト内でJavaScriptを用いる場合、外部のライブラリやプラグインだと圧縮 ...

PHPにて特定の処理にかかった時間とメモリ使用量を測定する方法
PHPにて特定の処理にかかった時間とメモリ使用量を測定する方法

PHPにて特定の処理にかかった時間とメモリ使用量を測定したい。以下にソースコード ...

formにGoogle reCAPTCHA v3を組み込み、PHPでスコア判定する方法
formにGoogle reCAPTCHA v3を組み込み、PHPでスコア判定する方法

だいぶ前にGoogle reCAPTCHA v2をformに組み込むという記事を ...

AlmaLinux8系に異なるバージョンのPHPをインストールする方法
AlmaLinux8系に異なるバージョンのPHPをインストールする方法

AlmaLinux8系&Apache2.4系の環境に異なるバージョンのP ...