1

在我的代码中,我让 PHP 将变量写入文本文件。

$stringData = '<p class="blogcontent">' . $content . '</p>';
fwrite($fh, $stringData);

变量$content包括这个<img src="bpictures/blue.jpg" width="200" />

但是当变量被写入文本文件时,它被写入其中。

<img src=\"bpictures/blue.jpg\" width=\"200\" />

并且它导致图像在返回到 html 时不起作用。我尝试过使用echo stripslashes($content);,但这不起作用,有什么方法可以将我在变量中的直接代码写入文本文件?我在谷歌上找不到答案。

内容是如何制作的。

<span class="addblog">Content (Include img tags from below):</span> <textarea cols="90" rows="50" name="bcontent">  </textarea> <br />

提交时。

$content = $_POST["bcontent"];

代码还有更多内容,但这就是大部分影响内容的全部内容。

4

1 回答 1

3

问题是您启用了magic_quotes 。

如果你不能在php.ini上禁用它们,你可以使用我在stackoverflow上找到的这个函数,然后在运行时禁用:

<?php
if (get_magic_quotes_gpc()) {
    function stripslashes_gpc(&$value)
    {
        $value = stripslashes($value);
    }
    array_walk_recursive($_GET, 'stripslashes_gpc');
    array_walk_recursive($_POST, 'stripslashes_gpc');
    array_walk_recursive($_COOKIE, 'stripslashes_gpc');
    array_walk_recursive($_REQUEST, 'stripslashes_gpc');
}
?>

在这里找到与此主题相关的原始帖子!

那里还有其他解决方案,但这是我使用过的解决方案。


已编辑

从上面的链接一个简单的解决方案来处理$_POST

if (get_magic_quotes_gpc()) {
  $content = stripslashes($_POST['bcontent']);
}else{
  $content = $_POST['bcontent'];
}
于 2012-06-03T20:16:08.037 回答