勉強したことのメモ

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

  関連記事

GoogleスプレッドシートとPHPを連携させデータを取得・追記する方法

GoogleスプレッドシートとPHPプログラムを連携させたいという案件をたまに見 ...

Google Maps APIとPHPを組み合わせて複数マーカーとウィンドウを連携させる方法

やりたかった事は以下の通り。 mysqlから経度緯度、マーカー名、マーカーIDを ...

PHPでキーや値は保持したまま順番を入れ替える

PHPで連想配列のキーや値は保持したまま順番をランダムに入れ替えたかった。一発で ...

PHPで外部ファイルから配列を取得

やりたかった事。 ①管理画面で必要項目を入力すると、aaa.phpが 生成される ...

Codeigniter3で異なるデータベースを使用する

Codeigniterで2つのコンテンツがあって、それぞれ別のデータベースを使用 ...