问题是,我试图写入服务器上的文件,以响应客户端浏览器发起的请求。注意:我已经很长时间没有在TypeScript / PHP / Servers上工作了,所以不要默认认为我知道很多东西:-)
我的程式码是以这个范例为基础:/questions/11240996/将javascript输出到服务器上的文件
我最后得到了在服务器端使用PHP在https://objective.no/webapptest2/文件夹中创建文件“h.txt”的代码。确实创建了一个空的h.txt文件,但其内容“456”从未被写入:我没有收到任何错误消息指出原因。
下面是我的客户端和服务器端代码
服务器端
//PHP code: (A little elaborate, but it should work)
//h.txt is created, but its content is never written: read only problem?? I can't find how to see if //the file is read only or not)
//The php Code is located on Server
<?php
function getData() {
$myFile = fopen("h.txt", "w");
fclose($myFile);
sleep(5);
//return "link to h.txt";
}
getData();
// Tried to return different values for the URL below:
// "h.txt" is created, but its content "456" is never // written
return "URL to h.txt";
?>
个字符
(我试图包括适当的链接到服务器等,但后被归类为垃圾邮件?)
问题是否在于服务器上的h.txt对于客户端是只读的?解决的办法是什么?
我希望能够将文本写入服务器上的h.txt文件。
2条答案
按热度按时间cczfrluj1#
在这里你打开一个文本文件与写选项,然后立即关闭它
字符串
你实际上需要做的是在你发布到url的数据变量中写入内容,如下所示:
型
我个人更喜欢input_put_content()而不是fopen/fclose
wz3gfoph2#
你的代码缺少三个重要但简单的东西:
1.客户端代码无法正确发送带有命名参数和值的form-url编码字符串。目前您已经有了这个值,但是没有PHP可以识别它的名称。这种模式与您在URL中经常看到的模式相同:
name=value
。(多个参数将写成name1=value1&name2=value2
...等)1.服务器端的PHP代码不会尝试读取从客户端提交的任何内容。PHP将把(正确编写的)form-url编码的POST参数放在
$_POST
数组中,以方便您使用。fopen
等进行单独的调用,使用file_put_contents
要容易得多,所以你可以在一行中完成整个操作。考虑到所有这些,这应该是可行的:
JavaScript
字符串
test.php
型