<?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);
?>
これをWebサーバーで実行すると、成功した(またはエラーをキャッチできなかった)と表示されますが、必要な内容の一部が書き込まれます。これが私が書くように言うことです(urlを介して渡されます$_GET['cdata']
):
body{background: #000; color: #FFF;}
そして、これは私がファイルから返すものです
body{background:
最後にスペースがあるので、ポンド(#)が問題を引き起こしていると思いますが、その理由や修正方法がわかりません。
これは私のコード全体ではなく、単なるスニペットであり、エラーがあると思います。これで十分な情報になることを願っています。そうでない場合は、質問してください。他に何でも投げ込もうとします。前もって感謝します。
解決
jQueryの$.post()メソッドを使用してデータを送信していたので、送信するデータをencodeURIComponent()でラップするだけで、うまくいったようです。そこで正しい方向に私を向けてくれた@xbonezに感謝します。