1. ホーム
  2. php

[解決済み] 変数のみ参照渡しとする

2022-02-28 21:57:43

質問

// Other variables
$MAX_FILENAME_LENGTH = 260;
$file_name = $_FILES[$upload_name]['name'];
//echo "testing-".$file_name."<br>";
//$file_name = strtolower($file_name);
$file_extension = end(explode('.', $file_name)); //ERROR ON THIS LINE
$uploadErrors = array(
    0=>'There is no error, the file uploaded with success',
    1=>'The uploaded file exceeds the upload max filesize allowed.',
    2=>'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form',
    3=>'The uploaded file was only partially uploaded',
    4=>'No file was uploaded',
    6=>'Missing a temporary folder'
);

何か思い当たることはありますか?2日経ってもまだ固まったままです。

解決方法を教えてください。

の結果を代入する。 explode を変数に渡し、その変数を end :

$tmp = explode('.', $file_name);
$file_extension = end($tmp);

問題は、その end は参照を必要とします。なぜなら、これは配列の内部表現を変更するからです (すなわち 現在の要素ポインタ は最後の要素を指す)。

の結果は explode('.', $file_name) を参照にすることはできません。これはPHP言語の制限で、おそらく単純化のために存在するのでしょう。