我有这个原始且相当长的代码,使用户能够创建/打开(如果已经存在)文本文件。 它对我有用,但我想知道它是否可以更短。
它的想法就像http://etherpad.org/网站,人们可以在没有注册的情况下创建/保存/打开文本文件,人们应该使用唯一的文件名来访问他们的文件。
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<script type="text/javascript">
bkLib.onDomLoaded(nicEditors.allTextAreas);
</script>
<?php
if (isset($_GET['filename']))
{
$ourfile = trim($_GET['filename']) . ".html";
}
if (!isset($_POST['filename']))
{ ?>
<form action="index.php" METHOD="POST">
<input type=text name="filename" required>
<input type=submit value="open/create">
</form>
<?php
}
else
{
$ourfile = trim($_POST['filename']) . ".html";
}
if (!empty($ourfile) && file_exists($ourfile))
{
$file_handle = fopen($ourfile, "r");
$file_content = fread($file_handle, filesize($ourfile));
fclose($file_handle);
?>
<form action="save.php" METHOD="POST">
<input type=hidden name="filename" value = "<?php
echo $ourfile; ?>">
<textarea rows=24 cols=80 maxlength=1000 name=notes>
<?php
echo $file_content; ?>
</textarea>
<input type=submit value="save">
</form>
<?php
}
else
{
if (!empty($ourfile))
{
$file_handle = fopen(trim($ourfile) , "w");
fwrite($file_handle, "Start editing " . $ourfile);
fclose($file_handle);
$ourfile = str_replace(".html", "", $ourfile);
header("location:index.php?filename=$ourfile");
}
}
?>
save.php文件
<?php
$ourfile = $_POST['filename'];
$file_handle = fopen($ourfile,"w");
fwrite($file_handle,"\xEF\xBB\xBF".$_POST['notes']);
fclose($file_handle);
header("location:$ourfile");
?>
提前谢谢。
答案 0 :(得分:0)
虽然我理解这个问题是 off-topic (代码审查而不是客观问题),但无论如何我都浏览了这段代码。
<?php
if (isset($_GET['filename'])) {
$ourfile = trim($_GET['filename']) . ".html";
}
if (!isset($_POST['filename'])) { ?>
<form action="index.php" method="post"><input type="text" name="filename" required>
<input type="submit" value="open/create">
</form>
<?php } else { $ourfile = trim($_POST['filename']) . ".html"; }
if (file_exists($ourfile)) {
$file_handle = fopen($ourfile, "r");
$file_content = fread($file_handle, filesize($ourfile));
fclose($file_handle); ?>
<form action="save.php" method="post">
<input type="hidden" name="filename" value="<?php echo $ourfile; ?>">
<textarea rows=24 cols=80 maxlength=1000 name="notes"><?php echo $file_content; ?></textarea>
<input type="submit" value="save">
</form>
<?php } else {
if (!empty($ourfile)) {
$file_handle = fopen(trim($ourfile) , "w");
fwrite($file_handle, "Start editing " . $ourfile);
fclose($file_handle);
$ourfile = str_replace(".html", "", $ourfile);
header("Location: index.php?filename=" . $ourfile);
}
} ?>
在大多数编程语言中,所有空格(空格,TAB,换行符)都是完全随意的。也就是说,您可以根据需要使用尽可能多的空白空间,并且不会影响编译或执行。我从你的代码中提取了一些不必要的东西,并对HTML进行了一些小的调整(没有引号应该有,等等。)
只需将相同的技术应用于您的其他文件即可。摆脱空白线条,凹凸不平。保持缩进一致,否则你的代码将变得一团糟,难以阅读。