Bonjour,

Je suis actuellement en train de réaliser une interface de newsletter avec un des choix possible, importer un fichier csv.

L'interface étant réaliser avec ce qu'il faut, je fais mes test, et là ça fonctionne. Je crée un fichier CSV manuellement, l'enregistre avec l'extension .CSV(séparation ;), et là le drame. Ca ne passe plus. Je ne comprends pas du tout pourquoi. En regardant de plus prés je m'aperçois que le problème viendrait de la fonction fopen(), mais je ne comprends pas pourquoi.

J'ai également un retour d'erreur qui me dit:

Warning: fopen(essai.csv): failed to open stream: No such file or directory in /var/www/function.php on line 9
Or le fichier essai.csv existe belle et bien

Auriez vous une idée.

Voilà ma fonction pour lire le fichier :

(EDIT : Je ne sais pas pourquoi lorsque je post mon code, des étoiles sont ajoutées)

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
 
function open_csv($cheminFichier){
****ini_set('display_errors', TRUE);
****$row = 1;
****$jeux_adresse = array();
*
echo "<br />TEST 1 : ".$cheminFichier;
****if(($fichier = fopen('fichier/'.$cheminFichier,"r")) !== FALSE) {
echo "<br />TEST 2 : ".$cheminFichier;
********while (($donnees = fgetcsv($fichier, 1000, ",")) !== FALSE) {
echo "<br />TEST 3 : ".$cheminFichier;
************$num = count($donnees);
************$row++;
************for ($i=0; $i < $num; $i++) {
****************$jeux_adresse[0] = $donnees[$i];
************}******
********}
********fclose($fichier);
*****
********return $jeux_adresse[0];
****} else {
********echo "erreur";
****}
}
Dans l'exemple ci-dessus, seul mon 1er echo ("<br />TEST 1 : ".$cheminFichier;) s'affiche.

Et voilà le code résultant du formulaire d'import et appelan ma fonction open_csv()

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
34
35
 
if(isset($_POST['btnValid_import']) && trim($_POST['btnValid_import']) == "Envoyer"){
****$extension = pathinfo($_FILES['importMail']['name'], PATHINFO_EXTENSION);
*
****if($extension == 'csv'){
********$adresse_fichier = open_csv($_FILES['importMail']['name']);
****} else {
********header('Location: index.php?error=0');
****}
*
********$adresseMail = explode(';',securiseDonneeForm($adresse_fichier));
*****
********$erreurMail = "";
********$erreurInd = 0;
********$erreurFlag = true;
********$validTab = array();
********$validMail = "";
********$validInd = 0;
********$validFlag = false;
*****
********for ($i=0; $i < count($adresseMail); $i++) {* v
************if(strtolower(trim($adresseMail[$i])) != ""){
****************if(!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", strtolower(trim($adresseMail[$i])))) {
********************$erreurMail .= strtolower(trim($adresseMail[$i])).';';
********************$erreurInd++;
********************$erreurFlag = false;
****************} else {
********************$validTab[$validInd] = strtolower(trim($adresseMail[$i]));
********************$validMail .= strtolower(trim($adresseMail[$i])).';';
********************$validInd++;
********************$validFlag = true;
****************}
************}
********}
}
Par avance merci