php - 代码改进

标签 php javascript html editor

好吧,我只是一个编程新手,只是为了过去的爱好而做的。我最近刚刚为了好玩而制作了一个网页编辑器,有人告诉我我这样做的方式(使用 PHP)是一个糟糕的方式。我在制作时也考虑过这一点,在大量数据传输中,这样做是一个坏主意。问题是我想不出其他方法来做到这一点,并且正在寻找有人帮助我改进它,我的意思是我正在使用的保存方法。这是我的代码:

编辑:

<html>
<head>
<title>Web Editor</title>
<link href="controller.css" rel="stylesheet"/>
<script type="text/javascript" src="script/editor.js"></script>
</head>
<body>
<div class="platform">
<div class="head"><div class="file"><p>File: <div id="file">C:\hello.html</div></p></div></div>
<div class="hotbar"><img src="images/save.png" class="hotbarImage" onClick="save()" />

</div>
<div class="editor"><div contenteditable="true" style="height:100%; overflow:scroll;" id="editPad"></div></div>
</div>




</body>
</html>

JS:

function save() {
    var dir = document.getElementById("file").innerHTML;
    var data = document.getElementById("editPad").innerHTML;
    window.location = "save.php?dir="+encodeURIComponent(dir)+"&data="+encodeURIComponent(data);
}

PHP:

<?php
$dir = $_GET['dir'];
$data = $_GET['data'];
$lookFor = array("&lt;", "&gt;","<br>","<%2Fdiv>","<div>","</div>");
$replaceWith = array("<", ">", "", "", "","");
$newData = str_replace($lookFor,$replaceWith,$data);

$f = fopen(urldecode($dir),"w");
fwrite($f,urldecode($newData));
fclose($f);
?>

所有这一切都只是一项正在进行的工作,还需要完成更多工作。但现在,有没有更好的方法来保存正在传输的大量数据的文件。

最佳答案

出于多种原因,您不应使用 GET 请求来存储数据,但最重要的一个原因是:GET 请求的长度有限制。

如果您的内容非常大,则可能无法保存它,因为您的浏览器不会发送 URL 或服务器不会接受它(因为它太长)。

您可以做的是创建一个隐藏表单,填写您需要的字段并使用 JavaScript 提交。确保设置 action="post"

关于php - 代码改进,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16704239/

相关文章:

javascript - 从 NodeJs 中的函数内保存或返回 REST 服务响应

javascript - RequireJs with moment.js 不触发 `init`

html - 如何将 iframe 转换为 Canvas ?

php - 在 Laravel 中给老师分配成绩(类(class))和科目(多对多)

php - Laravel - 选择参数所在的 child

来自 MySQL 的 PHP 组合框

php - 为什么 $_GET = index.php

javascript - 每次访问只有一个弹出窗口...帮助我

javascript - 使用 CSS 在页面加载时从中心向外增长线?

php - 在 php 中放置一些条件后,某些项目不会回显