<p>"Das Problem besteht darin, dass ich versuche, Textinhalte über eine vom Client-Browser initiierte Anfrage in eine serverseitige Datei zu schreiben. HINWEIS: Es ist schon eine ganze Weile her, seit ich an TypeScript/PHP gearbeitet habe /Server, gehen Sie also bitte nicht davon aus, dass ich standardmäßig alles weiß :) Ich habe es aus meinem eigenen Code angepasst: /issue/11240996/Output JavaScript to File -server<br /><br /> einer mit PHP Der Code zum Erstellen der Datei „h.txt“ auf der Serverseite erstellt zwar eine leere Datei „h.txt“, deren Inhalt „456“ wird jedoch nie geschrieben: Ich erhalte nie eine Fehlermeldung darüber, warum.„456“是文件的内容,</p><p><br /></p>
<h2>服务器端</h2>
<pre class="brush:php;toolbar:false;">//PHP-Code: (Ein wenig aufwendig, aber es sollte funktionieren)
//h.txt wird erstellt, aber sein Inhalt wird nie geschrieben: Nur-Lese-Problem?? Ich kann nicht herausfinden, ob //die Datei schreibgeschützt ist oder nicht)
//Der PHP-Code befindet sich auf dem Server
<?php
Funktion getData() {
$myFile = fopen("h.txt", "w");
fclose($myFile);
Schlaf(5);
//return „link to h.txt“;
}
Daten bekommen();
// Es wurde versucht, unterschiedliche Werte für die folgende URL zurückzugeben:
// „h.txt“ wird erstellt, aber sein Inhalt „456“ wird nie // geschrieben
Rückgabe „URL zu h.txt“;
?></pre>
<pre class="brush:php;toolbar:false;">//Auf der Client-Seite habe ich den folgenden Code:
//Der Client ist in Angular geschrieben und die Funktion, die den Datenaustausch mit dem Server auslöst
testWriteToServerFile() {
let data: string = "456";// Dies sind Ihre Daten, die Sie an den Server übergeben möchten
//Als nächstes würden Sie eine XMLHTTPRequest wie folgt initiieren (könnte fortgeschrittener sein):
var url = URL zum serverseitigen PHP-Code, der die Daten empfängt.
var http = new XMLHttpRequest();
http.open("POST", url, true);
//Senden Sie die richtigen Header-Informationen zusammen mit der Anfrage
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.setRequestHeader("Content-length", data.length.toString());
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {//Rufen Sie eine Funktion auf, wenn sich der Status ändert.
if(http.readyState == 4 && http.status == 200) {
alarm(http.responseText);//überprüfen, ob die Daten erfolgreich empfangen wurden.
}
}
http.send(data);
}</pre>
好的,在这里您以写入方式打开一个文本文件,然后立即关闭它。
您实际上需要做的是将内容写入数据变量中,然后以像这样的方式将网址作为参数传入:
我也个人更喜欢输入内容(input_put_content())而不是fopen/fclose。