PHP脚本未正确替换字符串

PHP脚本未正确替换字符串,php,Php,因此,我的代码如下: $data = file_get_contents("js/plugins.js"); if (isset($_GET['resx'])) { if (isset($_GET['resy'])) { $data = str_replace('"Screen Width":"1366","Screen Height":"768"', '"Screen Width":"$resx","Screen Height":"$resy"', $data); } } fi

因此,我的代码如下:

$data = file_get_contents("js/plugins.js");

if (isset($_GET['resx'])) {
  if (isset($_GET['resy'])) {
  $data = str_replace('"Screen Width":"1366","Screen Height":"768"', '"Screen Width":"$resx","Screen Height":"$resy"', $data);
  }
}

file_put_contents("js/web_settings.js", $data);
我试图做的是在URL栏中定义多个变量,网站将更新文件。显然,它似乎是用变量名本身替换字符串,而不是用这些变量的值替换字符串。(因此,如果resx是1280,1366变成$resx而不是1280)由于游戏引擎的工作方式,引号需要在那里。我如何解决这个问题,使它用这些变量的值替换它

'Screen Width":"1366","Screen Height":"768"', '"Screen Width":"' . $resx . '","Screen Height":"' . $resy.'"', $data
你需要使用'的。返回变量:“字符串”$变量。”再串一次'

替换为
\”
并将
'
替换为
。它将允许在字符串中使用变量

$data = str_replace("\"Screen Width\":\"1366\",\"Screen Height\":\"768\"", "\"Screen Width\":\"$resx\",\"Screen Height\":\"$resy\"", $data);
由于$resx和$resy不存在,替换为空:

$data = str_replace('"Screen Width":"1366","Screen Height":"768"', '"Screen Width":"'.$_GET['resx'].'","Screen Height":"'.$_GET['resy'].'"', $data);

或使$resx=$\u GET['resx'];在
replace
之前。如果启用了错误输出,您会立即注意到它。

-单引号中的变量未被解析。变量的可能副本在文件中显示为空。@user245115我在您的代码中谈到了
$resx
$resy
,是的,但当它们在文件中更新时,变量不会被解析没有显示,所以我得到“屏幕宽度”:“,”屏幕高度“:”可以试试这个吗?
$data=str_replace(“'Screen Width:”1366”,“Screen Height:”768“,“'Screen Width:”。$\u get['resx']”,“$Screen Height:”,$data);
resx和resy参数不是空的吗?