PHP:如何在服务器驱动器中创建目录
我正在做一个项目,我正在创建一个代理机构。创建代理时,我有一个下拉列表来选择驱动器。在该驱动器中,将创建一个带有机构名称的文件夹,其中将存储所有导出的数据。我可以通过执行几个shell命令来获取服务器中的所有驱动器。我正在尝试使用以下代码创建文件夹:PHP:如何在服务器驱动器中创建目录,php,Php,我正在做一个项目,我正在创建一个代理机构。创建代理时,我有一个下拉列表来选择驱动器。在该驱动器中,将创建一个带有机构名称的文件夹,其中将存储所有导出的数据。我可以通过执行几个shell命令来获取服务器中的所有驱动器。我正在尝试使用以下代码创建文件夹: $agency = 'BookStore'; $documentLocation = $val['drive'] . '/agency/documents/document-' . $agency; if (!is_dir($documentLo
$agency = 'BookStore';
$documentLocation = $val['drive'] . '/agency/documents/document-' . $agency;
if (!is_dir($documentLocation)) {
var_dump(mkdir($documentLocation, 0777, true));
}
其中$val['drive']是驱动器路径。但是它会在我的项目中创建文件夹,我想在指定的驱动器中创建文件夹。问题在于
$val['drive']
。如果您的操作系统是Windows,您仍然需要一些额外的格式,例如添加冒号:前斜杠在Windows中不再像在Unix中那样是个问题
<?php
$agency = 'BookStore';
$isWindows = true; //<== A FUNCTION THAT CHECKS IF IT'S A WINDOWS OS
$location = '/agency/documents/document-' . $agency;
//IF IT'S WINDOWS OS,WE JUST ADD A COLON (:) AFTER THE DRIVE NAME
$documentLocation = (isWindows)?$val['drive'] .":" . $location : $val['drive']. $location;
if (!is_dir($documentLocation)) {
var_dump(mkdir($documentLocation, 0777, true));
}
$documentLocation
的确切值是多少?您能给我们举一个它产生的$documentLocation
的例子吗?如果$val['drive']
类似于“C”(例如,如果您在Windows上),则路径将无效(缺少冒号“C:”),请不要忘记:777
是邪恶的。永远不要使用它。使用尽可能少的许可配置。如果不是Windows,则根本不需要驱动器号…@deceze确切地说…,但可能$val['drive']
指向Linux或OSX上已装入卷的地址,但不再指向Windows操作系统的C、D、E、F…和Z驱动器。。。。。类似于Mac中的“/Volumes/Macintosh\HD”
或Mac中的/home/media/user/ExternalHDD
Linunx@Poiz是的,它是一台unix服务器。所以驱动器是这样的:/dev/sdb1、/dev/sdb2