【问题标题】:PHP simple upload script missing input field. Why?PHP 简单上传脚本缺少输入字段。为什么?
【发布时间】:2013-09-23 00:36:36
【问题描述】:

我正在研究一本书(Learning PHP, MySQL, JavaScript, and CSS 2nd Ed)中的一些示例,并从书中逐字复制了以下代码,其中显示了显示输入字段的结果。当我运行脚本时,上传功能有效,但我缺少输入字段。为什么?搜索 Google 时,我似乎找不到任何解决方案。这是书上的错误吗??

代码如下:

<?php // upload.php
echo <<<_END
<html><head><title>PHP Form Upload</title></head><body>
<form method='post' action='upload.php' enctype='multipart/form-data'>
Select File: <input type='file' name='filename' size='10' />
<input type='submit' value='Upload' />
</form>
_END;

if ($_FILES)
{
$name = $_FILES['filename']['name'];
move_uploaded_file($_FILES['filename']['tmp_name'], $name);
echo "Uploaded image '$name'<br /><img src='$name' />";
}
echo "</body></html>";
?>

编辑 - 这是书中的图片结果:http://i.imgur.com/h4rEVWU.jpg

【问题讨论】:

  • 那里显示了什么样的输入?它应该怎么做?而且,在这段代码中,这里只有一个 sumbit 和一个“文件”按钮。
  • 根据书中的截图,应该有一个输入栏,旁边有一个浏览按钮,但不知为什么我认为它被排除在代码示例之外了。
  • @Chip:您所描述的是input type="file",它在这段代码中。该输入是否未显示在您的页面中?
  • 这是我在 Chrome 和 FF 中显示的截图:i.imgur.com/TwDKz3Q.jpg
  • 我在该图像中看到了输入字段。您还说“当我运行脚本时,上传功能有效” - 如果没有输入字段,它将无法工作。你期待看到什么?

标签: php input field


【解决方案1】:

看看以下内容:

HTML input type="file" in Chrome does not show textbox

以及提供的解决方案: http://www.quirksmode.org/dom/inputfile.html
看起来一些现代浏览器选择不为 input type="file" 呈现文本框。如果您想要或需要文本框,那么第二个链接在 javascript 中有一个解决方案

【讨论】:

  • 谢谢。这是我一直在寻找的直截了当的答案,以消除我的困惑。由于我正在学习 PHP,我很想填补任何知识空白,尽管这似乎微不足道,但它一直困扰着我。 :)
猜你喜欢
  • 2010-09-22
  • 1970-01-01
  • 1970-01-01
  • 2014-03-18
  • 1970-01-01
  • 1970-01-01
  • 2012-11-20
  • 2014-01-28
  • 1970-01-01
相关资源
最近更新 更多