[RESOLU] Syntaxe pour écrire dans un fichier en local ?

Eléphant du PHP | 218 Messages

27 oct. 2017, 11:59

Bonjour, je souhaiterais écrire un fichier dans un dossier en LOCAL depuis une page ONLINE mais apparement ce n'est pas la bonne syntaxe, pouvez-vous me venir en aide svp ?
// 1 : ON OUVRE LE FICHIER
	$monfichier = fopen('C:/PROGS/wamp/www/dossier/' . $numero_commande . '.csv', 'a+');


// 2 : ON FERA ICI NOS OPÉRATIONS SUR LE FICHIER...
	ftruncate($monfichier, 0);
	fputs($monfichier, $txt_etiquette);


// 3 : QUAND ON A FINI DE L'UTILISER, ON FERME LE FICHIER
	fclose($monfichier);
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/

Mammouth du PHP | 688 Messages

27 oct. 2017, 12:08

avec un chemin relaif plutôt qu'absolu pour fopen ?
$monfichier = fopen($numero_commande . '.csv', 'a+');
ou
$monfichier = fopen('dossier/' . $numero_commande . '.csv', 'a+');
ou
$monfichier = fopen('../dossier/' . $numero_commande . '.csv', 'a+');

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

27 oct. 2017, 13:31

Bonjour,

Tu ne peux PAS créer un fichier sur le poste LOCAL du visiteur de ta page (et heureusement car ça poserait quelques problèmes de sécurité).

Tu ne peux créer un fichier QUE sur le disque dur de ton serveur (là où est hébergé ton site).


Pour créer un fichier sur le poste local, il y a 3 solutions :
- proposer le fichier en téléchargement pour que le visiteur puisse l'enregistrer sur son ordi
Si tu as la main sur le poste du visiteur (par exemple si c'est pour un export uniquement sur ta machine) :
- installer un serveur FTP sur ton PC qui sera accessible de l'extérieur pour que PHP puisse s'y connecter et y déposer le fichier
- utiliser un système de synchronisation de fichier tel que dropbox, où tu pourras avec les API de dropbox uploader un fichier sur ton propre compte : https://www.dropbox.com/developers-v1/core/start/php
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 218 Messages

28 oct. 2017, 10:42

Bonjour, et merci beaucoup pour votre aide. J'ai quand même finalement trouvé une soluce qui fonctionne.
J'envois en ligne mes variables via mon url pour les récupérer en GET sur ma page de traitement en LOCAL qui pourra ainsi créer grâce à mon code précédent un fichier .csv ou autre dans un dossier local.
Cadeaux personnalisés pour toute la famille :
https://cadeauxplaisir.com/