Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/10/2006, 07h56   #1
Invité de passage
 
Inscription : octobre 2006
Messages : 1
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 1
Points : 0
Points : 0
Par défaut [FTP] générer un fichier et écrire dedans

Salut à tous les membres de ce forum. Je suis un nouvel.

Je bute sur un problème, un script php qui fonctionne en local, ne fonctionne pas chez ovh.
Le but de ce script est qu'après une commande client, un fichier xml soit généré par ftp sur le serveur ovh, puis d'écrire les informations de la commande client à l'intérieur.

Le script fonctionne et crée bien le ficier .xml, en revanche impossible d'écrire dedans via le script. Les permissions 0777 sont verrouillées par ovh pour plus de sécurité, ce qui est normal.

Le problème est que même avec un chmod 755, le script ne modifie pas les permissions sur le fichier pour donner accès à l'écriture au propriétaire (moi).

Je vous joins mon script test, si vous avez une idée ??? Merci


Code PHP:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
 
<? 
 
$filename = "essai.xml"; 
$somecontent = "Ajouter ce texte !!! \n"; 
 
///////////////////// FTP 
 
$stream = ftp_connect("nomduserveur", 21); 
 
if (!ftp_login($stream, "login", "motdepasse")) { 
 
echo "Connexion impossible sur mon site.fr<br>"; 
 
    } 
 
    if (ftp_site($stream,'CHMOD 0755 /home/login/www/cde_xml')) { 
 
                echo 'SUCCESS<br>'; 
 
    }else { 
 
        echo 'FAILURE<br>';  
 
    } 
 
    ftp_close($stream);     
 
if (!$handle = fopen("/home/login/www/cde_xml/$filename", "w")) { 
 
      echo "Impossible d'ouvrir le fichier ($filename)<br>"; 
 
 
     $stream = ftp_connect("nomduserveur", 21); 
 
    if (!ftp_login($stream, "login", "motdepasse")) { 
 
    echo "Connexion impossible sur monsite.fr<br>"; 
 
    } 
 
 
    if (ftp_site($stream,'chmod 0755 /home/login/www/cde_xml/$filename')) { 
 
        echo 'SUCCESS<br>'; 
 
    }else { 
 
        echo 'FAILURE<br>';  
 
    } 
 
    ftp_close($stream);     
 
               exit; 
 
 
   // Ecrivons quelque chose dans notre fichier. 
 
   if (fwrite($handle, $somecontent) === FALSE) { 
 
       echo "Impossible d'écrire dans le fichier ($filename)<br>"; 
 
       exit; 
 
   } 
 
       echo "L'écriture de ($somecontent) dans le fichier ($filename) a réussi<br>"; 
 
 
   fclose($handle); 
 
 
} else { 
 
   echo "Le fichier $filename n'est pas accessible en écriture.<br>"; 
 
   fclose($handle); 
 
} 
 
?>
Quand je lance ce script, la connexion ftp réussi, le fichier essai.xml se crée et enfin :

Le fichier essai.xml n'est pas accessible en écriture...
quand je vérifie sur le ftp les attributs du fichier : 0644...

si quelqu'un peut m'aider c.cool.

merci
stefall est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2006, 09h22   #2
Expert Confirmé
 
Avatar de trotters213
 
Inscription : janvier 2005
Messages : 2 572
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Gard (Languedoc Roussillon)

Informations forums :
Inscription : janvier 2005
Messages : 2 572
Points : 2 605
Points : 2 605

A vérifier mais si c'est comme en C (et PHP ressemble fortement au C) ça devrait venir de là : tant que ton fichier n'est pas fermé, il garde les droits qu'il avait à l'ouverture donc si tu le crées en 777, il le reste jusqu'à ce que tu le fermes même si tu changes son chmod entre temps.
Donc il faut que tu le crées, tu changes son chmod en 755, tu le fermes puis tu le réouvre et là tu devrais pouvoir y écrire dedans.
__________________
Pensez au tag
Les règles du Forum

Dev. Web : FAQ (X)HTML/CSS | Tutos (X)HTML | Tutos CSS

PHP : FAQ PHP | Tutos PHP | Benchmark PHP 5

SQL : Cours SQL
trotters213 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h47.


 
 
 
 
Partenaires

Hébergement Web