Page 1 sur 1

écrire ds fichier ( probleme windows/linux)

Posté : 27 avr. 2010, 16:42
par YaunBeug
Bonjour,


J'avais une base de données nickel avec plein de fichier html/php.
Tout marchait pour le mieux dans le meilleur des mondes . Et pourtant, j'étais sous windows. ( ac easyPHP)

MAIS pour certaines raison je suis passer sur linux. J'ai tout installé , configurer.
La base et le site pour l'interroger fonctionne bien mai le PHP me pose quelques problemes dès que je touche a l'écriture de fichier.

Alors pour tester, j'ai mis le genre de ligne qui génere des erreurs a oart dans un fichier .
Et c pareil ca ne marche pas

<?php
echo 'test';
$fp = fopen("IIIIIIIIIIIi.txt","w");

fputs($fp,"L'organisme considéré :");

?>


Erreur:

test
Warning: fopen(IIIIIIIIIIIi.txt) [function.fopen]: failed to open stream: Permission non accordée in /home/tahi/public_html/testNUX.php on line 3

Warning: fputs() expects parameter 1 to be resource, boolean given in /home/tahi/public_html/testNUX.php on line 4


Je veux juste écrire dans un fichier que je génere.
Ce code fonctionne parfaitement sous windows pourquoi ne marcherai t il pas sous linux. Je pense au problèmes de permission.
Merci d'avance

Re: écrire ds fichier ( probleme windows/linux)

Posté : 27 avr. 2010, 16:45
par telnes
hello

tu viens de le dire ! problème de droit, il faut que tu configure les droits :) dans windows c'est à la wanegen ^^ mais pas sous linux

++

Re: écrire ds fichier ( probleme windows/linux)

Posté : 27 avr. 2010, 16:54
par YaunBeug
non pas besoin de régler les droits sous windows.

C'est sur linux que ca déconne.
Comme dans l exemple IIIIIIiiiiiiiiiiii.txt est un fichier que je fabrique je vois pas trop comment donner des droits dessus .

Re: écrire ds fichier ( probleme windows/linux)

Posté : 27 avr. 2010, 16:56
par stealth35
non pas besoin de régler les droits sous windows.

C'est sur linux que ca déconne.
Comme dans l exemple IIIIIIiiiiiiiiiiii.txt est un fichier que je fabrique je vois pas trop comment donner des droits dessus .
tu le creer avec quel compte ? (t'es sous quel distrib linux ?)

Re: écrire ds fichier ( probleme windows/linux)

Posté : 27 avr. 2010, 16:59
par Duke
salut tu te places dans ton dossier avec la console shell et hop un petit

chmod 777 IIIIIIIIIIIi.txt

:D

(du moins avec ubuntu)

Re: écrire ds fichier ( probleme windows/linux)

Posté : 27 avr. 2010, 17:02
par YaunBeug
Je peux pas faire de chmod sur un fichier qui n existe pas encore :p
c presque philosophique
Je suis sur le dernier unbuntu.

Je vois pas comment ces deux lignes peuvent échouer ..
Juste ce programme a deux lignes n'a pas de raison de pas fonctionner

$fp = fopen("IIIIIIIIIIIi.txt","w");
fputs($fp,"L'organisme considéré :");

Parce que, comme je fabrique le fichier, nativement j'y ai tout les droits



De plus , l'erreur suivante , je l'avais pas sous windows. Je pense pas que la syntaxe du php soit différente selon l'OS..
Warning: fputs() expects parameter 1 to be resource, boolean given in /home/tahi/public_html/testNUX.php on line 4

Re: écrire ds fichier ( probleme windows/linux)

Posté : 27 avr. 2010, 17:03
par YaunBeug
oui je fais un fopen pour créer le fichier.
si le fichier n'est pas présent, il le fabrique.

Re: écrire ds fichier ( probleme windows/linux)

Posté : 27 avr. 2010, 17:03
par stealth35
c'est ton dossier alors où tu dois régler les droits :wink:

EDIT : d'ailleur je te conseil file_put_contents c'est plus simple (dans la plupart des cas)

Re: écrire ds fichier ( probleme windows/linux)

Posté : 27 avr. 2010, 17:08
par YaunBeug
Yoppp

Merci ca marche, c cool.
J'ai fait un chmod 777 sur le repertoire.

Re: écrire ds fichier ( probleme windows/linux)

Posté : 29 avr. 2010, 10:43
par Nell95
Bonjour je profite de se post car j'ai le meme problème que toi
sauf que lorsque je met le repertoire avec un chmod 777 j'ai toujours le refus de la commande voici mon code :

Code : Tout sélectionner

[php] if(!$fp=fopen"/.../test.txt","a") { echo "echec"; } else { while(!feof($fp)) { fputs($fp,"anon_world_readable_only=NO"); fputs($fp,"write_enable=YES"); d'autre ligne du meme type } fclose($fp); } [/php]

Re: écrire ds fichier ( probleme windows/linux)

Posté : 03 mai 2010, 16:53
par YaunBeug
D'apres ce que j'ai compris, donner les droits sur le répertoire courant dans lequelle ya juste ton fichier ca suffit pas .
Moi ca a suffit mais c était du hasard.
Il faut que tu donne les même droit que ceux que tu veux donner a ton fichier a TOUT les répertoires parents.

si ton fichier est dans /Bureau
et ben faut que tu donne tout les droits aux répertoires de" / "jusque " /" bureau