🐔

Linux「ファイル名は255バイトまでにしてね」

2022/08/04に公開約500字

背景

著者のプロフィール

・SaaSを提供している自社開発企業で開発。
・エンジニア歴2年強。


問題になったこと

自社製品でLaravelを使用してPDFを作成する処理を実装するタスクがあり、サーバー上でのみPDFが作成されない問題が発生。

結論

ファイル名が長すぎたためだった。
今回はユーザーごとに固有のファイル名にするためユーザー情報をスネークケースで繋げるため長くなってしまうケースがあった。
例:

{ユーザー名}_{固有ID}_.pdf

調べていくと、、、
Linuxで作成できるファイルはファイル名が255バイト以下のみらしいです。

ちなみにUTF-8で日本語は3バイト、英数字は1バイトとなっておりますので日本語でファイルを作る場合は84文字ほどが限界なのでご注意ください。
例:バイト数の計算例

ファイル名
test太郎_123456789.pdf

各文字列のバイト数
test ・・・ 4バイト
太郎 ・・・ 6バイト
_ ・・・ 1バイト
123456789 ・・・ 9バイト
.pdf ・・・ 4バイト

合計 24バイト

まとめ

Linux上でファイルを作成する場合はお気をつけてください。

Discussion

ログインするとコメントできます