【问题标题】:PHP - files/folders manipulation issue while onlinePHP - 在线时文件/文件夹操作问题
【发布时间】:2017-04-28 11:54:17
【问题描述】:

我做了一个后台,用一个页面来创建一个新的“相册”(包含照片),它可以创建文件夹、文件、移动上传的照片。

一切都在本地运行,我在将我的工作设置在线之前进行了多次测试。
现在我想在主机上测试它:
我发送文件并填写整个表格。
我提交并等待文件传输。页面应该在传输成功消息后刷新,文件夹文件数据库元素应该被创建,但页面只是刷新为如果没有发送任何内容。并且没有创建任何内容。

我通过.htaccess 为值设置了我修改后的php.ini 路径:

  • max_file_uploads=500
  • upload_max_filesize=50M
  • post_max_size=2500M
  • memory_limit=2500M
  • max_input_time=3600

我的 .htaccess 包含:

suPHP_ConfigPath /home/clanglois/public_html

我在 0755 的许可下使用了函数 mkdir()
DB 对于脚本应该使用的 tables 保持为空,但我知道 DB 连接有效(我添加了一个新用户,它会自动发送电子邮件。这行得通)。

是否有额外的权限设置?

【问题讨论】:

    标签: php .htaccess file-upload directory media


    【解决方案1】:

    可能您没有在服务器上正确写入。尝试添加它。您需要此权限才能使您的脚本能够在磁盘上写入。

    chmod 755 yourFolder/
    

    上面这行设置了 yourFolder 的权限,而不是递归的。所有者可以读写执行,其他人只能读取执行。根据您自己的需要进行调整。如果您希望这是递归的,请使用-R 选项。

    要检查您系统的权限,请使用ls -l

    chmod

    【讨论】:

    • 我想我可以在 PHP 中使用 chmod() 函数?我怎样才能尝试你写的命令行?
    • 我的主机上没有 SSH 访问权限
    • 你可以使用chmod() 和 PHP,如果它有更新权限的话。此外,Filezilla 允许通过 FTP 管理 chmod。尝试使用 PHP 创建一个具有正确 777 的文件夹并将您的照片移动到其中。如果它有效,这是因为其他文件夹的权限。显然,永远不要在生产中使用 777。
    • 好吧,我终于看到了我所有文件和文件夹的权限(我没有意识到我可以在 cPanel 中看到)。文件夹已经设置为 755...但无论如何感谢它有助于理解!
    • 那么您的用户是文件夹的所有者吗?有了这个配置,只有所有者可以写。
    猜你喜欢
    • 2011-11-14
    • 2023-04-01
    • 2021-03-13
    • 1970-01-01
    • 2010-11-29
    • 1970-01-01
    • 2018-08-11
    • 2010-11-13
    • 2011-04-14
    相关资源
    最近更新 更多