2016-12-19 17 views
1

属性はありますか?なぜなら私はそれを見つけることができないからです。ファイル入力フォームに表示されるテキストを変更するにはどうすればよいですか?「入力タイプ= 'ファイル'」

私がしたいのは、フォームの送信後にユーザーが選択したファイル名をエコーアウトするだけです。明確にするため、ファイル名はすでに表示されていますが、フォームが間違った状態で送信される可能性があります。この場合、黄色のテキストは「ファイルが選択されていません」に戻ります。私はフォームを送信した後も持続するためにファイル名が必要です。

私は、ページ上の...

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" enctype="multipart/form-data"> 



        <?php 
//upload files here. 

        $fcount = 0; 
        foreach ($layouts[$my_layout] as $key => $value) { 
         //create the form 
         echo 'choose an image with an aspect ratio of ' . $value; 
         ?> 
        <input type="file" name="filesToUpload[]" > 
</form> 

フォームを持って、私は、フォームが送信されると、このようなファイルは、選択された場合、ファイル名に黄色のテキストを変更したいです。

enter image description here

+1

は私達にあなたのコードを表示 – Blueblazer172

+0

http://stackoverflow.com/q/34841434/4306572 http://stackoverflow.com/q/21241760/4306572 – 3rdthemagical

+0

@ Blueblazer172はちょうど、第三@おかげで – user3738926

答えて

2

明示的な質問ではテキストを変更する方法を尋ねていますが、同じファイルが再度アップロードされるように入力の値を設定することを暗黙の問題として挙げています。

これはできません。そのため、ページの作成者は、ユーザーのコンピュータからどのファイルがアップロードされるかを判断する必要があります。これは重大なセキュリティ上のリスクになります。

アップロードするファイルをサーバー(たとえば、古いファイルが定期的に削除された一時ディレクトリ、たとえばcron)に保存して、新しいフォームにそのファイルへの参照を入れます。

<label> <input type="checkbox" name="already_uploaded_file" value="my_file_identifier" checked> Use foo.jpeg </label> 
<label> Upload a different file <input type="file" name="foo"> </label> 
0

あなたがファイルを持っていたら、あなたはそれからoriginalNameプロパティを取得することができるはずです。試してください$fileName = $request->file('name')->getClientOriginalName();

注:これはテストされていないと私はRequestオブジェクトにfile()方法の両方がUploadedFileインスタンスを返し、LaravelのUploadedFileクラスはsymfonyのクラスを拡張するか、直接使用されるかということと仮定しています。

+0

ありがとう、灰、ありがとう、私はここでフレームワークを使用していません – user3738926

+0

こんにちは、ごめんなさい。私はStackOverflowの2つの別々の投稿が混在しています。 – AshMenhennett

+0

PHPで画像のアップロードを処理するために使用した古いコードをいくつか見てきました。https://github.com/AshMenhennett/CustoMS/blob/master/lib/classes/Models/Post.php#L69。それが助けになるかどうかを見てください。 – AshMenhennett

関連する問題