0

UNIX で php を使用しており、参照ボタンから実際のパスを取得しようとしています。使ってみた

echo $_FILES['nom_du_fichier']['temp_name']

しかし、私は一時的なパスだけを手に入れました。

4

2 に答える 2

0

tmp_name配列に指定されているの$_FILESは、アップロードされたファイルに対してサーバーのファイルシステムで意図的に生成された一時的な名前です。保持したい場合は、ファイルを自分でサーバー上の最終的な宛先に移動する必要があります。

ここではmove_uploaded_file()が最善の策です。PHP で処理された POST リクエストを介して実際にアップロードされたのではないファイルに作用しないようにするための保護があります。

代わりに、ユーザーのファイル システム上のファイルのフル パス(つまり、ユーザーのハード ドライブ上のファイルの場所) を取得する場合、ブラウザーはその情報をサーバーに送信しません。これを実現するには、クライアント側のスクリプトを使用する必要があります。ただし、そのような情報が Web アプリにとって役立つ理由は想像できません。

于 2013-03-31T03:06:30.493 に答える
0

通常、$_FILES 変数でシステム パスを取得することはできません。PHP の $_FILES 変数には、HTML ページから Web サーバーにアップロードされるファイルの情報が常に含まれているためです。

クライアント マシンのファイル パスの場所を取得できない理由は、セキュリティです。あなたがウェブサイトのユーザーである一般的なシナリオとして考えてみてください。したがって、内部ファイル構造が公開されることは決してありません。現代のすべてのブラウザーでは、JavaScript からでもクライアントの場所を公開しません。

クライアントブラウザから完全なファイルの場所が本当に必要な場合は、フラッシュまたはアクションスクリプトを使用してフォームを作成する必要があります

于 2013-03-31T03:14:49.070 に答える