2015-01-02 2 views
2

웹 양식의 입력 내용을 평면 텍스트 파일에 한 줄씩 출력하는 웹 양식을 만들려고합니다. 여러 필드는 필요하지 않지만 출력은 . 작성되지 무엇이든지에 파일을 입력해야합니다 공백은 여기에 내가 노력하고있어입니다.PHP에서 문자열에 공백을 추가 할 수 없습니다.

$output = $_SESSION["emp_id"]; 
if(!empty($_POST['trans_date'])) { 
    $output .= $_POST["trans_date"]; 
}else{ 
$output = str_pad($output, 6); 
} 
if(!empty($_POST['chart'])) { 
    $output .= $_POST["chart"]; 
}else{ 
    $output = str_pad($output, 6); 
} 

write_line($output); 

function write_line($line){ 
     $file = 'coh.txt'; 
     // Open the file to get existing content 
     $current = file_get_contents($file); 
     // Append a new line to the file 
     $current .= $line . PHP_EOL; 
     // Write the contents back to the file 
     file_put_contents($file, $current); 
    } 

을하지만, 내 출력을 검사 할 때 공간이 표시되지 않습니다에 무슨 일이 일어나고 있는지에 어떤 아이디어 이 사전에 감사드립니다!

+1

텍스트 필드 인 경우 설정되며 비어 있습니다. 'empty()'를 확인하십시오. – AbraCadaver

+0

은 차이가 없음 – yhussain

+0

'$ output. = $ _POST [ "trans_date"]. ";"및'$ output = $ _POST [ "chart"]를 사용하십시오. ""; 그것을 시도하십시오. 해당 POST 다음에 공백을 추가하려는 경우 –

답변

3

str_pad은 공백을 추가하지 않고 공백을 추가합니다. 공백으로 기존 값을 채우므로 값에 여백을 6 개 추가하지 않고 길이는 6 자입니다. 따라서 $_SESSION["emp_id"]이 6 자 이상인 경우 아무 것도 추가되지 않습니다.

1

str_pad()은 해당 수를 추가하지 않고 적절한 수의 공백을 추가하여 길이를 늘립니다. 시도하십시오 str_repeat() :

$output = $_SESSION["emp_id"]; 
if(!empty($_POST['trans_date'])) { 
    $output .= $_POST["trans_date"]; 
}else{ 
    $output = $output . str_repeat(' ', 6); 
} 
if(!empty($_POST['chart'])) { 
    $output .= $_POST["chart"]; 
}else{ 
    $output = $output . str_repeat(' ', 6); 
} 

write_line($output); 

function write_line($line) { 
    $file = 'coh.txt'; 
    // Open the file to get existing content 
    $current = file_get_contents($file); 
    // Append a new line to the file 
    $current .= $line . PHP_EOL; 
    // Write the contents back to the file 
    file_put_contents($file, $current); 
} 

건배!

+0

나는 그것을 HTML 요소로 출력하려고하지는 않는다. 텍스트 파일로 내 보낸 PHP 변수를 만들려고합니다. 나는 HTML로 만들려고 노력하고 있지 않습니다. – yhussain

+0

str_pad()는 공백을 파일에 추가 할 때 잘 동작해야합니다. $ 출력은 파일에 어디에 쓰여 집니까? – versalle88

+0

파일에 대한 쓰기로 코드를 업데이트했습니다. – yhussain