使用String Builder问题在C#中编写PHP

使用String Builder问题在C#中编写PHP

问题描述:

I have the following C# code to produce a small PHP file. The reason I am doing this is to update 400 plus sites automatically. The sites are in PHP on a Windows Environment so using C# for utility apps is the easiest for me.

fileContents.AppendFormat("<?php{0}",Environment.NewLine);
                fileContents.AppendFormat("# FileName=\"clientsite.php\"{0}",Environment.NewLine);
                fileContents.AppendFormat("# HTTP=\"true\"{0}",Environment.NewLine);
                fileContents.AppendFormat("$clientname = \"{0}\";{1}", clientsiteName, Environment.NewLine);
                fileContents.AppendFormat("$version = \"v6.2i\";{0}",Environment.NewLine);
                fileContents.Append("?>");

The end result of this file causes a strange character to appear on the PHP page that includes this page. When I manually open the created PHP file - press backspace on the last line then enter it works. Is there something better than Environment.NewLine to use for this? Or is there another problem I am missing?

EDIT: The character looks like something I can't reproduce on the keyboard (squiggle line) by ends with ?

You could just try " ", I believe Environment.NewLine is " ".

But it could also be about how you write the StringBuilder (I assume fileContents is a StringBuilder) to the file. If you e.g. use WriteAllText, you could try using different encoding.