2012-02-14 14 views
4

J'ai un script qui va écrire une chaîne donnée dans un fichier texte ...écrire dans le fichier en PHP avec une variable comme le nom du fichier

j'ai l'expérience par écrit txt fichiers via PHP ....

Je voudrais écrire dans un fichier quand un formulaire est soumis, et j'ai le script qui travaille pour écrire dans le fichier "users/user_txt/$ username.txt".

Mais il enregistre le nom de fichier sous $ username.txt.

Voici le code:

$fp = fopen('users/user_txt/$username.txt', 'a+'); 
$fwrite = fwrite($fp, "," . $log_write); 

Cela crée un fichier texte vide et l'ajoute, ou crée un fichier lorsqu'aucun fichier existe ...

Cependant, il enregistre le nom de fichier comme /$username.txt.

Je suis saisissant la variable « $ username » de la forme, et correcte de cet écho ...

Mais j'ai besoin pour créer réellement le nom de fichier:

DJ-PIMP.txt 

Si je soumets ma nom d'utilisateur comme DJ-PIMP sur le formulaire ...

Faisons semblant de remplir le formulaire et d'entrer le nom d'utilisateur dave123.

J'ai besoin du script pour écrire dans le fichier comme ceci:

$fp = fopen('users/user_txt/dave123.txt', 'a+'); 

Comment puis-je code cela pour que lorsque je soumets le formulaire (dès que la forme soumise, la variable $ username serait « dave123 »).

+0

double possible de [Définir le nom du fichier en utilisant la variable entrée utilisateur en PHP] (https://stackoverflow.com/questions/7484736/set-file-name-using -user-inputted-variable-in-php) –

Répondre

5

L'exemple de code que vous avez ci-dessus utilise des guillemets simples, qui prennent tout littéralement. Utilisation:

$fp = fopen("users/user_txt/$username.txt",'a+'); $fwrite = fwrite($fp, "," . $log_write); 

Ou

$fp = fopen('users/user_txt/'.$username.'.txt', 'a+'); $fwrite = fwrite($fp, "," . $log_write); 
+0

je reçois erreur de syntaxe désolé –

+0

essayé beaucoup de variations sur votre suggestion, mais rien ne fonctionne –

+0

$ fp = fopen ('users/user_txt /'.$ nom d'utilisateur.'. txt ',' a + '); <<< cela fonctionne merci –

Questions connexes