这有属性吗?因为如果有,我找不到它。
我想要做的只是回显用户在提交表单后选择的文件名。为了清楚起见,它已经显示了文件名,但问题是表单可能以错误的状态提交,在这种情况下,黄色文本会返回到"没有选择文件。"我只需要在提交表单后保留文件名。
我有一张表格......
<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>
在页面上,我想在提交表单后,在选择这样的文件时将黄色文本更改为文件名。
答案 0 :(得分: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>
答案 1 :(得分:0)
获得文件后,您应该可以从中获取originalName
属性。试试$fileName = $request->file('name')->getClientOriginalName();
。
注意:这是未经测试的,我假设file()
对象上的Request
方法返回UploadedFile
实例,而Laravel的UploadedFile
类要么扩展Symfony的或直接使用它。