我正在使用PHP创建此配置文件以生成可执行文件,并且当文件名没有任何空格时它可以正常工作,但是当文件有空格时它不起作用。
文件名在$ readyFile变量中。
我该怎么做才能解决这个问题?
$content = ";!@Install@!UTF-8!
Title=\"Auto-Extract\"
ExecuteFile=\"Runner.exe\"
ExecuteParameters=\"--exe 2999.exe --file $readyFile\"
;!@InstallEnd@!";
$fp = fopen("config.txt","wb");
fwrite($fp,$content);
fclose($fp);
由于
答案 0 :(得分:0)
您可以使用此正则表达式进行剥离。
$content=preg_replace('/\s+/', '', $content);
答案 1 :(得分:0)
您可以使用双重转义引号(\\\"
):
$content = ";!@Install@!UTF-8!
Title=\"Auto-Extract\"
ExecuteFile=\"Runner.exe\"
ExecuteParameters=\"--exe 2999.exe --file \\\"$readyFile\\\"\"
;!@InstallEnd@!";
当PHP解析字符串时,它变为="--exe 2999.exe --file \"your file here\""
,因此您的内部引号仍会被转义为呼叫中的呼叫。