Page 1 sur 1
chemin relatif
Posté : 14 juin 2011, 15:28
par Sandra92
Bonjour a tous,
Je n'arrive pas à mettre un chemin relatif pour l'ouverture d'un fichier:
$fichier=fopen("../".$fichier['name'],"r");
mon arborecence est : c:\\xampp\htdocs\Fiche_de_suivi\\ Puis le nom du fichier contenu dans la variable $fichier['name'].
Merci pour votre aide !!!! :)
Re: chemin relatif
Posté : 14 juin 2011, 16:05
par Maskime
Hello,
Est ce que tu pourrais donner un peu plus de détail sur :
-L'endroit où se trouve le fichier qui fait le fopen() dans ton arbo.
-L'url qui va chercher à ouvrir le fichier
On sera plus à même de t'aider.
Re: chemin relatif
Posté : 16 juin 2011, 15:58
par baklidz
Azul
$fichier=fopen("../".$fichier['name'],"r");
Remplacer le Par
$fichier=fopen("../Fiche_de_suivi".$fichier['name'],"r");
voir ce que ça donne
ici je suppose que tes fichiers son englober ds le repertoire Fiche_de_suivi qui se trouve bien sur dans htdocs
A+
Re: chemin relatif
Posté : 17 juin 2011, 16:23
par sirakawa
Bonjour,
$fichier=fopen("../".$fichier['name'],"r");
$fichier['name'] : ca sort d'un tableau $fichier? ou bien ça viendrait d'un formulaire?
ce que tu écris suppose un fichier dans le répertoire parent.
En général, pour débuguer dans ce genre de cas, il faut dissocier les éléments et les vérifier un par un, éventuellement en commentant :
1)
Code : Tout sélectionner
$nom_fichier = $fichier['name];
print "$nom_fichier";
$nom_complet_fichier = "../".$nom_fichier;
print "$nom_complet_fichier " // pour être sûr de ce qu'on fait...
$fic = fopen($nom_complet_fichier, "r");
Et pendant que j'y suis, l'erreur se trouve toujours au point ou avant le point où PHP (et tout langage de programmation) en signale une, jamais après, ce qui ne veut pas dire qu'il n'y en a pas après...
M.B.
Re: chemin relatif
Posté : 17 juin 2011, 19:35
par sirakawa
$fichier{name'] bien sûr, Averell, à la première ligne du code
Re: chemin relatif
Posté : 17 juin 2011, 19:43
par sirakawa
Ajoutons que, ayant été formé aux langages fortement typés, même si je connais LISP qui ne type pas, il est plus commode de ne pas changer brutalement le type d'une variable, me si PhP le permet:
$fichier = $fichier['name'];
ça veut dire qu'on perd le contenu du tableau $fichier après en avoir affecté une valeur dans $fichier... Quant au reste des valeurs de ce tableau, on a intérêt à ne pas en avoir besoin.
et si on conclut par
$fichier = fopen ($fichier, "r");
on est certain d'éclaircir une situation déjà obscure...
Mais je suis un maniaque du typage, et de l'initialisation, ce qui évite les innombrables erreurs "variable inexistantes" dans les logiciels que je teste:
ex:
if (qqchose){
$err_mess= "erreur grave";
}
...
print "$err_mess"; // et quand qqchose ne s'est pas passé, erreur variable inconnue.
Alors que:
$err_mess="";
if (qqchose){
$err_mess= "erreur grave";
}
...
print "$err_mess";
fait le même travail.
M. B.