2016-06-07 10 views
0

zu verwenden, um herauszufinden, wie ich eine Datei erstellen und speichern kann, während Standardinformationen aus einer anderen Datei enthalten sind. Ich habe versucht, aber es hat nicht funktioniert. Irgendwelche Vorschläge, wie man diese Datei erstellt?Versuchen Sie, eine Datei in PHP zu erstellen und fwrite zu Datei

<?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); 
?> 

Antwort

0

Ich sehe kein Problem im ersten Block des Codes.

Im zweiten Block berücksichtigt der Interpreter die zweiten doppelten Anführungszeichen, die das Ende der Zeichenfolge $txt = " include(" bedeuten. Alles danach würde einen PHP-Fehler erzeugen.

Aber selbst wenn Sie diese entkommen, wird die MPR-Datei die Zeichenfolge include("defaultcnc,php"); aber nicht den tatsächlichen Inhalt dieser Datei haben. Dafür sollten Sie file_get_contents("defaultcnc.php") tun.

so etwas wie:

<?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); 
?> 

Ich gehe davon aus additional file pats needed Sie bedeutet etwas. Es sollte eine Bedingung sein, die entweder wahr oder falsch auswertet.

+0

Ich werde dies versuchen. Ja, die If-Anweisung hat ein True, False, wenn die zusätzlichen Komponenten mit der neuen Datei benötigt werden. Wird es ein Problem geben, wenn die Standarddatei viele "" enthält? – heykarch

+0

Ich glaube nicht, dass es ein Problem gibt, von der PHP-Seite, wenn die Datei viele Leerzeichen hat. Ich weiß nicht, was eine MPR-Datei ist, also keine Ahnung von dieser Seite. –

+0

Dies funktionierte sehr gut, ich brauche ein paar Variablen in die Standarddatei einzufügen, bevor ich in die Datei schreibe. Gibt es eine Möglichkeit, dies zu tun? – heykarch

Verwandte Themen