将PHP字符串导出到文件时出错

时间:2013-06-06 01:59:25

标签: php file slash

我有一个网站,用户可以在其中编写PHP / HTML代码并将其保存到他的计算机上。一切都很好,直到用户键入斜杠(/)。

该文件保存到客户端计算机,但它不是保存客户端代码,而是导出PHP错误(计算机中的文件具有错误的PHP代码)。文件保存代码如下:

$content = $_REQUEST['code'];   //Get the code

$file = "file.php";
file_put_contents($file, $content); //Writes the content into a file

header('Content-type: text/plain');
header('Content-Disposition: attachment; filename=$file');
readfile(dirname(dirname($con)) . '/'.$file);

仅当客户端使用斜杠时才会发生错误。 知道为什么会这样吗? ) - :

编辑:

这是其中一个错误:

enter image description here

我尝试导出的代码如下:

/:

令我担心的是,如果我以不同的顺序键入完全相同的字符(:/),那么它们会导出到我的计算机而没有错误。

1 个答案:

答案 0 :(得分:1)

我只看到一个错误 - 第24行的readfile(\/105.2.php)问题 - 所以我测试了它。

$file = 'file.php';
$con = '/:';
readfile(dirname(dirname($con)) . '/'.$file);

它在错误消息中提供了错误的路径\/file.php

如果我使用$con=':/',则会为我提供正确的路径./file.php

我只是不知道$con是什么。也许您的原始代码中有dirname(dirname($content))$content = $_REQUEST['code']; => dirname(dirname($_REQUEST['code'])) => dirname(dirname("/:")) => "\"