Bonjour,
sil vous plait , moi j'aurai besoin de votre aide, c'est vraimen important svp.
Nous recevons un fichier .zip sur nos serveurs via ftp contenant une base d'annonces, une base d'utilisateur ainsi que les images liées au annonces. Nous devons récupérer automatiquement ces fichiers dans notre base de donnée en annule et remplace, svp jai besoin d'un script qui me permet de faire sa merci, franchement je vous serez reconnaissant merci.
cs_JLN
Messages postés371Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention17 juin 2013 17 avril 2013 à 08:46
Bonjour,
Autant pour moi, je n'avais pas pensé que l'encodage du fichier était en utf-8 + bom, j'utilise Edit+ et comme j'avais réglé ANSI par défaut, je croyais que tout fichier modifié été enregistré dans ce format, hors l'ANSI n'est appliqué par défaut que sur les nouveaux fichiers, les anciens gardent leur format. Quand on y réfléchi c'est préférable.
Pour les étoiles, pas étonnant, ce site comporte encore des bugs, moi j'ai déjà eu des post qui ont disparus.
Sinon cette classe n'est pas mal, mais je ne suis pas un as des classes PHP BJ33 a un avis bien plus sure que le mien, alors attendons et laissons les grands parler...
bj33
Messages postés145Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention 1 mai 2012 16 avril 2013 à 21:15
Salut
<<Tu voudrais que j'approfondisse ma classe d'exception bj33 ?
Juste en savoir plus sur le type d'exception, où elle se déclenche, etc.
public function __construct($message null, $code 0) {
if (!$message) {
throw new $this('Inconnu/Unknown '. get_class($this));
}
parent::__construct($message, $code);
}
public function __toString() {
return get_class($this)." '{$this->message}' dans {$this->file} ligne({$this->line})\r\n"."{$this->getTraceAsString()}";
}
}
class Generique extends Customise implements IException {}
interface IException {
public function getMessage();
public function getCode();
public function getFile();
public function getLine();
public function getTrace();
public function getTraceAsString();
public function __toString();
public function __construct($ch_exception,$code = 0);
}
<<Qu'est-ce qui ne va pas ?
Assignation dans une condition.
<<La classe ne déclare pas de bom
évidement, un BOM c'est une suite de métacaractères. Or elle est encodée en UFT-8 avec bom.
En clair, il faut virer ce bom, notepad++ fait çà très bien, ou changer l'encodage.
<<que veux-tu dire au sujet des étoiles, moi j'en ai bien 10 et quand je sélectionne la 8 j'en ai bien 8 de prisent
Ce n'est la première fois, parfois il divise au lieu de multiplier.
cs_JLN
Messages postés371Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention17 juin 2013 16 avril 2013 à 07:28
inwebo : Merci pour l'info, mais je ne peux pas modifier la config php de mon serveur, je suis en iso 8859-1 et tout mon site tourne très bien comme ca.
La classe ne déclare pas de bom, elle ne devrait donc pas altérer l'échange, de plus la connexion effectuée l'affichage des données fonctionne sans sourciller, comment expliquer cela ??? Je suis peut-être nulle (allez savoir) mais j'aime comprendre !
bj33 : que veux-tu dire au sujet des étoiles, moi j'en ai bien 10 et quand je sélectionne la 8 j'en ai bien 8 de prisent ???
Bon en sois le problème d'encodage ne vient pas de mon code c'est ça ?
Tu voudrais que j'approfondisse ma classe d'exception bj33 ?
"<_stream, $directory))
Aïe... Devrait être corrigé."
Qu'est-ce qui ne va pas ?
bj33
Messages postés145Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention 1 mai 2012 15 avril 2013 à 18:31
La note, c'est 8 pour moi. Normalement, si je clique sur 4 j'ai 8!? ben non c'est 2... Donc 8.
bj33
Messages postés145Date d'inscriptionvendredi 13 juin 2003StatutMembreDernière intervention 1 mai 2012 15 avril 2013 à 18:27
Salut
<<J'ai sur la page ces 3 caractères : 
Typique du problème d'encodage utf-8. Tu envois de l'utf-8 et le serveur te renvois de l'iso.
Bonne base à dévelloper. Déporter les paramètres, gestion des exceptions(la classe) plus complète(c'est quand même du ftp), par exemple.
C'est à dire en retour ? Chez moi la connexion s'effectue sans aucun problème :)
Une connexion sécurisée peut-être ouverte (sur les serveurs la supportant) en utilisant avant la fonction "connect" la fonction "setParams"
Ex:
$ftp->setParams(21,90,false,true);
cs_JLN
Messages postés371Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention17 juin 2013 13 avril 2013 à 11:03
Après un court test, la connexion s'effectue, mais en retour j'ai quelques caractères bizarre : ""
As-tu une explication ?
J'ai aussi vu que tu avais prévu le SFTP (pas encore testé) peux-tu en dire plus ?
cs_JLN
Messages postés371Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention17 juin 2013 13 avril 2013 à 08:13
Bonjour,
Je n'ai pas encore essayé cette classe, mais elle a l'air bien construite.
Je rajouterai pour les novices, de ne pas oublier les valeurs pour les variables $host, $user et $password depuis un formulaire par exemple, pour $host elle peut être déclarée en dur s'il s'agit toujours du même serveur. Bien entendu, il faut qu'a l'autre bout il y ait un serveur FTP.
Même si le code à l'air documenté, ces explications manquait je pense.
@+ JLN
7 juin 2013 à 21:34
sil vous plait , moi j'aurai besoin de votre aide, c'est vraimen important svp.
Nous recevons un fichier .zip sur nos serveurs via ftp contenant une base d'annonces, une base d'utilisateur ainsi que les images liées au annonces. Nous devons récupérer automatiquement ces fichiers dans notre base de donnée en annule et remplace, svp jai besoin d'un script qui me permet de faire sa merci, franchement je vous serez reconnaissant merci.
21 avril 2013 à 18:48
:)
17 avril 2013 à 08:46
Autant pour moi, je n'avais pas pensé que l'encodage du fichier était en utf-8 + bom, j'utilise Edit+ et comme j'avais réglé ANSI par défaut, je croyais que tout fichier modifié été enregistré dans ce format, hors l'ANSI n'est appliqué par défaut que sur les nouveaux fichiers, les anciens gardent leur format. Quand on y réfléchi c'est préférable.
Pour les étoiles, pas étonnant, ce site comporte encore des bugs, moi j'ai déjà eu des post qui ont disparus.
Sinon cette classe n'est pas mal, mais je ne suis pas un as des classes PHP BJ33 a un avis bien plus sure que le mien, alors attendons et laissons les grands parler...
16 avril 2013 à 21:15
<<Tu voudrais que j'approfondisse ma classe d'exception bj33 ?
Juste en savoir plus sur le type d'exception, où elle se déclenche, etc.
abstract class Customise extends Exception implements IException {
protected $message = 'Exception inconnue. Unknown exception';
private $chaine;
protected $code = 0;
protected $fichier;
protected $ligne;
private $trace;
public function __construct($message null, $code 0) {
if (!$message) {
throw new $this('Inconnu/Unknown '. get_class($this));
}
parent::__construct($message, $code);
}
public function __toString() {
return get_class($this)." '{$this->message}' dans {$this->file} ligne({$this->line})\r\n"."{$this->getTraceAsString()}";
}
}
include_once 'Classes/Erreurs/Exceptions/Customise.php';
class Generique extends Customise implements IException {}
interface IException {
public function getMessage();
public function getCode();
public function getFile();
public function getLine();
public function getTrace();
public function getTraceAsString();
public function __toString();
public function __construct($ch_exception,$code = 0);
}
<<Qu'est-ce qui ne va pas ?
Assignation dans une condition.
<<La classe ne déclare pas de bom
évidement, un BOM c'est une suite de métacaractères. Or elle est encodée en UFT-8 avec bom.
http://fr.wikipedia.org/wiki/Indicateur_d%27ordre_des_octets
En clair, il faut virer ce bom, notepad++ fait çà très bien, ou changer l'encodage.
<<que veux-tu dire au sujet des étoiles, moi j'en ai bien 10 et quand je sélectionne la 8 j'en ai bien 8 de prisent
Ce n'est la première fois, parfois il divise au lieu de multiplier.
16 avril 2013 à 07:28
La classe ne déclare pas de bom, elle ne devrait donc pas altérer l'échange, de plus la connexion effectuée l'affichage des données fonctionne sans sourciller, comment expliquer cela ??? Je suis peut-être nulle (allez savoir) mais j'aime comprendre !
bj33 : que veux-tu dire au sujet des étoiles, moi j'en ai bien 10 et quand je sélectionne la 8 j'en ai bien 8 de prisent ???
Bonne prog.
@+ JLN
15 avril 2013 à 20:20
Tu voudrais que j'approfondisse ma classe d'exception bj33 ?
"<_stream, $directory))
Aïe... Devrait être corrigé."
Qu'est-ce qui ne va pas ?
15 avril 2013 à 18:31
15 avril 2013 à 18:27
<<J'ai sur la page ces 3 caractères : 
Typique du problème d'encodage utf-8. Tu envois de l'utf-8 et le serveur te renvois de l'iso.
Bonne base à dévelloper. Déporter les paramètres, gestion des exceptions(la classe) plus complète(c'est quand même du ftp), par exemple.
<_stream, $directory))
Aïe... Devrait être corrigé.
15 avril 2013 à 17:46
require 'FTP.class.php';
qu'il faut mettre !
15 avril 2013 à 14:17
Regarde si le fichier à un BOM (Byte Order Mark) si il est présent supprime le.
15 avril 2013 à 07:28
require("test_ftp/FTPclass.php");
J'ai sur la page ces 3 caractères : 
Bizarre non ???
Sinon, la connexion se fait et j'obtiens la liste des dossiers (pas été plus loin pour le moment).
14 avril 2013 à 20:18
14 avril 2013 à 18:38
Une connexion sécurisée peut-être ouverte (sur les serveurs la supportant) en utilisant avant la fonction "connect" la fonction "setParams"
Ex:
$ftp->setParams(21,90,false,true);
13 avril 2013 à 11:03
As-tu une explication ?
J'ai aussi vu que tu avais prévu le SFTP (pas encore testé) peux-tu en dire plus ?
13 avril 2013 à 08:13
Je n'ai pas encore essayé cette classe, mais elle a l'air bien construite.
Je rajouterai pour les novices, de ne pas oublier les valeurs pour les variables $host, $user et $password depuis un formulaire par exemple, pour $host elle peut être déclarée en dur s'il s'agit toujours du même serveur. Bien entendu, il faut qu'a l'autre bout il y ait un serveur FTP.
Même si le code à l'air documenté, ces explications manquait je pense.
@+ JLN
12 avril 2013 à 16:41