繁体   English   中英

如何更改为文件输入形式或“ input type ='file'”显示的文本

[英]how do I change the text that is displayed for file input form, or “ input type='file' ”

有这个属性吗? 因为如果找不到我。

我想做的就是在提交表单后回显用户选择的文件名。 为了清楚起见,它已经显示了文件名,但是问题在于表单可能以错误的状态提交,在这种情况下,黄色文本返回到“未选择文件”。 提交表单后,我只需要保留文件名即可。

我有一个表格...

 <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>

在页面上,一旦提交表单,我想将黄色文本更改为文件名。

在此处输入图片说明

当您的显式问题询问如何更改文本时,隐含的问题是您要设置输入的值,以便将同一文件再次上载。

你不能那样做。 那将需要允许页面作者确定从用户计算机上载了什么文件。 这将是严重的安全风险。

您可以做的是将上载的文件存储在服务器上(例如,在具有定期删除旧文件的temp目录中,例如使用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>

获得文件后,您应该可以从中获取originalName属性。 尝试$fileName = $request->file('name')->getClientOriginalName();

注意:这未经测试,我假设Request对象上的file()方法都返回一个UploadedFile实例,并且Laravel的UploadedFile类正在扩展Symfony的类或直接使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM