2016-06-07 2 views
0

다른 파일의 기본 정보를 포함하면서 파일을 만들고 저장하는 방법을 알아 내려고했습니다. 내가 포함 시키려고했지만 작동하지 않았다. 이 파일을 빌드하는 방법에 대한 제안?PHP로 파일을 만들고 fwrite를 사용하여

<?php 
$wrtID = $_POST["fileID"]; 

SQL statement here to get relevant info 

mkdir("CNC/$wrtID", 0770, true); 

?> 
<?php 

$batfile = fopen("CNC/$wrtID/$wrtID.bat", "w") or die("Unable to open file!"); 
$txt = " 
@ECHO OFF 
@ECHO **** Run NC-Generator WOODWOP 4.0 **** 
NCWEEKE.exe -n=C:/WW4/$wrtID/$wrtID-sl.mpr 
NCWEEKE.exe -n=C:/WW4/$wrtID/$wrtID-sr.mpr 
NCWEEKE.exe -n=C:/WW4/$wrtID/$wrtID-tb.mpr 
NCWEEKE.exe -n=C:/WW4/$wrtID/$wrtID-dc.mpr 
@ECHO **** Done **** 
"; 
fwrite($batfile, $txt); 
fclose($batfile); 
?> 

<?php 
$slfile = fopen("CNC/$wrtID/$wrtID-sl.mpr", "w") or die("Unable to open file!"); 
$txt = " 

include("defaultcnc.php"); 

if (additional file pats needed) { 
    include("component-1.php"); 
} 

"; 

fwrite($slfile, $txt); 
fclose($slfile); 
?> 

답변

0

첫 번째 코드 블록에는 문제가 표시되지 않습니다.

두 번째 블록에서 해석기는 두 번째 큰 따옴표를 문자열 $txt = " include("의 끝으로 간주합니다. 그래서 모든 것이 PHP 오류를 일으킬 것입니다.

그러나 이러한 파일을 이스케이프 처리하더라도 mpr 파일의 문자열은 include("defaultcnc,php");이지만 실제 내용은 포함하지 않습니다. 이를 위해서는 file_get_contents("defaultcnc.php")을 사용해야합니다. 같은

뭔가 :

<?php 
$slfile = fopen("CNC/$wrtID/$wrtID-sl.mpr", "w") or die("Unable to open file!"); 
// set params to pass to defaultcnc.php 
$value1 = 1; 
$value2 = "I'm a text string"; 
$file = urlencode("defaultcnc.php?key1=".$value1."&key2=".$value2); 
$txt = file_get_contents($file); 

if (additional file pats needed) { 
    $txt .= file_get_contents("component-1.php"); 
} 

fwrite($slfile, $txt); 
fclose($slfile); 
?> 

내가 additional file pats needed 가정 당신에게 무언가를 의미한다. true 또는 false를 평가하는 조건이어야합니다.

+0

나는 이것을 시도 할 것이다. yes if 문은 새 파일에 추가 구성 요소가 필요한 경우 true, false를 갖습니다. 기본 파일에 ""이 많이 포함되어 있으면 문제가 발생합니까? – heykarch

+0

파일에 공간이 많은 경우 PHP 측에서 문제가 있다고 생각하지 않습니다. 나는 mpr 파일이 뭔지 모르겠다. 그래서 그 쪽에서는 아무 것도 모른다. –

+0

이것은 파일에 쓰기 전에 몇 가지 변수를 기본 파일에 삽입해야하는 큰 문제였습니다. 이것을 할 수있는 방법이 있습니까? – heykarch

관련 문제