[RESOLU] Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

Re: Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

par chaima.abdouli » 25 août 2015, 11:16

C'est bon ça a fonctionné merci en fait l'erreur était

[Mon Aug 24 15:32:15 2015] [error] [client ] PHP Parse error: syntax error, unexpected 'error_reporting' (T_STRING), expecting function (T_FUNCTION) in /var/www/clients/client1/web1/web/batchs/Classes/PHPExcel.php on line 1138

la ligne c'est:

error_reporting(E_ALL);

et elle se trouve dans une classe définition donc je l'ai changé en la mettant au top de PHPExcel.php

Re: Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

par @rthur » 24 août 2015, 19:22

Qu'est-ce qui ne fonctionne pas :
La récupération du fichier original (étape 1) ?
L'envoi du fichier traité (étape 3) ?

Quel est le message d'erreur ?
Si il n'y en a pas, regarde dans les logs, il y en a forcément un et donne nous le code que tu utilises pour les étapes 1 et 3

Re: Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

par chaima.abdouli » 24 août 2015, 11:28

Bonjour ,

J'ai fait ça mais ça fonctionne toujour dans mon serveur local et pas dans l'FTP :?

Re: Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

par @rthur » 21 août 2015, 19:12

Il faut que tu procèdes étape par étape comme je te l'ai indiqué :
1) tu récupères le fichier depuis le FTP distant sur ton serveur local
2) tu effectues ton traitement
3) tu envoies sur le FTP distant le fichier traité

Re: Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

par chaima.abdouli » 21 août 2015, 16:42

Pour le moment il n'affiche aucun message d'erreur ! il retourne une page vide lorsque je le lance

Re: Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

par or 1 » 21 août 2015, 16:38

quel message d'erreur ?

Re: Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

par chaima.abdouli » 21 août 2015, 14:09

Je veux convertir n'importe quel fichier excel en fichier csv directement dans l'ftp .Je vous explique!
Le dépôt du fichier excel se fait quotidiennement par les fournisseurs dans l'FTP.
Je veux avec mon script récuperer ce fichier directement de l'FTP et le convertir dans l'ftp en csv .
Une fois converti , un autre batch se lance automatiquement en l'utilisant pour la mise à jour des stocks.
Ce code permet la conversion en local par contre lorsque j'ai testé ça dans l'FTP j'ai eu des erreurs de chemins !! désolée de la répétition du mot FTP
Et donc je n'ai pas su le faire !je pense qu'il faut jouer sur les premières lignes de code

Re: Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

par @rthur » 21 août 2015, 13:45

Bonjour,

Que veux tu faire exactement :
- télécharger un fichier XLS sur un FTP, le convertir en CSV et l'uploader sur un FTP ?
- prendre un fichier XLS en local, le convertir en CSV puis l'uploader sur un FTP ?

Dans tous les cas, il faut faire la conversion CSV sur le serveur sur lequel tourne PHP et enregistrer le résultat dans un fichier que tu envoies ensuite sur un FTP distant et tu supprimes enfin le fichier local si tu n'en a plus besoin.

Pour télécharger un fichier d'un serveur FTP distant vers ton propre serveur, il faut utiliser la fonction ftp_get()
Pour uploader un fichier de ton serveur vers un serveur FTP distant, il faut utiliser la fonction ftp_put()

Conversion fichiers Ecel en CSV avec PHP et connexion au serveur distant FTP

par chaima.abdouli » 21 août 2015, 12:59

Bonjour ,
Je prépare un script pour convertir les fichiers excel en csv ! En local tout est bon mais je n'arrive pas à le faire dans l'FTP
Que dois je changer du code pour qu'il sera accepté dans l'FTP ?
Voici mon code
<?php
//Afffichage des erreurs PHP
error_reporting(E_ALL);

$DOC_ROOT = $_SERVER['DOCUMENT_ROOT'];
$DOC_ROOT = substr($DOC_ROOT, -1) == "/" ? $DOC_ROOT : $DOC_ROOT."/";

//Mon site se trouve dans le www/web/
$DIR_SITE = $DOC_ROOT."web/";


$fichierIN = $DIR_SITE."export_tarifs.xls";
$fichierOUT = $DIR_SITE."export_tarifs.csv";

// On importe PHPExcel
$phpXlFile = $DIR_SITE."batchs/Classes/PHPExcel.php";
$phpXLfactory = $DIR_SITE."batchs/Classes/PHPExcel/IOFactory.php";
if( !file_exists($phpXlFile)){
 echo "<br> Erreur : Fichier  $phpXlFile introuvable";
 exit();
} 
if( !file_exists($phpXLfactory)){
 echo "<br> Erreur : Fichier  $phpXLfactory introuvable";
 exit();
} 
require_once $phpXlFile;
require_once $phpXLfactory;


if( !file_exists($fichierIN)){
 echo "<br> Erreur : Fichier  $fichierIN introuvable";
 exit();
} 



try {
    $inputFileType = PHPExcel_IOFactory::identify($fichierIN);
    $objReader = PHPExcel_IOFactory::createReader($inputFileType);
    $objPHPExcel = $objReader->load($fichierIN);

		$objWriter = new PHPExcel_Writer_CSV($objPHPExcel);
		$objWriter->save($DOC_ROOT.'web/export_tarifs.csv');
		echo 'File saved to csv format';

} catch(Exception $e) {
    die('Error loading file "'.pathinfo($fichierIN,PATHINFO_BASENAME).'": '.$e->getMessage());
}
?>