首先:我在我的 Mac 上使用 MAMP PRO,所以我可以将它用作我的项目的测试服务器。
mamp 说:“出于安全原因,建议在您的 Mac 连接到 Internet 时将服务器作为 'www/mysql' 运行。” - 如果我将用户更改为我。所以我没有这样做,因为我实际上已经连接到互联网。
文件夹的权限,系统默认设置为“0755”,我为所有者,“员工”为组。
这使得它很难使用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.='→ <code><b>'.$_SITE_JAVASCRIPT_folder.'/</b></code>   <small><i>'.$_SITE_JAVASCRIPT_folder_desc.'</i></small><br>';
}
}
这里有几件事:DS
是我的简写DIRECTORY_SEPARATOR
,并dir_assets
保存了我的资产文件夹的目录路径。
这些代码行只有在我将变量设置为“是”时才会执行。(“这个网站使用 JavaScript 吗?”——诸如此类的东西)。只是为了让我开始新项目时更容易一些;我认为让 php 创建所需的文件夹和文件是个好主意。
我只是尝试将所有者更改为我使用php.chown()
- 像这样:
!mkdir(dir_assets.DS.$_SITE_JAVASCRIPT_folder,0755)?$_SITE_JAVASCRIPT_status=false:chown(dir_assets.DS.$_SITE_JAVASCRIPT_folder.DS,*me*);
但这给了我一个“不允许的操作”。我已将父文件夹设置为“0777”,以便让 php 首先实际创建文件夹。那么我错过了什么?