【Laravel8.x】取得したファイルに拡張子があるかどうか確認したい。

今回はLaravelで取得したファイルの拡張子があるのかどうかを確認したいということで、指定した文字列を取得できる関数を使ってみました。

substr関数を使う

php公式ドキュメント
https://www.php.net/manual/ja/function.substr.php

これは指定した文字列が取得できるんだな。

例えばこんな感じ

$test1 = substr("helloWorld", 0);   //"helloWorld"を返す
$test2 = substr("helloWorld", 2);   //"loWorld"を返す
$test3 = substr("helloWorld", -5);  //"world"を返す
$test3 = substr("helloWorld", -2);  //"ld"を返す
Code language: PHP (php)

第1引数=対象の文字列
第2引数=取得する文字列

第2引数が正の場合は0から始まってそれ以降の文字列を取得。
第2引数が負の場合には-1から始まってそれ以降の文字列を取得します。

拡張子を取得する

今回の場合は以下の使い方をしました。

$test = "hello.pdf";
if(substr($test, -4) != ".pdf"){
    echo "拡張子(PDF)がない";
}elseif(substr($test, -4) == ".pdf"){
    echo "拡張子(PDF)がある";
};
Code language: PHP (php)

こんな感じで拡張子があるかどうか判断しました。

まとめ

Pythonを学習しているときにも同じような関数があったので、「あんな奴Pythonであったしphpでもつかえるかなあ」と応用できたのでよかったです!

ちなみにPythonはこんな感じ↓

【文字の位置を指定する】Pythonで文字の場所を指定していろいろしてみる スライス

とにかく進めるのが良いですね!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA