<?php
$cdata = $_GET['cdata'];
$cfile = "./output/$ip/output.css";
$cout = fopen($cfile, 'w') or die("1");
fwrite($cout, $cdata) or die("Could not write to " . $cfile);
echo("Wrote CSS to " . $cfile . " successfully.<br />");
fclose($cout);
?>
当我在我的网络服务器上执行此操作时,它告诉我它是成功的(或者我可能没有发现错误),但它写入了我想要的部分内容。这是我告诉它写的内容(通过 url 作为传递$_GET['cdata']
):
body{background: #000; color: #FFF;}
这就是我从文件中得到的
body{background:
请注意,末尾有一个空格,所以我假设井号 (#) 引起了问题,但不知道为什么或如何解决它。
这不是我的全部代码,只是一个片段,我认为错误所在。我希望这是足够的信息,如果没有,请询问,我会尝试在那里扔任何其他东西。提前致谢。
解决方案
因为我使用 jQuery 的 $.post() 方法来发送数据,所以我需要做的就是用 encodeURIComponent() 包装正在发送的数据,这似乎已经成功了。感谢@xbonez 为我指明了正确的方向。