Aller au contenu

Probleme de chemin et de dreamweaver


furious Gontran

Sujets conseillés

je penseque cela viens d'un probleme de chemin mais mes tests ne me le confirment pas...

Voila, lorsque je teste mon code sur dreamweaver, tout marche bien et sans probleme. mais si je lance la page directement de son emplacement dans www, ca ne marche plus...

Voici le code:

<?php     

$fichier = "system\Dates.txt";

$fp = fopen($fichier,"r");

while (!feof($fp))

{

$ligne = fgets($fp);

$pieces = explode("|", $ligne);

$Nom=$pieces[1];

$Nom2= explode (">", $Nom);

if ($Nom2[1]=="")

  {

  $Nom3=$Nom2[0];

}else if ($Nom2[2]=="")

  {

  $Nom3=$Nom2[0]."<br>".$Nom2[1];

}else if ($Nom2[3]=="")

  {

  $Nom3=$Nom2[0]."<br>".$Nom2[1]."<br>".$Nom2[2];

}else

  {

  $Nom3=$Nom2[0]."<br>".$Nom2[1]."<br>".$Nom[2]."<br>".$Nom2[3];

  }

 

$Adresse = $pieces[2];

$Adresse2 = explode (">", $Adresse);

if ($Adresse2[1]=="")

  {

  $Adresse3=$Adresse2[0];

}else if ($Adresse2[2]=="")

  {

$Adresse3=$Adresse2[0]."<br>".$Adresse2[1];

}else if ($Adresse2[3]=="")

  {

  $Adresse3=$Adresse2[0]."<br>".$Adresse2[1]."<br>".$Adresse2[2];

}else

  {

  $Adresse3=$Adresse2[0]."<br>".$Adresse2[1]."<br>".$Adresse2[2]."<br>".$Adresse2[3];

  }

echo pieces[0];

echo $Adresse3;

echo $Nom3;

Wamp est bien lancé.

Les fichiers respectifs sont bien a leur place.

Dates.txt se trouve dans www/system/

Le code ci dessus se trouve dans www/

Lorsque je change Dates.txt de place pour le mettre dans www/

et en changeant le code pour : $fichier = "Dates.txt";

Ca marche encore sous dream et pas lancé directement.

Idem si je met:

$fichier = &quot;http://localhost/system/Dates.txt";

avec dates.txt dans system

Idem si je met $fichier = "system/Dates.txt"; ou $fichier = "system\Dates.txt";

Idem si je met $fichier = "E:\wamp\www\system\Dates.txt";

Et la vraiment, ca me prend le choux ce "detail".

Modifié par furious Gontran
Lien vers le commentaire
Partager sur d’autres sites

Salut Furious Gontran,

Et en mettant "rb" au lieu de "r" dans ton fopen() ?

Windows a la particularité de nécessiter ce flag "b" je ne sais plus pour quelle raison. J'ai pris l'habitude de le mettre sans me poser la question :)

Dan

Lien vers le commentaire
Partager sur d’autres sites

resource fopen ( string filename, string mode [, int use_include_path [, resource zcontext]])

De plus, mode peut contenir la lettre 'b'. Cette option n'est utile que sur les systèmes qui font la différence entre les fichiers binaires et les fichiers textes (en bref, c'est une fonctionnalité Windows, totalement inutile sous Unix). S'il n'est pas nécessaire, il sera ignoré.

Conclusion, le 'b' est pour le mode 'binaire' de windows ;)

Pour tester, ce que tu peux faire, c'est utiliser le flag 'w', pour écrire dans un fichier quelconque. Ce fichier n'existant pas, il le créera, et ainsi, tu verras où il le créera.

Sinon : Ton fichier ne serait il pas appelé par un "include" ?

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...