Как добавить пробел в функции $ POST? - PullRequest
0 голосов
/ 29 апреля 2020

У меня проблема с добавлением пробела между функциями $ 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'];

Ниже моя папка создания папки (без пробела): Output 1

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Как указал другой автор, вам нужно экранировать пробел с помощью '\', чтобы вы могли использовать:

$folder_name = str_replace(' ', '\ ', $folder_name);

, чтобы заменить каждый пробел на '\'

0 голосов
/ 29 апреля 2020

Конкатенация с использованием .' '. правильна, но при работе с файловой системой в 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'];

...