php htmlspecialchars_decode()问题

时间:2018-03-02 22:03:19

标签: php htmlspecialchars

我有一个小问题。我需要让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);

0 个答案:

没有答案