【问题标题】:php move_uploaded_file not working on Windows 7 onlyphp move_uploaded_file 仅在 Windows 7 上不起作用
【发布时间】:2009-12-22 02:41:27
【问题描述】:

我有一个正在为其设置文件上传的项目。该项目在 Zend 中,但我使用 PHP 的 $_FILES 数组和 move_uploaded_file 来保存文件。这在我的 Windows Vista 计算机上运行良好,但不会在 Windows 7 上保存文件。

它为每次上传创建一个新文件夹没有问题,但不会保存文件并且不会给出错误消息。它与另一台计算机的代码完全相同(从源代码控制中获取),并且都使用 PHP 5 和 WAMP 服务器。任何想法为什么 Windows 7 计算机不会保存?我什至为上传文件夹添加了“所有人”的完全控制权。

【问题讨论】:

  • 您是否检查过 Windows 7 中的事件查看器是否有任何错误?
  • 您是否显示错误? error_reporting(E_ALL) 是否添加了一些输出?
  • 我猜这是一个安全/权限问题。

标签: php zend-framework file-upload


【解决方案1】:

在 Windows 7 中:

  1. 转到这个位置 -> C:\Windows\Temp
  2. Windows 将请求许可-> 按 go 或 Confirm 或 yes
  3. 然后重试上传文件
  4. 完成

【讨论】:

    【解决方案2】:

    如果您将文件保存在系统驱动器中,由于其安全性,您可能会遇到问题.. 尝试将您的 WAMP 和 PHP 转移到其他本地驱动器中。但是如果你坚持把它放在你的系统文件中。试着解决它的安全问题。祝你好运!

    【讨论】:

    • 我已经为“所有人”添加了完全控制权限,并且我还看到了 ZendUser,所以我也添加了权限,但仍然没有运气。你知道我还应该为谁授予权限吗?
    【解决方案3】:

    当你创建你想要移动它的文件夹时,你是否在 php 中设置了权限?当我切换到 Windows 7 时,我遇到了同样的问题,设置权限为我解决了这个问题。

    mkdir("/path/to/your/dir", 0777);
    

    【讨论】:

      【解决方案4】:

      我在 php.net > 模式参考上读到 chmod 被 windows 忽略。我无法通过使用 mkdir /path/to/directory 或 path\to\directory\ 在 Windows 7 上创建 mkdir。我还尝试编辑用于新文件夹的父(根?)目录的权限。这里还没有找到解决方案。在取消选中文件夹设置上的框后,该文件夹将恢复为只读状态,所以这可能是其中的一部分

      【讨论】:

        猜你喜欢
        • 2017-09-30
        • 1970-01-01
        • 2018-07-06
        • 2012-04-14
        • 2016-03-11
        • 2019-04-09
        • 2016-12-14
        • 2016-10-01
        • 2020-11-04
        相关资源
        最近更新 更多