5
    $file_name = $_FILES['profile_image']['name'];
    $file_ext = end(explode('.', $file_name)); //line 10
    $file_ext = strtolower($file_ext);
    $file_temp = $_FILES['profile_image']['tmp_name'];

厳格な基準: 10 行目で変数のみを参照渡しする必要があります

このエラーを取り除くにはどうすればよいですか? よろしくお願いします:)

4

3 に答える 3

15

end()は、そのパラメーターが参照渡しできることを想定しており、参照渡しできるのは変数のみです。

$array = explode('.', $file_name);
$file_ext = end( $array); 

これを修正するには、最初に配列を変数に保存してから を呼び出しend()ます。

于 2012-08-06T20:43:36.117 に答える
0

配列の最後の項目が必要な場合は、次のようにします。

$arr = explode(".", $file_name);
$file_ext = $arr[count($arr) - 1];

ファイルから拡張子を取得しようとしている場合は、次を使用します

$ext = pathinfo($file_name, PATHINFO_EXTENSION);
于 2012-08-06T20:44:44.587 に答える
0

実際、 $ext = end(explode('.', $filename)); と書くと ファイル拡張子を取得するには、「変数のみを参照渡しする必要があります」をphpで表示できます。このため、次のように 2 つの手順を使用してみてください。$ext = end($tmp);

于 2017-11-09T02:01:23.140 に答える