IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Saut de ligne sous Mac


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Points
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Par défaut Saut de ligne sous Mac
    Bonjour,

    J'ai un problème pour mon script d'import de csv créé sur Mac.
    Tout marche parfaitement bien si je crée le CSV sur Windows, mais pas sur mon mac... En effet, les saut de ligne ne sont pas reconnus et mon script ne me considère qu'une seule ligne !!

    J'ai essayé la directive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    auto_detect_line_endings = On
    dans php.ini, mais cela ne règle pas le problème...

    Je vous mets le bout de code correspondant...

    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
    	protected function importation() {
    		global  $listTypesGroupe; 
    		/* INITIALISATION */
    		$date = date("ymd-His-"); //Timestamp courant par défaut
    		$nomDestination = 'QCM'.$date.$_FILES['fichier']['name'];
    		$fichier = ROOT_URL.FOLDER_DATA.'/'.$nomDestination ;		
    		$errorImport = $infoImport = '';
     
    		/* GESTION DU FICHIER IMPORTE */
    		if(is_uploaded_file($_FILES["fichier"]["tmp_name"])) {
    			if (move_uploaded_file($_FILES["fichier"]["tmp_name"],  $fichier)) {
    				$fp = fopen ($fichier, "r");	
    				$cpt = 0; 					
    				$cptLigne = 0; 				
     
    				while (!feof($fp))
    				{
    					$ligne = fgets($fp,4096);  
     
    					echo 'ligne '.$cpt.' : '.$ligne.'<br/>'; 
     
    					$liste = explode(";",$ligne);	
    					$numero    		= (isset($liste[0])) ? $liste[0] : Null;
    					$note 			= (isset($liste[1])) ? $liste[1] : Null;
    					$cptLigne++;
     
    					if ($numero != '' && $note != '') {
    						$numero    	= trim($numero); // SUppression des espaces avant ou après la chaine
    						$note		= trim($note);
    						$cpt++;
    Si quelqu'un avait une idée, ça m'enlèverai une grosse épine du pied...

    Merci d'avance,

  2. #2
    FoxLeRenard
    Invité(e)
    Par défaut
    Je connais mal le sujet, mais j'ais vu par recherche qu'il existait des convertisseurs CSV (au départ pour carnet adresse)
    MAC => OS

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Points
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Par défaut
    Citation Envoyé par FoxLeRenard Voir le message
    Je connais mal le sujet, mais j'ais vu par recherche qu'il existait des convertisseurs CSV (au départ pour carnet adresse)
    MAC => OS
    C'est effectivement une solution, mais ça ne me convient pas... il n'y a pas de raison, je devrais pouvoir y arriver quelque soit l'Os de génération du CSV...

  4. #4
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par albedo0 Voir le message
    C'est effectivement une solution, mais ça ne me convient pas... il n'y a pas de raison, je devrais pouvoir y arriver quelque soit l'Os de génération du CSV...
    OK je comprends, mais es-tu certain d'avoir le même encodage sur le MAC et le micro ? je dis ça au cas ou

    charset=ISO-8859-1

    si nom les caractéres de retour de ligne peuvent différés

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Points
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Par défaut
    Citation Envoyé par FoxLeRenard Voir le message
    es-tu certain d'avoir le même encodage sur le MAC et le micro ? charset=ISO-8859-1
    Le problème est clairement lié à l'encodage, mais mon csv étant généré à partir d'excel, j'ai pas le choix sur le type d'encodage à l'origine...
    Quand j'édite mon csv avec smultron (éditeur de txt mac), qui est paramétré en utf8 , et que je refais mon saut de ligne, cela fonctionne nickel.

    Après c'est sûr que je peux me débrouiller pour le "convertir"... mais ce serait tellement mieux que cela fonctionne dans tous les cas !

  6. #6
    FoxLeRenard
    Invité(e)
    Par défaut
    J'en reviens a tes premiers messages et a ce point , pourlequel clairement il ya probléme:


    Lorsque cette option est activée, PHP va examiner les données lues par fgets et file pour voir si le fichier utilise les conventions de ligne de Unix, MS-Dos ou Macintosh.

    Cela permet à PHP de fonctionner avec des systèmes Macintosh, mais par défaut, cette option est désactivée, car cette détection impose un légère pénalité en temps de traitement, mais aussi parce que ceux qui utilisent les retours chariots comme séparateurs auront des soucis de compatibilité.



  7. #7
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Points
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Par défaut
    Effectivement, il y a réellement un problème...

    auto_detect_line_endings = On est censé résoudre mon problème mais sans succès.

    J'ai pas eu le temps cette semaine de régler le problème, mais je reste jusqu'à présent étonné.

  8. #8
    FoxLeRenard
    Invité(e)
    Par défaut
    Citation Envoyé par albedo0 Voir le message
    Effectivement, il y a réellement un problème...

    auto_detect_line_endings = On est censé résoudre mon problème mais sans succès.

    J'ai pas eu le temps cette semaine de régler le problème, mais je reste jusqu'à présent étonné.
    Et en plus tu le sais on ne peut tout connaitre, ou bien on est pas "PRO"
    Alors moi le MAC je domine mal, j'ais juste cherché a t'aider au mieux

    Bon Week-End a toi

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    248
    Points
    231
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 248
    Points : 231
    Par défaut
    Citation Envoyé par FoxLeRenard Voir le message
    Et en plus tu le sais on ne peut tout connaitre, ou bien on est pas "PRO"
    Alors moi le MAC je domine mal, j'ais juste cherché a t'aider au mieux
    Et oui dommage
    Merci quand même !!

Discussions similaires

  1. Saut de ligne sous IE6
    Par rinuom99 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 08/12/2008, 00h58
  2. Script SQL saut de ligne CRLF sous postgres
    Par diabli73 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 16/09/2008, 14h04
  3. [HTML] Saut de ligne en debut de page SOUS IE UTF8
    Par escteban dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 09/06/2008, 11h48
  4. Saut de ligne sous VBA
    Par lg022 dans le forum VBA Access
    Réponses: 2
    Dernier message: 12/02/2007, 12h05
  5. [Mail] Saut de ligne sous Outlook
    Par fpouget dans le forum Langage
    Réponses: 5
    Dernier message: 16/04/2006, 09h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo