Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2467 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Impossible d'écrire un fichier texte dans un répertoire sur FTP.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Impossible d'écrire un fichier texte dans un répertoire sur FTP.

n°1584044
LestoK
Posté le 09-07-2007 à 14:26:42  profilanswer
 

Bonjour à tous,
 
actuellement en stage dans une petite entreprise, je dois mettre en place un système de logs d'un site en PHP.
En local pas de problème. Mon script php s'éxecute et les logs sont bien enregistrés.
En ligne en revanche le répertoire est bien créé quand cela est nécessaire avec les bons droits (777) vérifié sur le ftp. Mais la création du fichier texte avec les logs ne se fait pas.
Le masque par défaut est à "18" quand j'utilise la fonction umask(). Je l'ai donc changé et rétabli en début et fin de script. Que signifie un mask à 18?
 
Voici mon bout de code :  
 
 
 $oldmask=umask();
 umask(0);
 
        // Si le répertoire n'existe pas je le créé.
 if(!(is_dir('_logs/'.date("Y-m" ).'/')))
 {
 
  mkdir('_logs/'.date("Y-m" ).'/');
   
 }
        // Je créé mon fichier de log.
 $filename='_logs/'.date("Y-m" ).'/'.date("d-m-Y" ).'.txt';
 $fo=fopen($filename,"a+" );
 $phrase='[ '.date("H:i:s" ).' ] '.$_SERVER['REQUEST_URI'].' --> L\'utilisateur '.$_SESSION['login'].' est sur la page d\'accueil.';
        //Et j'y ajoute ma phrase...
  fputs($fo,$phrase);
 fputs($fo,"\n" );
        // Je ferme le fichier et je rétabli le masque par défaut.
 fclose($fo);
 $umask=($oldmask);
 
VOICI LE RESULTAT EN LOCAL :
 
 
 
[ 12:02:30 ] /home.php?interv=futur --> L'utilisateur jerome est sur la page d'accueil.
[ 12:03:19 ] /home.php?interv=futur --> L'utilisateur jerome est sur la page d'accueil.
[ 12:03:27 ] /home.php?interv=futur --> L'utilisateur jerome est sur la page d'accueil.
[ 12:04:17 ] /home.php?interv=nonsoldees --> L'utilisateur jerome est sur la page d'accueil.
[ 12:13:06 ] /home.php --> L'utilisateur jerome est sur la page d'accueil.
[ 12:13:08 ] /home.php?interv=soldees --> L'utilisateur jerome est sur la page d'accueil.
[ 12:13:11 ] /home.php?taches=afaire --> L'utilisateur jerome est sur la page d'accueil.
[ 12:13:14 ] /home.php?interv=futur --> L'utilisateur jerome est sur la page d'accueil.
[ 14:08:55 ] /home.php?interv=futur --> L'utilisateur jerome est sur la page d'accueil.

 
Impossible d'avoir ce résultat en ligne. Faut t'il changer quelque chose au niveau des config php.ini ou httpd.conf ?

mood
Publicité
Posté le 09-07-2007 à 14:26:42  profilanswer
 

n°1584223
bixibu
Ca ... c'est fait!
Posté le 09-07-2007 à 19:42:37  profilanswer
 

si /home.php marche en local, sur le net tu as une chance sur 2 pour que ca ne marche pas.. (surtout si tu es en dédié)..
 
Donc tu utilise la fonction realpath pour savoir si les chemins que tu utilisent en local sont valables online : http://www.manuelphp.com/php/function.realpath.php

n°1584370
LestoK
Posté le 10-07-2007 à 09:26:01  profilanswer
 

Problème résolu. Il n'y a pas de problème avec /home.php, j'utilise $_SERVER['REQUEST_URI']. ce qui me donne en local /home.php et une autre information en ligne (que je ne dévoilerais pas...)
 
L'erreur était celle-ci :  
Warning: fopen() [function.fopen]: SAFE MODE Restriction in effect. The script whose uid is 6666 is not allowed to access /var/www/vhosts/unknown.fr/subdomains/dingue/httpsdocs/_logs/2007-07 owned by uid 48 in /var/www/vhosts/unknown.fr/subdomains/dingue/httpsdocs/home.php on line 21
 
L'erreur venait d'une différence au sein de la configuration du core php entre master value et local value du "safe_mode". La master value était bien celle de php.ini (off) et la local value était sur on. Etant chez ovh j'ai été vérifié que le safe mode était désactivé via l'interface ce qui n'était pas le cas... Merci quand même du coup de main !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Impossible d'écrire un fichier texte dans un répertoire sur FTP.

 

Sujets relatifs
un texte par dessus une video dans une meme frame?SQL Server : fichier log
[Access] Mettre une valeur dans une zone de texte venant d'une table ?[Résolu] Importer un fichier .xsl dans une BDD
[SQL Server][Gestion de fichier] Ouvrir lire créer un fichier via SQL?Scritp FTP qui lit un fichier .
comment lire un fichier solcreer un script a partir des valeurs d'un fichier
Parser un fichier simple en C++ 
Plus de sujets relatifs à : Impossible d'écrire un fichier texte dans un répertoire sur FTP.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR