因此,我使用FTP创建了几个目录和文件,因此所有者是我用来登录服务器的用户名。现在,我想允许网站的用户将图像上传到那些目录。不幸的是,要让网站存储图像,它应该归Apache所有。我怎样才能解决这个问题?我一直在阅读有关此内容,但无法直接找到答案。
我没有SSH,所以我想所有命令行内容都不适合我。
编辑
然后,我尝试使用apache再次创建文件夹,但是现在我当然不能使用ftp将任何文件写入这些目录。
前提是apache用户至少可以写一个目录(让我们将此目录称为“ writeabledir”,它可能是您的根目录“ /”),则必须删除通过ftp创建的文件夹,并创建一个php脚本来创建该目录。您需要的目录。例如,如果您想要一个目录users
,在其中另一个目录是upload
在服务器上创建文件makedirs.php。
<?php
$oldumask = umask(0);
mkdir("writeabledir/users/upload",0777,true); // or even 01777 so you get the sticky bit set
umask($oldumask);
?>
现在,通过在浏览器上调用your.serv.er/makedirs.php来运行一次makedirs.php
编辑:
如果您不想删除并重新创建目录,则可以始终尝试从ftp更改文件权限。
例如,使用FileZilla,只需右键单击所需的文件夹并将权限设置为777。如果您的ftp用户没有权限执行此操作,则除了要求管理员为您执行此操作外,没有其他方法。
编辑2:
添加了umask以确保由apache创建的文件夹对每个人都是可写的。(摘自http://us3.php.net/manual/en/function.mkdir.php#1207)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句