chemin relatif

Sandra92
Invité n'ayant pas de compte PHPfrance

14 juin 2011, 15:28

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 !!!! :)

Eléphant du PHP | 92 Messages

14 juin 2011, 16:05

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.
Programmer c'est 20% de syntaxe pour 80% de réflexion et dans les 20% de syntaxe il faut encore compter une bonne dose de réflexion...
Je vous donne des conseils, pas des solutions toutes faites...

Petit nouveau ! | 3 Messages

16 juin 2011, 15:58

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+

Mammouth du PHP | 2278 Messages

17 juin 2011, 16:23

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.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 2278 Messages

17 juin 2011, 19:35

$fichier{name'] bien sûr, Averell, à la première ligne du code
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD

Mammouth du PHP | 2278 Messages

17 juin 2011, 19:43

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.
Vanitas vanitatum et omnia vanitas
Mes derniers livres :
Sauvez les Mots chez BoD,
Tous les chemins mènent à ROM chez BoD