PHPでファイルサイズを取得する方法を現役エンジニアが解説【初心者向け】
初心者向けにPHPでファイルサイズを取得する方法について現役エンジニアが解説しています。ファイルサイズを取得する方法にはfilesize関数を使う方法があります。filesize関数とは、引数にファイルを指定するとファイルのサイズを調べてくれる関数です。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
今回は、PHPでファイルサイズを取得する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。
PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。
今回は、PHPに関する内容だね!
どういう内容でしょうか?
PHPでファイルサイズを取得する方法について詳しく説明していくね!
お願いします!
この記事はPHPでファイルサイズを取得する方法について解説します。PHP開発でファイル操作を行うことがあります。
その際にファイルのサイズが何バイトなのかを調べるときにfilesize関数を使います。
この記事を参考にfilesize関数の使い方を覚えていきましょう。
目次
filesize関数とは
filesize関数とはファイルのサイズを調べるために準備されたPHPの標準の関数です。
サイズの単位はバイト単位になります。
[PR] PHPを学んで未経験からWebエンジニアを目指す方法とは
filesize関数の使い方
filesize関数は以下のように使えます。
ファイルサイズ = filesize(ファイル名);
filesize関数の引数にはファイルサイズを確認する名をファイルパスから指定します。戻り値は引数として設定したファイルのファイルサイズをバイト単位で返します。
引数に設定したファイルが存在しない場合はfalseを返し、Warningエラーが表示されます。
実際に書いてみよう
では実際にPHPでfilesize関数を使ってファイルの大きさを調べるプログラムを作成してみましょう。
プログラムソースコード
<?php // ファイルが存在する時はバイト単位でファイルサイズが返ってくる $filesize01 = filesize('/Library/WebServer/Documents/test/test.txt'); var_dump($filesize01); echo '<br/>'; // ファイルが存在しない時はfalseを返し、Warningエラーが表示される $filesize02 = filesize('/Library/WebServer/Documents/test/test02.txt'); var_dump($filesize02); ?>
実行結果
int(3079) Warning: filesize(): stat failed for /Library/WebServer/Documents/test/test02.txt in /Library/WebServer/Documents/TEST/test.php on line 8 bool(false)
今回3079バイトのtest.txtを準備しました。filesize関数の引数に設定すると数値型で3079という値が戻ってきました。
また、ファイルが存在しないパスやファイル名を設定するとfaleを返しつつ、Warningエラーを表示させます。
まとめ
この記事ではPHPでファイルサイズを取得する方法について解説しました。
筆者プロフィール
メンターSさん
システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。 JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。