我有一个小问题。我需要让htmlspecialchars_decode
在$CmdExe = 'nircmd
运行之前立即运行,因为它会干扰,因为它无法正常执行。所以基本上我需要$PlayMovie
在继续之前已经有一个解码值。我怎样才能做到这一点?我使用php桌面和nircmd根据需要在PC上执行功能。它很有效,直到名称在数据库中有一个特殊的字符,例如'
。使用htmlspecialchars
放入数据库的所有特殊字符。 nircmd仍然看到未解码的值,所以我需要在它到达此行之前解码。或者它已被解码?我问,因为当我测试没有编码值的$PlayMovie
变量时,它可以正常工作。我知道不寻常的问题,但我的PHP技能仍处于初学阶段。非常感谢。
$results = $db->query("SELECT * FROM Movies WHERE id = '$RecID'");
while($row = $results->fetchArray()) {
$MovieFile = $row["FileName"];
$PlayMovie = htmlspecialchars_decode($MovieFile);
//NEEDS TO BE DECODED BEFORE THIS LINE
$CmdExe = 'nircmd.exe shexec "open" "'. $MovieHostDrive . $PlayMovie .'"';
exec($CmdExe);
}
进行进一步测试时,我str_replace
可行。那么htmlspecialchars_decode
无效吗?
//This Works
$PlayMovie = str_replace("'", "'", $MovieFile);
//This doesn't
$PlayMovie = htmlspecialchars_decode($MovieFile);