IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Un petit script facile mais qui bloque


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut Un petit script facile mais qui bloque
    Bonjour à tous,

    Je suis encore une fois coincé... J'ai des anciennes bases MySql dont je voudrai me servir. Elles ont été sauvegardées, bases et tables, dans des fichiers *.txt réunis dans le même répertoire.

    Pour éviter de tout transférer à la main, j'ai voulu réaliser un petit script rapide qui le fait automatiquement : on définit le répertoire. Il lit ce répertoire et ouvre chaque fichier. Par fichier, il lit chaque ligne (qui est une instruction MySql) et, avec un query, il charge la table. Simple comme tout.

    Parfois il fonctionne, mais pas longtemps, et parfois il refuse en me mettant :

    " Warning: file(.): failed to open stream: Permission denied in d:\easyphp1-8\www\whombat\charge_tables.php on line 16 "

    C'est la ligne : $fich = file($files); Bien sur il précise que du coup la variable each() n'est pas valable et que Query est vide.
    Les fichiers n'ont pas de blocage particuliers, la preuve parfois il les ouvre. Alors... No sé...

    Je vous mets mon script, au cas ou...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    <?php
     
    function cherge_bdd($dir)      {
     
    	require('..\config\conf.php');  // pour les données $serveur, $user, etc...
     
    	chdir($dir);   // $dir est une variable déjà définie, c'est un répertoire de fichiers de données à entrer sur la bdd
     
    	$cnx = mysql_connect($serveur, $user, $passwd); 
    	mysql_select_db($bdd, $cnx); 	
     
    	$fp = opendir($dir);
     
    	while ($file = readdir($fp))      {
     
    		$fich = file($file);
    		$nb=count($fich); 
     
    		for ($i=0; $i<=$nb; $i++)	{
     
    			list( $num, $ligne ) = each( $fich );
    			$instruction = trim($ligne);
     
        			mysql_query($instruction) or die(mysql_error());
     		}
    	}
     
     
    	mysql_close();
    }
     
    ?>
    Merci par avance de votre avis.

    Cordialement.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    As-tu fais un echo sur le nom du fichier a lire, j'ai l'impression que tu n'as pas exclu les fichiers . et .. c'est peut-etre eux qui te pose problème.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    Bonjour,

    Je n'ai pas cherché les fichiers '.' et '..' parcequ'il n'y a^pas de sous répertoire. C'est juste un rep, créé pour, avec des fichiers txt.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    957
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 957
    Par défaut
    Tous les répertoires contiennent implicitement les fichier . et .. tu n'as pas le choix essaye de voir si le problème ne viens pas de là.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 183
    Par défaut
    En fait vous aviez raison.
    Ca marche parfaitement.
    Merci pour le tuyau.
    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 4] Petit Script Qui Permet De Supprimer Tous Les Fichiers D'un Dossier
    Par The_Haunted dans le forum Langage
    Réponses: 5
    Dernier message: 03/01/2009, 15h15
  2. Script qui bloque IE
    Par sondo dans le forum IE
    Réponses: 1
    Dernier message: 15/05/2007, 10h01
  3. petit script qui demande vérification
    Par schats dans le forum Langage
    Réponses: 2
    Dernier message: 28/02/2007, 22h01
  4. Réponses: 8
    Dernier message: 03/10/2006, 17h34
  5. dll qui compile mais qui bloque en appel
    Par darkman10 dans le forum Windows
    Réponses: 7
    Dernier message: 09/05/2006, 15h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo