Heim  >  Fragen und Antworten  >  Hauptteil

Probleme beim Konvertieren von vom TypeScript/Angular-Client generierten serverseitigen Textdateien

<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>
P粉022140576P粉022140576463 Tage vor469

Antworte allen(1)Ich werde antworten

  • P粉135799949

    P粉1357999492023-08-08 13:53:33

    好的,在这里您以写入方式打开一个文本文件,然后立即关闭它。

    function getData() {
      $myFile = fopen("h.txt", "w");
      fclose($myFile);
      sleep(5);

    您实际上需要做的是将内容写入数据变量中,然后以像这样的方式将网址作为参数传入:

    function getData() {
    $myFile = fopen("h.txt", "w");
    fwrite($myFile, filter_input(INPUT_POST, 'data', FILTER_SANITIZE_SPECIAL_CHARS));
    fclose($myFile);

    我也个人更喜欢输入内容(input_put_content())而不是fopen/fclose。

    Antwort
    0
  • StornierenAntwort