因此,我用FTP创建了几个目录和文件,因此所有者是我登录到服务器的用户名。现在我想让网站的用户上传图片到这些目录。不幸的是,对于存储图像的网站,它应该是Apache拥有的。我怎么才能解决这个问题?我一直在阅读这篇文章,但无法直接找到答案。
我没有SSH,所以我想所有的命令行都不适合我。
编辑
然后我尝试使用apache再次创建文件夹,但现在我当然不能使用ftp将任何文件写入这些目录中。
发布于 2013-11-02 14:30:19
如果apache用户至少可以写一个目录(让我们称这个目录为'writeabledir',它可能是您的根dir '/'),您必须删除通过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);
?>现在运行makedirs.php一次,在浏览器上调用your.serv.er/makedirs.php
编辑:
如果不想删除和重新创建目录,则始终可以尝试更改ftp中的文件权限。
以FileZilla为例,只需右键单击所需的文件夹并将权限设置为777。如果您的ftp用户没有这样做的权限,那么除了请求管理员为您执行此操作之外,没有其他方法。
EDIT2:
添加了umask,以确保apache创建的文件夹每个人都可以写。(取自http://us3.php.net/manual/en/function.mkdir.php#1207 )
发布于 2013-11-02 14:27:27
朋友看我在php中工作,有些版本改变了解决方案的方式,但是最常见的是,您已经想要存储数据库,并将其导入esu代码,该代码也可以用于您想要找到的一些图像,再加上最明智的操作,您可以创建一个数据库,其中包含实现、导入、放入您计划中的文件目录所需的字段,您还建议使用aptana Studio 3可以极大地便利在许多事情中创建代码,而且还需要将apache集成在一个地方,这将帮助您在安装时遇到许多问题,他将描述一下他将描述的问题。
https://stackoverflow.com/questions/19742863
复制相似问题