Importation fichier

isa.dama Messages postés 32 Statut Membre -  
Reivax962 Messages postés 3742 Statut Membre -
BONJOUR
Mon code affiche le message d'erreur suivant:
Warning: fopen(C:\Thalia\Paye82\TEMP\BGS/PointageSBS.csv): failed to open stream: No such file or directory in C:\wamp\www\module-importation pointage\traitement_pointage.php on line 16

Alors que le fichier est bien présent à l'endroit indiqué.
Le repertoire est bien accessive et bien modifiable.

voici mon code php

<?php
session_start();


$conn=odbc_connect('ODBC_SBS','sa','IsXRDWZP1g0bKrSpCiXS');

/*$req_sup="DELETE FROM Pointage ";

$requete_sup = odbc_do($conn, $req_sup) ;*/



/* On ouvre le fichier à importer en lecture seulement */

$filex = fopen("C:\Thalia\Paye82\TEMP\BGS/PointageSBS.csv", "r");

while (!feof($filex)) /* Et Hop on importe */
{ /* Tant qu'on n'atteint pas la fin du fichier */
$ligne = fgets($filex,4096); /* On lit une ligne */

if(strlen($ligne)){

/* On récupère les champs séparés par ; dans liste*/
$liste = explode( ";",$ligne);

/* On assigne les variables */

$CodeAnalytique = $liste[0];
$DatePointage = $liste[1];
$Matricule = $liste[2];
$NbSaisie = $liste[3];
$TypePointage = $liste[4];



/* Ajouter un nouvel enregistrement dans la table */
$query = "INSERT INTO Pointage (CodeAnalytique,DatePointage,Matricule,NbSaisie,TypePointage) VALUES('$CodeAnalytique','$DatePointage','$Matricule','$NbSaisie','$TypePointage')";

//echo( "<center>".$query."<br>" ) ;


$result= odbc_do($conn,$query) ;



}
}



if($result=($result))
{
?>
<script type="text/javascript">
alert('pointages de SBS import\és avec succ\ès!');
document.location.href = 'index.php?page=page_acceuil';
</script>
<?php
}else{

?>
<script type="text/javascript">
alert('Echec import!!!');
document.location.href = 'index.php?page=page_affectation_etablissement';
</script>
<?php
}


?>



AIDER MOI SVP
A voir également:

3 réponses

Reivax962 Messages postés 3742 Statut Membre 1 011
 
Bonjour,

Quelques pistes / remarques :
1 - Le fichier est bien situé sur ton serveur, pas sur ton poste client ?
2 - Tu donnes le chemin du fichier entre des guillemets, du coup il faudrait échapper les anti-slashes
2bis - À tout hasard, essaie d'uniformiser ton chemin : tu mélanges des / et des \. Pour plus de rigueur, mets donc :
fopen("C:\\Thalia\\Paye82\\TEMP\\BGS\\PointageSBS.csv", "r");


Xavier
1
Utilisateur anonyme
 
Bonjour Xavier

Le mélange des / et \ ne pose pas de problèmes chez moi, même si ce n'est pas top.
Le \ n'a pas besoin d'être échappé ici car toujours suivi d'une majuscule. D'ailleurs le message d'erreur contient bien le nom complet du chemin d'accès au fichier avec ses "\". Fais l'essai avec un "C:\temp" et un "C:\Temp", tu verras la différence.
0
Reivax962 Messages postés 3742 Statut Membre 1 011
 
(Je ferai l'essai à l'occasion, pour le moment je n'ai pas de serveur sous la main. Merci pour ces infos !)
0
Utilisateur anonyme
 
Bonjour

"Alors que le fichier est bien présent à l'endroit indiqué"

Peux-tu montrer une capture d'écran qui montre ton fichier PointageSBS.csv dans une fenêtre de l'explorateur Windows, avec l'arborescence des répertoires ?
0
jordane45 Messages postés 40050 Date d'inscription   Statut Modérateur Dernière intervention   4 759
 
Bonjour
Apache, par défaut, n'autorise pas à aller chercher des fichiers en dehors de la racine....
As tu essayé de placer le fichier dans le même dossier que ton application ??
dans
C:\wamp\www\module-importation pointage\


0
Utilisateur anonyme
 
Bonjour Jordane

Il s'agit d'un fichier local (C:), il n'y a pas de raison qu'Apache soit concerné.

D'ailleurs, le message ne parle pas d'autorisation d'accès mais bel et bien de l'existence même du dossier ou du fichier.
0