Lecture d'un fichier CSV échoue
Posté : 06 avr. 2010, 23:18
Bonjour,
Il y a quelques mois, j'avais un problème pour insérer un fichier CSV dans une BDD, qui avait été résolu et le script fonctionnait parfaitement.
J'ai voulu l'utiliser à nouveau aujourd'hui, et il ne fonctionne plus. Je n'ai touché à aucune ligne de code depuis novembre, et je n'ai pas eu à réutiliser le script depuis d'ailleurs. Lorsque je charge le fichier CSV et que je clique sur OK, je reviens sur la même page (ce qui est normal) mais il ne se passe absolument rien, je n'ai ni message de confirmation ni message d'erreur, et la BDD reste inchangée.
D'où pourrait venir le problème ? Y'aurait-il eu des changements de normes, une évolution du code, ou quelque chose dans le genre, depuis l'année dernière ?
Je vous joins l'intégralité du code pour tenter d'y voir plus clair :

Il y a quelques mois, j'avais un problème pour insérer un fichier CSV dans une BDD, qui avait été résolu et le script fonctionnait parfaitement.
J'ai voulu l'utiliser à nouveau aujourd'hui, et il ne fonctionne plus. Je n'ai touché à aucune ligne de code depuis novembre, et je n'ai pas eu à réutiliser le script depuis d'ailleurs. Lorsque je charge le fichier CSV et que je clique sur OK, je reviens sur la même page (ce qui est normal) mais il ne se passe absolument rien, je n'ai ni message de confirmation ni message d'erreur, et la BDD reste inchangée.
D'où pourrait venir le problème ? Y'aurait-il eu des changements de normes, une évolution du code, ou quelque chose dans le genre, depuis l'année dernière ?
Je vous joins l'intégralité du code pour tenter d'y voir plus clair :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="java/connect.css">
<title>Partiels blancs PCEM1/APEMK</title></head><body>
<br><br><br>
<center>
<?
ini_set('auto_detect_line_endings',TRUE);
switch($action)
{
case "ajouter":
if ($fichier == "none")
{
print "Spécifier un fichier à envoyer.";
}
else
{
$dest_file="notes.csv";
$source_file=stripslashes($fichier);
$res_copy=copy($source_file , $dest_file);
print "Fichier envoyé.<br>";
}
$bdd = "xxx";
$host= "xxx";
$user= "xxx";
$pass= "xxx";
@mysql_connect($host,$user,$pass) or die("Impossible de se connecter à la base de données");
@mysql_select_db($bdd);
if (file_exists($fichier))
$fp = fopen("$fichier", "r");
else
{
echo "Fichier introuvable !<br>Importation stoppée.";
exit();
}
while (!feof($fp))
{
$liste = fgetcsv($fp,4096,";","");
$num = $liste[0];
$anat = $liste[1];
$physio = $liste[2];
$bc = $liste[3];
$anat = preg_replace("#,#", '.', $anat);
$physio = preg_replace("#,#", '.', $physio);
$bc = preg_replace("#,#", '.', $bc);
$anat=round($anat,2);
$physio=round($physio,2);
$bc=round($bc,2);
$query = "UPDATE P1 SET anat='$anat', physio='$physio', bc='$bc' WHERE num='$num'";
$result= MYSQL_QUERY($query);
if(mysql_error())
{
print "Erreur dans la base de données : ".mysql_error();
print "<br>Importation stoppée.";
exit();
}
else
print "";
}
echo "<br><b>Importation Ok !</b>";
/* Fermeture */
fclose($fp);
MYSQL_CLOSE();
break;
default:
?>
<? echo "<form method=\"post\" action=\"$PHP_SELF\" ENCTYPE=\"multipart/form-data\">"; ?>
<input type="file" name="fichier" enctype="multipart/form-data"><br>
<input type="hidden" name="MAX_FILE_SIZE" value="10000000"><br>
<input type="submit" name="submit" value="OK !"><input type="hidden" name="action" value="ajouter">
</form>
<?
break;
}
?>
</body>
</html>
Merci de votre aide 