Problèmes liés à la conversion de fichiers texte côté serveur générés par le client TypeScript/Angular
P粉022140576
2023-08-07 15:48:34
<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>
D'accord, ici vous ouvrez un fichier texte pour l'écrire, puis vous le fermez immédiatement.
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 :
Je préfère aussi personnellement input_put_content() au lieu de fopen/fclose.