我觉得很难相信这个问题在这里没有答案,但是我已经搜索过,我找不到答案。
我在远程服务器上使用fopen()
,我只有FTP访问权限 - 没有别的。
当我尝试创建或打开文件进行写访问时,我发现了以下错误:
警告:fopen(entries / newsletter.csv):无法打开流:权限被拒绝 第24行/var/www/sites/xxx/public_html/index.php 错误:无法打开文件。您的参赛作品未保存。
我已尝试将文件权限更改为777并打开现有文件,可以使用!但这不是推荐的解决方案,因为777非常不安全。
有什么方法可以通过FTP解决这个问题,而不需要求助于777?
答案 0 :(得分:2)
您是否可以在打开时更改参数以尝试在只读模式下打开? PHP Manual for fopen() options.
fopen("csv/newsletter.csv", "r");
这使用最少的权限,但您确实需要具有读取权限。当然,你不能写入文件。此外,777包含可执行位,因此您可能只需要666。
您也可以尝试通过FTP作为用户进行连接,并确保用户对该文件的权限是rw(6),然后是其他人,不需要该设置,因此它们只能是只读的。
可选择通过你的FTP界面,chmod()可以在打开之前读/写文件,然后chmod只读。