【问题标题】:PHP FTP fwrite() to Windows server not working?PHP FTP fwrite() 到 Windows 服务器不起作用?
【发布时间】:2012-07-24 19:55:16
【问题描述】:

我正在尝试通过 FTP 包装器将fwrite() 从基于 UNIX 的服务器发送到使用 PHP 的基于 Windows 的服务器。我连接成功,并且能够(例如)创建目录。但是,我似乎无法将文件写入文件夹!当我使用 FTP 客户端查看目录权限时,我注意到它们都是 0000,并且无法更改。显然,基于 Windows 的服务器不使用相同的 FTP 权限系统。

那么……怎么了?你有什么建议吗?我可以使用 FTP 客户端将文件上传到目录,但是当我尝试使用 PHP 写入文件时,什么也没有发生。

我完全不知道为什么会发生这种情况。我已经通过写入基于 UNIX 的服务器确认我的脚本可以正常工作,所以这不是问题。目标服务器没有安装 PHP 的事实有可能吗?我不这么认为,但我现在对任何想法都持开放态度!

谢谢!


编辑 - 真正让我感动的是我能够创建目录,所以写作不应该工作没有任何意义。在 Windows 服务器上,是否有一些设置会阻止只写入文件,而不是文件夹?

EDIT 2 - 更多研究告诉我,虽然你不能在 Windows 服务器上进行 CHMOD,但 PHP 的 CHMOD 仍然以某种方式对权限进行了处理。但是,这似乎对我不起作用。有没有办法直接使用 PHP 代码更改权限,或者这是否必须直接在服务器上完成,超出我的能力范围?

【问题讨论】:

  • 你是如何使用 PHP 创建目录的?
  • 你用的是什么 ftp 客户端?
  • 您是否要写入已经存在的文件?
  • Jim:我已经使用 FireFTP 成功上传了文件。
  • Drew010:两种方法我都试过了。

标签: php windows unix ftp


【解决方案1】:

我推荐file_put_contents,并确保允许 PHP 写入该目录。

【讨论】:

  • 来自 PHP 手册:“这个函数等同于依次调用 fopen()、fwrite() 和 fclose() 来将数据写入文件。”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-11
  • 1970-01-01
  • 1970-01-01
  • 2011-07-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多