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...
Merci par avance de votre avis.
Cordialement.
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...
<?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.