1

アップロードされたファイルの拡張子を取得して、自分のページにエコー バックしようとしています。

$file_name = $_FILES['profile_pic']['name'];
$file_extn = end(explode('.', $file_name));
$file_temp = $_FILES['profile_pic']['tmp_name'];

echo $file_extn;

私が受け取っているエラーは

厳格な基準: 67 行目の C:\xampp\htdocs\reptile_forum+help\includes\widgets\logged_in.php では、参照によって変数のみを渡す必要があります。

67行目は"$file_ext ="

私はend()正しく使用していませんか?同じ結果を得るために使用できるものは他にありますか?

注: を削除end()して使用すると、配列は完全に表示されますが、配列などを登録していないprint_r()ように見えます。end()

4

2 に答える 2

2

主な問題は、これを完全に間違った方法で行っていることです。メスで十分な場合は、大量のバズーカを使用しないでください。

$file_extn = pathinfo($file_name, PATHINFO_EXTENSION);

配列も爆発もありません。あなたがやろうとしていることについて明らかな単純なコードです。

于 2013-06-28T18:40:38.573 に答える
1

これを試して :

$file_name = $_FILES['profile_pic']['name'];
$file_extn = pathinfo($file_name, PATHINFO_EXTENSION);
$file_temp = $_FILES['profile_pic']['tmp_name'];

echo $file_extn;

問題は、それを分解して結果を 1 回のアクションで終了関数に送信しようとしたことです。ほとんどのメソッドで機能しますが、変数を参照として渡す必要があるため、このメソッドでは機能しません。

代わりに pathinfo を使用するように変更しました。これは、ファイル拡張子を見つけるためのより良い方法です。ここでそれについて読むことができます:

http://php.net/manual/en/function.pathinfo.php

于 2013-06-28T18:36:20.727 に答える