使用javascript将数据写入服务器文件+;php
编辑:感谢您消除了我对PHP和Javascript的困惑。必须使用AJAX 我只是想用使用javascript将数据写入服务器文件+;php,javascript,php,html,Javascript,Php,Html,编辑:感谢您消除了我对PHP和Javascript的困惑。必须使用AJAX 我只是想用PHP/Javascript 我有一个像这样的剧本 <head> <?php function writeToFile($file, $data) { file_put_contents($file, $data); } ?> <script> function funct() { <
PHP/Javascript
我有一个像这样的剧本
<head>
<?php
function writeToFile($file, $data) {
file_put_contents($file, $data);
}
?>
<script>
function funct() {
<?php writeToFile('text.txt', 'hello'); ?>
}
window.onload = funct;
</script>
</head>
函数funct(){
}
window.onload=funct;
不幸的是,
text.txt
是空的。我遗漏了什么?您混淆了服务器端语言和客户端语言
<?php
function writeToFile($file, $data) {
file_put_contents($file, $data);
}
writeToFile('text.txt', 'hello');
?>
上述措施将奏效
标记用于javascript(在客户端工作-即在浏览器中)
要从网页上用PHP调用脚本,您需要了解AJAX——但我首先要学习一点客户端语言和服务器端语言——在单击之前,它可能会让人困惑 您应该使用fopen获取文件句柄,然后使用fputs写入该文件。除此之外,您不能仅仅使用javascript来执行php命令 其工作原理如下: 用户从服务器请求一个.php文件。服务器执行该文件中的php代码,并将其输出作为HTML写入脚本的其余部分。由于Javascript是在客户端执行的,php的工作已经由服务器完成了。因此,您的客户实际得到的是:
<head>
<script>
function funct() {
}
window.onload = funct;
</script>
</head>
函数funct(){
}
window.onload=funct;
如果您想在用户进行输入时执行一些php函数,并且不想重新加载页面,那么可以检查ajax。但出于您的目的,我认为您应该阅读有关fopen、FPUT等的内容
您不能像那样同时使用PHP和javascript。您应该使用AJAX。因此,重写
funct()
,如下所示:
function funct() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
alert('Writing completed!');
}
}
xmlhttp.open("GET", "script.php", true);
xmlhttp.send();
}
注意
xmlhttp.open(“GET”,“script.php”,true)代码>零件。您必须在服务器上创建名为script.php的新文件,并向其中添加脚本的php内容(writeToFile()
function,function call)由于php和javascript的执行不同,您的代码将无法工作。php(服务器端)将首先执行,并将同时执行这两个命令
<?php
function writeToFile($file, $data) {
file_put_contents($file, $data);
}
?>
及
从您的代码和html结果将被发送到客户端。你猜怎么着?下面是将呈现给javascript的代码
<head>
<script>
function funct() {
}
window.onload = funct;
</script>
</head>
函数funct(){
}
window.onload=funct;
因此,如果文件text.txt
位于客户端,则需要使用ajax来处理此问题。这是对Ajax的一个很好的介绍
祝你好运哦,好的。我对PHP非常缺乏经验,所以我从这里的一个答案中提取了这种语法:我使用PHP和Javascript的原因是我想获取浏览器的用户代理字符串。我想我需要使用Ajax不是问题-我有时还是会对一些东西感到困惑(等到你使用JSON-这需要花一点时间才能弄清楚!)-服务器上发生了
内部的任何事情-broswer对此一无所知,直到你使用echo
或类似工具。javascript也是如此——发生在浏览器上,服务器对此一无所知,除非你将项目发布到服务器上(告诉服务器一些信息)——在谷歌上搜索“服务器端vs客户端语言”——希望这会有所帮助不,不,不,不,除了这个很好的答案,所以+1
<head>
<script>
function funct() {
}
window.onload = funct;
</script>
</head>