Posez votre question Signaler

Warning: fopen... [Résolu]

nickleus - Dernière réponse le 18 mai 2010 à 10:23
Bonjour,
Voila je cherche à resoudre cette erreur:
Warning: fopen(extract/import_190108_1411.txt) [function.fopen]: failed to open stream: No such file or directory in C:\adresse\reseau\extact_reseau\import.php on line 14
Je ne comprend car j'utilise la exactement la syntax qu'a la ligne 6. Pour info la variable '$txt' contient la chaine de caractere "import_190108_1411.txt". Voici le script:
$dir="../reader/";
$namefile="lastLoad.txt";
//Ouverture du fichier lastLoad.txt pour connaitre le nouveau fichier à importer.
if($file=fopen($dir.$namefile, "r")){ <---------------LIGNE 6
$texte=fgets($file);
$importTxt=explode(" ", $texte);
$txt=$importTxt[1];
$dirExtract="extract/";
//ouverture du fichier pour improter les variables des parrains et des filleuls.
if($openFile=fopen($dirExtract.$txt, "r")){ <--------LIGNE 14
$total=count($ligne=file($dirExtract.$txt))-1;
for($i=0; $i<=$total; $i++){
$explodeLigne=explode(" ", $ligne[$i]);
$var1[]=$explodeLigne[0];
$var2[]=$explodeLigne[1];}}}
Comme deux serveaux vallent mieux qu'un, j'espere que le votre sera plus astucieux que le miens.
merci d'avence.
Lire la suite 

Warning: fopen »

7 réponses
Réponse
+0
moins plus
Salut nickleus,

"Warning: fopen(extract/import_190108_1411.txt) [function.fopen]: failed to open stream: No such file or directory in C:\adresse\reseau\extact_reseau\import.php on line 14" dit qu'il n'y a pas le fichier que tu as indiqué, et PHP ne le créant pas il y a une erreur.

Essaye avec
$dirExtract="/extract/";
Si extract est un dossier à la racine de ton site.

Cordialement,
Keanjyto.
Ajouter un commentaire
Réponse
+0
moins plus
Le dossier extract n'est pas à la racine du site.

Le script et le dossier extract sont dans le meme dossier qui s'appel extract_reseau.
Et dans le dossier extract, je viens de regarder, il y a bien le fichier txt : import_190108_1411.txt.

j'ai tout de meme essayer la solution que vous m'avez proposé mais cela de fonction pas.

j'utilisela fonction fopen() avec les meme syntax dans d'autres scripts et ils fonctionnent correctement.

je ne comprend pas pourquoi ca ne marche pas ici.

Est ce qu'il y a une autre solution ?
Ajouter un commentaire
Réponse
+0
moins plus
Assure toi d'avoir créer le fichier import_190108_1411.txt. Sinon, je ne vois pas le code à l'air bon mais je n'excelle pas en PHP donc essaye si quelqu'un peut donner son avis ce serai bien.
Ajouter un commentaire
Réponse
+0
moins plus
Arretons de chercher j'ai trouvé mon erreur,
je vais extrait d'un fichier txt le nom du fichier a ouvrir.

dans mon exemple le fichier lastLoad.txt est ou je vais chercher le nom du fichier import_190108_1411.txt
Il se trouve qu'il y avait un espace avant et je ne le prennais pas en compte.

voila !!!

merci pour l'aide.
Ajouter un commentaire
Réponse
+0
moins plus
Voila la solution

if($file=fopen($dir.$namefile, "r")){
$texte=fgets($file);
$importTxt=explode(" ", $texte);
$txt=" ".$importTxt[1]; <------LIGNE 14


mais c'est du bricolage il faut que je trouve une autre solution pour virrer l'espace
Ajouter un commentaire
Réponse
+0
moins plus
Ok merci d'avoir posté la solution. Cela peut aider d'autres personnes.
Ajouter un commentaire
Réponse
+0
moins plus
réponse tardive mais cela peut toujours intéresser :

La fonction trim($machaine) est très pratique. Elle permet d'enlever les espaces au début et à la fin d'une chaine de caractères, tout en conservant le reste de la chaine intact, même s'il y a des espaces.
Ajouter un commentaire
Ce document intitulé « Warning: fopen... » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Windows 8 - À quoi s'attendre ?