Importation fichier

Fermé
isa.dama Messages postés 30 Date d'inscription mardi 15 mai 2018 Statut Membre Dernière intervention 27 avril 2023 - Modifié le 7 août 2018 à 18:25
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 8 août 2018 à 10:10
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 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
8 août 2018 à 08:58
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
8 août 2018 à 09:08
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 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
8 août 2018 à 10:10
(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
Modifié le 7 août 2018 à 19:26
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 38138 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 avril 2024 4 649
8 août 2018 à 08:48
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
Modifié le 8 août 2018 à 08:57
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