我在$ POST函数之间添加空间时遇到问题,因为我需要使用此函数来创建文件夹。
下面是我的编码,此编码可以创建文件夹,但不能在POST之间添加空间:
$folder_name = $_POST['function_code'].$_POST['function_name'].$_POST['activity_code'].$_POST['activity_name'].$_POST['sub_activity_code'].$_POST['sub_activity_name'].$_POST['transaction_code'].$_POST['transaction_name'];
$location2 = $folder_location.'/'.$folder_name;
if($parentid == '0'){
mkdir("dms/$folder_name",0777,true);
}if ($parentid > '0' ){
mkdir("dms/$location2",0777,true);
}
我的输出显示给我这样的1test1/2test2/3test3/4test4
实际上我想要这样的输出1 test1/2 test2/3 test3/4 test4
我尝试过的:
我在代码之间添加了空格,就像下面的代码一样,它可以在两个POST之间添加空间,但是不能给我创建新的文件夹。
$folder_name = $_POST['function_code'].' '.$_POST['function_name'].''.$_POST['activity_code'].' '.$_POST['activity_name'].''.$_POST['sub_activity_code'].' '.$_POST['sub_activity_name'].''.$_POST['transaction_code'].' '.$_POST['transaction_name'];
下面是我的创建文件夹目录(无空格):
使用.' '.
进行连接是正确的,但是在Linux中处理文件系统时,您需要使用\
转义空格字符。因此,您的连接将如下所示:
$folder_name = $folder_name = $_POST['function_code'].'\ '.$_POST['function_name'].''.$_POST['activity_code'].'\ '.$_POST['activity_name'].''.$_POST['sub_activity_code'].'\ '.$_POST['sub_activity_name'].''.$_POST['transaction_code'].'\ '.$_POST['transaction_name'];
正如另一位海报指出的那样,您需要使用'\'来转义空格,因此可以使用:
$folder_name = str_replace(' ', '\ ', $folder_name);
为了将每个空格替换为'\'