使用php mkdir创建新文件夹时的所有者和组

时间:2013-10-03 00:45:33

标签: php mkdir

首先关闭:我在Mac上使用MAMP PRO,所以我可以将它用作我项目的测试服务器 mamp说:"出于安全考虑,建议将服务器作为' www / mysql'当您的Mac连接到互联网时。" - 如果我将用户更改为 me 。所以我没有做到这一点,因为我实际上是连接到互联网。

系统默认情况下,文件夹的权限设置为" 0755" me 作为所有者和"员工"作为小组。

这使得使用php.mkdir()变得非常困难。我能够创建新文件夹的唯一方法是将文件夹权限设置为" 0777" - 我听说这不是个好主意。

一种想法只是将文件夹的所有者更改为" www"并保持在" 0755"的许可。但是,当然现在我根本无法处理这些文件......

人们如何做到这一点?

更新
这是我创建文件夹的代码:

$_SITE_JAVASCRIPT_folders=array(
    'dynamics'=>'Hovedmappe for all JavaScript',
    'dynamics'.DS.'libraries'=>'JavaScript-biblioteker (eks. jQuery) plasseres her, og inkluderes i <code><b>load.javascripts.php</b></code>',
    'dynamics'.DS.'plugins'=>'Sepparate <code><b>.js</b></code>-plugins samles her, og kan importeres til <code><b>plugins.combined.js</b></code>',
    'dynamics'.DS.'js'=>'Sepparate <code><b>.js</b><code>-filer plasseres her, og importeres til <code><b>scripts.combined.js</b></code>',
);
foreach($_SITE_JAVASCRIPT_folders as $_SITE_JAVASCRIPT_folder=>$_SITE_JAVASCRIPT_folder_desc){
    if(!file_exists(dir_assets.$_SITE_JAVASCRIPT_folder.DS)){
        !mkdir(dir_assets.DS.$_SITE_JAVASCRIPT_folder,0755)?$_SITE_JAVASCRIPT_status=false:'';
        $_SITE_JAVASCRIPT_folder_note.='&rarr; <code><b>'.$_SITE_JAVASCRIPT_folder.'/</b></code> &emsp; <small><i>'.$_SITE_JAVASCRIPT_folder_desc.'</i></small><br>';
    }
}

此处有一些事情:DSDIRECTORY_SEPARATOR的简写,dir_assets包含我的assets-folder的目录路径。

这些代码行只有在我将变量设置为&#34;是&#34;时才会执行。 (&#34;这个网站是否使用JavaScript?&#34; -kind of thing)。只是为了让我在开始新项目时更容易一些;我认为让php创建所需的文件夹和文件是个好主意。

我只是尝试使用php.chown()将所有者更改为 me - 就像这样:

!mkdir(dir_assets.DS.$_SITE_JAVASCRIPT_folder,0755)?$_SITE_JAVASCRIPT_status=false:chown(dir_assets.DS.$_SITE_JAVASCRIPT_folder.DS,*me*);

但是这给了我一个&#34;操作不允许&#34;。我已将父文件夹设置为&#34; 0777&#34;为了让php实际上首先创建文件夹。那我错过了什么?

0 个答案:

没有答案