繁体   English   中英

用于PHP文件上传的HTML表单:无文本框

[英]HTML form for PHP file upload: no textbox

我的PHP书提供了用于上传文件的模板HTML表单:

<form action="upload.php" method="post" enctype="multipart/form-data"/>
    <div>
        <input type="hidden" name="MAX_FILE_SIZE" value="10000000"/>
        <label for="userfile">Upload a file:</label>
        <input type="file" name="userfile" id="userfile"/>
        <input type="submit" value="Send File"/>
    </div>
</form>

该书将其显示为“上传文件:”[文本框] [浏览...] [发送文件]

我逐字复制了,我得到的结果是“上传文件:”[选择文件]“没有选择文件”[发送文件]

我想知道为什么存在这种差异。 有办法解决吗? 我正在使用XHTML Transitional。 书中没有给出doctype。 但我怀疑这是问题所在。

我正在编写的脚本旨在获取用户选择的文件,对其进行处理,然后将结果写入另一个尚不存在的文件中。 我问这个问题是因为让用户更轻松地复制初始文件路径/名称,将其粘贴到其他字段中,然后更改其中一部分会很有用。

(另外:为什么“浏览...”和“选择文件”之间的区别?我尝试将“用户文件”字段的值手动设置为“浏览...”,但是什么也没发生。这没那么重要,但是我尽管如此,还是很好奇。)

它可能显示不同的浏览器和/或版本。

听起来好像您在Safari下查看它,并且该书包含IE的屏幕截图。

有几种方法可以完全控制文件上载和<input type="file" />元素。 您可以使用Flash,也可以将input设置为opacity: 0 ,然后将所需内容放置在其下方。

前段时间,浏览器引擎几乎完全控制了输入类型=“文件” - 字段,因为它现在被认为是一个安全问题。 例如,前几天您可以轻松地使用某些路径和文件名(例如/ etc / passwd)预填充文件输入并隐藏字段,因此发送表单时您不会注意到您也在发送文件。 ..这就是为什么例如你不能预设这样一个字段的文件名,这也是为什么浏览器现在都用这些特殊的输入字段做自己的事情。 正如亚历克斯上面所说,你可以解决这个问题,但这将是一些麻烦,因为它意味着“伪造”文件输入字段。

暂无
暂无

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

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