-3

実行するPHPメソッドはありますか:

var filename = $_POST["filename"];
filename = filename.split(".").pop();

PHPで上記と同じことを行うにはどうすればよいですか?

4

4 に答える 4

5

もしかして、こういうこと?

$filetype = array_pop(explode('.',$filename));

Only variables should be passed by referenceそれは通知を生成します。それを取り除きたい場合は、次のものが必要です。

$fileparts = explode('.',$filename); 
$filetype = array_pop($fileparts);

ただし、ファイルの拡張子を取得する最善の方法は、次を使用することpathinfo()です。

$filetype = pathinfo($filename, PATHINFO_EXTENSION);
于 2013-09-30T19:35:53.780 に答える
1

PHP では、おそらく配列に変換してポップする必要はありません。最後の文字の位置を取得してから、残りの文字列を取得します。http://davidwalsh.name/php-file-extensionから:

substr(strrchr($file_name,'.'),1);
于 2013-09-30T19:35:42.840 に答える
1

できますunset($filename[count($filename) - 1]);。配列の最後の要素を削除します。

于 2013-09-30T19:35:50.080 に答える
1

あなたはこれをしたいでしょう:

$filename = $_POST['filename'];
$file_arr = explode(".",$filename); // may need to escape '.' here, can't remember
$filename = array_pop($file_arr);
于 2013-09-30T19:36:08.830 に答える