Maison  >  Questions et réponses  >  le corps du texte

Problèmes liés à la conversion de fichiers texte côté serveur générés par le client TypeScript/Angular

<p>"Le problème est que j'essaie d'écrire du contenu texte dans un fichier côté serveur via une requête initiée par le navigateur client. REMARQUE : cela fait un certain temps que je ne travaille pas sur TypeScript/PHP. /Server, donc ne présumez pas que je sais tout par défaut :) Je l'ai adapté de mon propre code : /issue/11240996/Output JavaScript to File -server<br /><br /> celui utilisant PHP Le code de création du fichier "h.txt" côté serveur crée bien un fichier "h.txt" vide, mais son contenu "456" n'est jamais écrit : je ne reçois jamais de message d'erreur expliquant pourquoi."456"是文件的内容,</p><p><br /></p> <h2>服务器端</h2> <pre class="brush:php;toolbar:false;">//Code PHP : (Un peu élaboré, mais cela devrait fonctionner) //h.txt est créé, mais son contenu n'est jamais écrit : problème de lecture seule ?? Je ne trouve pas comment voir si //le fichier est en lecture seule ou non) //Le code php est situé sur le serveur <?php fonction getData() { $monFichier = fopen("h.txt", "w"); fclose($monFichier); dormir(5); //retourne "lien vers h.txt" ; } getData(); // J'ai essayé de renvoyer différentes valeurs pour l'URL ci-dessous : // "h.txt" est créé, mais son contenu "456" n'est jamais // écrit renvoyer "URL vers h.txt" ; ?>≪/pré> <pre class="brush:php;toolbar:false;">//Côté Client j'ai le code suivant : //Le Client est écrit en Angular, et la fonction qui déclenche l'échange de données avec le serveur testWriteToServerFile() { let data: string = "456";// ce sont vos données que vous souhaitez transmettre au serveur // Ensuite, vous lancerez une XMLHTTPRequest comme suit (peut être plus avancé) : var url = url vers le code PHP côté serveur qui recevra les données. var http = new XMLHttpRequest(); http.open("POST", url, vrai); //Envoyer les informations d'en-tête appropriées avec la demande http.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http.setRequestHeader("Content-length", data.length.toString()); http.setRequestHeader("Connexion", "fermer"); http.onreadystatechange = function() {//Appelle une fonction lorsque l'état change. if(http.readyState == 4 && http.status == 200) { alert(http.responseText);//vérifie si les données ont été reçues avec succès. } } http.send(données); }</pré> <p>(但这篇文章被归类为垃圾邮件?)<br /><br />服务Le fichier h.txt est utilisé <br /><br />我希望能够将文本写入服务器上的h.txt文件。</p>< ;p><br / >≪/p>
P粉022140576P粉022140576463 Il y a quelques jours465

répondre à tous(1)je répondrai

  • P粉135799949

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

    D'accord, ici vous ouvrez un fichier texte pour l'écrire, puis vous le fermez immédiatement.

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

    Ce que vous devez réellement faire est d'écrire le contenu dans une variable de données, puis de transmettre l'URL en tant que paramètre comme ceci :

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

    Je préfère aussi personnellement input_put_content() au lieu de fopen/fclose.

    répondre
    0
  • Annulerrépondre