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

Laravel

今回は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"を返す

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

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

拡張子を取得する

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

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

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

まとめ

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

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

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

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

コメント

タイトルとURLをコピーしました