現在ファイル名を拡張子と拡張子の前で分けて変数に格納しています。
以下がコードになります。
$file = $_FILES['file']['name']; $ext = substr($file, strrpos($file, '.')); $name = basename($file, $ext);
上記の$nameをechoすると.xlsxとなっています。
添付したファイルは「テスト.xlsx」です。
そして「テスト_サンプル.pdf」を添付すると_サンプル.pdfと表示されます。
また「1テスト.xlsx」を添付すると期待通りに「1テスト」と表示されます。
始まりの文字が日本語だとダメなのでしょうか。
setlocale(LC_ALL,'C.UTF-8');やsetlocale(LC_ALL,'C.utf8');を記述しても結果は変わりませんでした。
setlocale(LC_ALL,'C.UTF-8');やsetlocale(LC_ALL,'C.utf8');はファイルの上部に記述しました。
解決するにはサーバーの設定等が必要なのでしょうか。
追記
XAMPPだと期待通りの動作をします。
お力添えいただけますと幸いです。
よろしくお願いいたします。
環境
PHP : 7.4(LiteSpeed版)
サーバー : ロリポップ
【XAMPP】
php:7.4.5
回答1件
あなたの回答
tips
プレビュー