0

私は自分のコンピューターで wampserver を使用しており、単純な html フォームを作成しました。

 <form name="test" action="upload_file.php" method="post">
 <label for="file">Filename:</label>
 <input  type="file" name="picurl" id="file" ><br>
 <input  type="submit" name="submit" value="Submit"  >
 </form>

「参照」をクリックしてファイルを開くと、たとえばpil.pngが入力テキストエリアにフルパス(C:\Users\hope\Desktop\images\pil.png)を表示します。この正確なリンクを保存したいのですが、 $name = $_POST["name"];これをキャッチしようとしましたが、これはフルパスではなく "pil.png" のみを表示します。なぜ?

4

4 に答える 4

4

完全なローカル ファイル パスを取得できません。ファイル データ自体とその名前のみがサーバーに送信されます。入力要素に表示されるファイル パスは視覚的なスタイリングのみであり、機能はありません。

セキュリティ上の理由から、ファイル要素は非常に制限されていますが、これは良いことです。

于 2012-12-07T08:55:49.337 に答える
1

ブラウザは、プライバシーの問題になるため、フル パスを送信しません。ファイル システム構造をサーバーに公開することになります。サーバーには関係なく、サーバーはファイルがクライアントのファイルシステムのどこにあったかを知る必要はありません。

于 2012-12-07T08:55:16.400 に答える
-2

試す

var_dump($_FILES['picurl']);
于 2012-12-07T09:02:10.867 に答える
-2

パスを要求していないため、file_name のみを取得しています。

使用する必要があるフルパスを取得するには

public string SplFileInfo::getRealPath ( void )
于 2012-12-07T08:57:33.080 に答える