ファイル選択パスにおける「C:fakepath」の不一致について
HTML のファイル入力コントロールを使用してファイルを選択すると、実際のローカル ファイルの場所ではなく、「C:fakepath」のような一見架空のパスです。この見かけのパスは、実際のファイル システムの場所ではなく、プレースホルダ ブラウザのセキュリティ対策です。
なぜこれが起こるのですか?
一部のブラウザは、悪意のある Web サイトを防ぐためにこのセキュリティ機能を実装しています。ユーザーのローカル ファイル システムにアクセスできないようにします。本当のパスではなく偽のパスを報告することで、データ侵害やプライバシー問題の可能性を制限します。
真のローカル ファイル パスの取得
ブラウザがアクセスを制限している間真のローカル ファイル パスへの変換が必要となる正当なシナリオ (ローカル処理やストレージなど) があります。このような場合は、ブラウザのセキュリティ対策を考慮した代替アプローチに頼る必要があります。
1 つのオプションは、FileReader API を使用して、選択したファイルの内容を読み取り、ローカル ファイルに保存することです。 FileReader API は、ファイルのコンテンツを取得するための readAsText() や readAsArrayBuffer() などのメソッドを提供します。あるいは、Blob API を使用して、選択したファイルからファイルを作成し、それをユーザーのシステムに保存することもできます。
結論
ブラウザのセキュリティ対策により、直接的なアクセスは防止されます。真のローカル ファイル パスにアクセスするには、FileReader や Blob API などの代替メソッドを使用して、ブラウザーのセキュリティ上の懸念を尊重しながら目的の機能を実現できます。
以上がファイル入力に実際のパスではなく「C:\fakepath\」が表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。