簡體   English   中英

嘗試在PHP中構建文件並使用fwrite到文件

[英]Trying to build a file in PHP and use fwrite to file

試圖弄清楚我如何制作並保存文件,同時包括另一個文件的默認信息。 我試過包括,但沒有用。 關於如何建立這個文件的任何建議?

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

我在第一段代碼中看不到問題。

在第二個塊上,解釋器將把第二個雙引號視為字符串$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對您來說意味着什么。 它應該是一個評估為真或為假的條件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM