【问题标题】:I'm not getting the data from the $_FILES["file"]["type"] and $_FILES["file"]["size"] even though $_FILES["file"]["name"] is retuning the filename即使 $_FILES["file"]["name"] 正在重新调整,我也没有从 $_FILES["file"]["type"] 和 $_FILES["file"]["size"] 获取数据文件名
【发布时间】:2011-11-26 19:44:35
【问题描述】:

$_FILES全局变量中,我使用的时候

  1. $_FILES["file"]["name"] :我正在获取我正在上传的文件的名称。
  2. $_FILES["file"]["type"]:这里我得到空白数据。但是当我对这个变量(isset($_FILES["file"]["type"]))使用 ISSET 函数时,它返回 1。
  3. $_FILES["file"]["size"]:返回零。

我真的不知道,这个问题的真正原因是什么? (据我观察,在创建新记录的情况下不会发生此问题,即在表中添加新记录并将指定文件上传到服务器。 但是,只有当我尝试编辑现有记录时才会发生上述问题,即通过上传新文件将旧文件替换为新文件。)

【问题讨论】:

  • 检查$_FILES['userfile']['error'] 是否有错误php.net/manual/en/features.file-upload.php
  • 感谢 Galen .... 我找到了它发生的原因?上传文件超过最大值。文件大小限制。
  • @Galen 谢谢。你为我节省了很多调试时间。

标签: php html file


【解决方案1】:

来自manual...

If no file is selected for upload in your form, PHP will return $_FILES['userfile']['size'] as 0, and $_FILES['userfile']['tmp_name'] as none.

此外,当您检查$_FILES["file"]["type"] 时,isset 返回 true,因为它已设置,即变量存在,但其值为空。代替 isset,使用if (empty($_FILES["file"]["type"]))

你不应该相信$_FILES["file"]["type"],因为它可能被用户欺骗,或者完全是错误的。

只有在没有上传文件的情况下才会出现上述错误?还是上传了文件?可能是文件存在错误,因此未设置数组的这些部分。

发布更多代码和对问题的描述性更强的解释以及如何重现它,我们可以提供更多帮助。

【讨论】:

  • 文件被选中,因为我可以通过使用 'echo "Filename = " 看到该文件。 $_FILES["userfile"]["name"],但是当我使用类型和大小索引名称时,我没有得到任何与所述文件相关的数据。
  • 我不知道,这是否是我的测试平台问题,因为我在我的独立机器上为我的整个项目使用 WAMP(一台机器同时充当 Web 服务器和客户端。)我会非常感谢,如果这个小组中的任何人在这个问题上与我分享他们的知识。谢谢
  • $_FILES['file']['tmp_name'] 设置了吗?如果是这样,如果你在上面调用 file_get_contents 内容是否正确?
  • 这是我的示例代码: if( isset($_FILES["userfile"]["name"]) ) { if( trim($_FILES{"userfile"]["name"]) != "") { if($FILES["userfile"]["type"] == "aplication/pdf" && $_FILES["userfile"]["size"] > 2000000) { echo "文件是 PDF 并且它的大小小于指定的最大大小。"; } else { echo "文件不是 PDF 或大于最大文件大小。"; }
  • $_FILES['userfile']['error'] 显示的不是 0 吗?
【解决方案2】:

前几天让我绊倒的事情 - 确保 php 可以访问写入 tmp 文件的目标目录。它应该在 open_basedir 中,并且可以由您的服务器(apache/nginx 等)写入 :)

【讨论】:

    猜你喜欢
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2016-03-18
    相关资源
    最近更新 更多